一种多媒体数据的存储方法及精确定位回放位置的方法

文档序号:7921387阅读:289来源:国知局
专利名称:一种多媒体数据的存储方法及精确定位回放位置的方法
技术领域
本发明涉及多媒体技术领域,具体的说是一种多媒体数据的存储 方法及精确定位回放位置的方法。
背景技术
随着编码技术和宽带网络技术的发展,视频流媒体业务得到了迅
速发展。IPTV作为一种新型应用业务,已得到广泛发展和重视,在 IPTV时移系统中,需要在流媒体存储服务器中存储实时的音、视频 数据,这就需要有良好的数据组织方式以满足用户特定的需求。
随着网络带宽的提高,利用以太网络的视频会议系统中的录播系 统,电信级的视频监控系统都需要在流媒体存储服务器中存储大量的 音、视频实时数据供客户使用。
目前,流媒体存储服务器按通用文件格式存储音、视频主要面临 的问题如下
1、 实时存储的音、视频数据在生成一个通用格式文件以前,无
法对文件进行回放,例如实时存储T分钟的音频流和视频流为一个
文件,那么在这T分钟内(在这个文件存储结束以前),将不能对这
个文件进行回放,这将不能很好的支持一些领域实时回放的要求,如 监控录像的实时回放。
2、 快进、快退搜索关键帧的算法不是最优,回放服务器将受制
于流媒体存储服务器存储音、视频的文件格式,当流媒体存储服务器 采用一种新的文件格式存储音、视频后,回放服务器还要做相应修改。
3、 精确定位到某一时间点回放相对困难。 发明内容针对现有技术中存在的缺陷,本发明的目的在于提供一种多媒体 数据的存储方法及精确定位回放位置的方法,音、视频数据可以实时 存储、实时回放,可以精确定位回放位置。
为达到以上目的,本发明采取的技术方案是-
一种多媒体数据的存储方法,所说的多媒体数据包括音频流和视 频流,其特征在于存储的具体步骤为-
(1) 当流媒体存储服务器开始存储音频流和视频流时,流媒体 存储服务器先调用存储算法在存储介质上产生一个用于存储音频流 和视频流的数据文件A和一个用于记录视频流中的视频关键帧在数
据文件A中存放位置的索引文件B,所说的视频关键帧为I帧;
(2) 存储算法在索引文件B中写入文件头信息,同时将数据文 件A的文件名、音频流和视频流的开始时间、结束时间、所属的视频 频道、文件结束标志信息写到数据库中,结束时间暂时填入o代替, 文件结束标志信息为未结束,所说的文件头信息长度固定,至少包括 版本、视频格式、音频格式、采样率、时间刻度和其它信息六项内容;
(3) 存储算法接收音、视频捕捉设备发来的多媒体数据包,去 掉包头组成音频帧和视频帧后,将音频帧和视频帧写入数据文件A; 其记录格式为音频帧和视频帧的长度、音频帧和视频帧的rtp时间 戳、音频帧和视频帧的类型、音频帧和视频帧内容;
(4) 存储算法判断当前视频帧是否为视频关键帧I帧,如果是 则获取当前视频帧在数据文件A中的位置,然后执行步骤(5),如果 不是,则执行步骤(3),继续接收下一个多媒体数据包;
(5) 存储算法将步骤(4)得到的位置信息写入到索引文件B中, 同时在位置信息后面加上边界标志0x0d0a0d0a;
(6) 重复步骤(3)到步骤(5)的过程,直到一个文件存储的 时间片到期,到期后,存储算法获取流媒体存储服务器的绝对时间, 更新数据库中相应的音频流和视频流的结束时间和文件结束标志信 息为存储算法获取的流媒体存储服务器的绝对时间和已结束。
一种多媒体数据的精确定位回放位置的方法,所说的多媒体数据是按权利要求1所述的方法存储的,其特征在于回放的具体步骤为 (1 )流媒体存储服务器获取用户在终端输入的指定的多媒体文
件的播放开始时间点;
(2 )流媒体存储服务器从数据库中査找该指定的多媒体文件,
如果找不到,流媒体存储服务器向终端发送出错信息,通知用户指定
的多媒体文件不存在;
(3) 如果找到该指定的多媒体文件,流媒体存储服务器调用定 位算法打开索引文件B,计算播放开始时间点在索引文件B中的位置 Pb,然后在索引文件B的Pb处获取视频关键帧在数据文件A中的位 置信息Pa,计算Pb的算法为Pb- (播放开始时间一文件开始时间) / (文件结束时间一文件开始时间)X (索引文件长度一索引文件B 的文件头信息长度);
(4) 流媒体存储服务器调用存储算法读取数据文件A中Pa位置
的多媒体数据,发送多媒体数据到客户端;
(5) 当发送完步骤(4)中的多媒体数据后,存储算法依次读取 索引文件B中的下一个视频关键帧在数据文件A中的位置信息Pa, 重复步骤(4),直到多媒体文件的数据全部发送完毕。
本发明所述的多媒体数据的存储方法及精确定位回放位置的方 法,音、视频数据可以实时存储、实时回放,可以精确定位回放位置。


本发明有如下附图-
图1多媒体数据的存储方法及精确定位回放位置的方法的业务 场合的应用模式架构示意图
具体实施例方式
以下结合附图对本发明作进一步详细说明。本发明给出了 一种多媒体数据的存储方法,所说的多媒体数据包 括音频流和视频流,存储的具体步骤为
(1) 当流媒体存储服务器开始存储音频流和视频流时,流媒体 存储服务器先调用存储算法在存储介质上产生一个用于存储音频流 和视频流的数据文件A和一个用于记录视频流中的视频关键帧在数
据文件A中存放位置的索引文件B,所说的视频关键帧为I帧;
(2) 存储算法在索引文件B中写入文件头信息,同时将数据文 件A的文件名、音频流和视频流的开始时间、结束时间、所属的视频 频道、文件结束标志信息写到数据库中,结束时间暂时填入o代替, 文件结束标志信息为未结束,所说的文件头信息长度固定,至少包括 版本、视频格式、音频格式、采样率、时间刻度和其它信息六项内容;
(3) 存储算法接收音、视频捕捉设备发来的多媒体数据包,去 掉包头组成音频帧和视频帧后,将音频帧和视频帧写入数据文件A; 其记录格式为音频帧和视频帧的长度、音频帧和视频帧的rtp时间 戳、音频帧和视频帧的类型、音频帧和视频帧内容;
(4) 存储算法判断当前视频帧是否为视频关键帧I帧,如果是 则获取当前视频帧在数据文件A中的位置,然后执行步骤(5),如果 不是,则执行步骤(3),继续接收下一个多媒体数据包;
(5) 存储算法将步骤(4)得到的位置信息写入到索引文件B中, 同时在位置信息后面加上边界标志0x0d0a0d0a;
(6) 重复步骤(3)到步骤(5)的过程,直到一个文件存储的 时间片到期,到期后,存储算法获取流媒体存储服务器的绝对时间, 更新数据库中相应的音频流和视频流的结束时间和文件结束标志信 息为存储算法获取的流媒体存储服务器的绝对时间和已结束。边界 标志0x0d0a0d0a还可以是其它适合的字符串,边界标志可以采用现 有技术实现。
在上述技术方案的基础上,本发明给出了还给出了一种多媒体数 据的精确定位回放位置的方法,所说的多媒体数据是按上述的多媒体 数据的存储方法存储的,回放的具体步骤为(1)流媒体存储服务器获取用户在终端输入的指定的多媒体文
件的播放开始时间点;
(2 )流媒体存储服务器从数据库中査找该指定的多媒体文件, 如果找不到,流媒体存储服务器向终端发送出错信息,通知用户指定 的多媒体文件不存在;
(3) 如果找到该指定的多媒体文件,流媒体存储服务器调用定 位算法打开索引文件B,计算播放开始时间点在索引文件B中的位置 Pb,然后在索引文件B的Pb处获取视频关键帧在数据文件A中的位 置信息Pa,计算Pb的算法为Pb=(播放开始时间一文件开始时间) / (文件结束时间一文件开始时间)X (索引文件长度一索引文件B 的文件头信息长度);
(4) 流媒体存储服务器调用存储算法读取数据文件A中Pa位置 的多媒体数据,发送多媒体数据到客户端;
(5) 当发送完步骤(4)中的多媒体数据后,存储算法依次读取 索引文件B中的下一个视频关键帧在数据文件A中的位置信息Pa, 重复步骤(4),直到多媒体文件的数据全部发送完毕。
以下结合图1,进一步说明本发明所述的多媒体数据的存储方法 及精确定位回放位置的方法。如图1所示,终端客户的ip地址为 192. 168. 0. 10,音、视频监控点一 CH1的ip地址为192. 168. 0. 5, 音、视频监控点二 CH2的ip地址为192. 168. 0. 6,这两个监控点产 生实时的音频、视频数据并发往ip地址为192. 168. 0. 155的流媒体 存储服务器(简称为存储服务器),由流媒体存储服务器接收并存储, 流媒体存储服务器上还设有数据库。根据上述拓扑结构,应用本发明 所述方法的具体过程如下-
假定音、视频监控点一CH1、音、视频监控点二CH2都己经部署 好,并向流媒体存储服务器发送实时的音频、视频数据。流媒体存储 服务器设置情况如下:对CH1设置的每个文件存储时间片为1个小时, 对CH2设置的每个文件存储时间片为1. 5小时,存储服务器在绝对时间10003600秒开始存储频道CHI, CH2媒体数据。
当CH1在绝对时间10003600的媒体数据到存储服务器时(CH2 媒体数据的存储过程与CH1相同,下面仅以CH1媒体数据的存储为 例)
存储服务器首先调用存储算法(该存储算法保存在存储服务模块 中供系统调用)建立数据文件A: Al.av,索引文件B: Al.idx两个 空文件,其中Al.av存储音、视频数据,Al. idx存储视频关键帧在 Al.av中的位置。
存储算法在Al. idx中写入文件头信息,同时将Al. av的文件名 "Al.av"和音频流和视频流的开始时间10003600、结束时间0、 所属的视频频道CH1、文件结束标志信息未结束写到数据库中,
未结束可以用o代替,如果文件已结束则用1代替。
然后,存储算法接收音、视频捕捉设备发来的多媒体数据包,去 掉包头对数据包进行组帧处理,组成完整的一个音频帧和视频帧后,
写入Al.av,如果存储算法判定视频帧为关键帧,则存储算法还要在 Al. idx文件中写入该帧在Al.av中的位置,如果是该文件的第一个 关键帧,在数据库中记录文件开始存储的时间,其记录格式如图l, 数据库记录格式。
重复接收数据包、组帧、存储音频帧和视频帧、记录关键帧位置 过程,直到该文件的时间片结束,关闭Al.av和Al.idx,更新数据 库中文件结束时间标记,例如,如图1所示,CH1在10007200秒文 件存储完毕,CH2的A2. av在100010800秒结束。准备开始下一个文 件的存储,重复上述存储过程。
下面继续描述精确定位回放时间点的方法,依然是以Al.av为 例,假设客户想要从绝对时间10005000秒开始观看Al. av记录的视 频录像,客户从终端客户上向存储服务器发送回放请求,该请求的格 式可以为rtsp:〃192. 168.0. 155/CH1—10005000。存储服务器接收 到请求后解析出开始播放时间为10005000、频道为CH1,根据该频道 和播放时间定位到要播放的时间段记录条目,本例定位到文件Al. av,开始时间为10003600秒,结束时间为100072000秒,文件录制标志 标记文件录制已结束。
打开关键帧索引文件Al. idx,得到文件长度Ll和Al. idx的文 件头信息长度L2,依据如下公式求出该时间点的关键帧在索引文件 中的位置Pb= (10005000 —100036000) /(10007200 —10003600) X (Ll一12),在Al. idx的Pb处获取视频关键帧在Al.av中的位置信 息Pa,打开Al.av并定位到Pa位置,读出数据及时间戳,按时间戳 之间的相对间隔发送数据到客户端。
如图l所示的A3.av,当一个时间片的数据文件A还没有存储完 毕时,那么它在数据库中记录的结束时间为0,如用户发送 rtsp:〃192. 168. 0. 155/CH2—100011000,那么存储服务器将会定位到 文件A3.av,由于此时A3.av还没有存储完毕,其结束时间为0,表 明文件还没结束,这时存储服务器取系统时间Tl作为文件结束时间, 当然T1要大于100011000,否则回复该时间段文件不存在。取A3, idx 的文件长度L1和文件头信息长度L2,依据如下公式求出该时间点的 关键帧在索引文件中的位置Pb= (100011000_100010800) /(Tl一 100010800) X (L1—L2),在A3. idx的Pb处获取视频关键帧在A3, av 中的位置信息Pa,打开A3, av定位到位置Pa,读出数据及时间戳, 按时间戳之间的相对间隔发送数据到客户端。
本发明的特点如下-
1、 将多媒体数据和视频数据的关键帧的位置分开存储,可以减 少文件指针在一个文件中来回移动的次数。
2、 记录关键帧位置的文件使用固定头长,可使得回放时候能提 供更多的有用信息给客户,如SDP信息。
3、 多媒体数据存放采用固定的记录格式,关键帧索引文件也采 用固定的记录格式,并固定每条索引记录的大小,这是精确定位的基 础。
4、 在每条存取关键帧记录中添加边界识别码提高索引文件的容错性。
5、 在数据库中维护每个数据文件的所属频道,开始录制时间, 结束时间等信息,能提高存储算法、定位算法的计算效率。
6、 给出的定位公式能精确定位到指定的媒体流位置。
本发明文件组织方式简单有效,媒体定位精确,在当前文件还没 有存储完毕关闭的情况下,能一边存储一边回放,同时该方法也能精 确定位媒体数据。索引文件记录字段加上边界标志具有很好的容错能
力。该方法能广泛的用于视频监控、iptv时移、视频会议录播等系
统实时存储和回放方案。同时对一些特殊应用稍加变型,就能满足应 用需求,具有较好的扩展性。
以上对本发明所提供的一种能即时回放的媒体数据存放方式以 及精确定位回放位置的方法进行了详细介绍,本文中应用了具体个例 对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于
帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术
人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变 之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1. 一种多媒体数据的存储方法,所说的多媒体数据包括音频流和视频流,其特征在于存储的具体步骤为(1)当流媒体存储服务器开始存储音频流和视频流时,流媒体存储服务器先调用存储算法在存储介质上产生一个用于存储音频流和视频流的数据文件A和一个用于记录视频流中的视频关键帧在数据文件A中存放位置的索引文件B,所说的视频关键帧为I帧;(2)存储算法在索引文件B中写入文件头信息,同时将数据文件A的文件名、音频流和视频流的开始时间、结束时间、所属的视频频道、文件结束标志信息写到数据库中,结束时间暂时填入0代替,文件结束标志信息为未结束,所说的文件头信息长度固定,至少包括版本、视频格式、音频格式、采样率、时间刻度和其它信息六项内容;(3)存储算法接收音、视频捕捉设备发来的多媒体数据包,去掉包头组成音频帧和视频帧后,将音频帧和视频帧写入数据文件A;其记录格式为音频帧和视频帧的长度、音频帧和视频帧的rtp时间戳、音频帧和视频帧的类型、音频帧和视频帧内容;(4)存储算法判断当前视频帧是否为视频关键帧I帧,如果是则获取当前视频帧在数据文件A中的位置,然后执行步骤(5),如果不是,则执行步骤(3),继续接收下一个多媒体数据包;(5)存储算法将步骤(4)得到的位置信息写入到索引文件B中,同时在位置信息后面加上边界标志OxOdOaOdOa;(6)重复步骤(3)到步骤(5)的过程,直到一个文件存储的时间片到期,到期后,存储算法获取流媒体存储服务器的绝对时间,更新数据库中相应的音频流和视频流的结束时间和文件结束标志信息为存储算法获取的流媒体存储服务器的绝对时间和已结束。
2. —种多媒体数据的精确定位回放位置的方法,所说的多媒体 数据是按权利要求l所述的方法存储的,其特征在于回放的具体步 骤为-(1) 流媒体存储服务器获取用户在终端输入的指定的多媒体文件的播放开始时间点;(2) 流媒体存储服务器从数据库中査找该指定的多媒体文件, 如果找不到,流媒体存储服务器向终端发送出错信息,通知用户指定 的多媒体文件不存在;(3) 如果找到该指定的多媒体文件,流媒体存储服务器调用定 位算法打开索引文件B,计算播放开始时间点在索引文件B中的位置 Pb,然后在索引文件B的Pb处获取视频关键帧在数据文件A中的位 置信息Pa,计算Pb的算法为Pb=(播放开始时间一文件开始时间) / (文件结束时间一文件开始时间)X (索引文件长度一索引文件B 的文件头信息长度);(4) 流媒体存储服务器调用存储算法读取数据文件A中Pa位置 的多媒体数据,发送多媒体数据到客户端;(5) 当发送完步骤(4)中的多媒体数据后,存储算法依次读取 索引文件B中的下一个视频关键帧在数据文件A中的位置信息Pa, 重复步骤(4),直到多媒体文件的数据全部发送完毕。
全文摘要
一种多媒体数据的存储方法及精确定位回放位置的方法,涉及多媒体技术领域,所说的存储方法将音频流和视频流存储到数据文件A中,同时在索引文件B中存储视频流中的视频关键帧在数据文件A中存放位置,使得存储的多媒体数据能满足普通播放、快进、快退等方式检索数据的需求,并能一边存储一边播放而无需等到文件存储结束。本发明所述的多媒体数据的存储方法及精确定位回放位置的方法,音、视频数据可以实时存储、实时回放,可以精确定位回放位置。
文档编号H04N5/93GK101420577SQ200810175870
公开日2009年4月29日 申请日期2008年11月7日 优先权日2008年11月7日
发明者刘金伟, 贺波涛 申请人:武汉烽火网络有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1