CN1223191C - 会议电视流媒体数据管理方法 - Google Patents
会议电视流媒体数据管理方法 Download PDFInfo
- Publication number
- CN1223191C CN1223191C CN 02122302 CN02122302A CN1223191C CN 1223191 C CN1223191 C CN 1223191C CN 02122302 CN02122302 CN 02122302 CN 02122302 A CN02122302 A CN 02122302A CN 1223191 C CN1223191 C CN 1223191C
- Authority
- CN
- China
- Prior art keywords
- media data
- file
- data
- statistics
- format
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种涉及数字信息的传输的会议电视流媒体数据管理方法,在会议进行当中,接收媒体数据后,进入媒体数据统计层,生成建立数据统计文件,用于记录统计格式转换时所需要生成的文件格式中的数据结构大小等信息,在会议结束后,根据所接收到的媒体数据的统计文件确定格式转换时所需要的文件格式的数据结构及相关信息,进行格式转换,根据统计文件给出的媒体数据各原子所含结构数量,开辟定长的用于媒体数据描述的各原子结构空间,并根据数据统计文件中其他信息,一次性在内存中操作对各原子的各个结构赋值,最后写入文件从而生成流格式文件,本发明提供了一种可靠、高效的会议电视流媒体数据管理方法。
Description
技术领域
本发明涉及数字信息的传输,尤其涉及一种会议电视流媒体数据管理方法。
背景技术
在现有技术中,如果要在流媒体会议电视系统中实现点播功能,必须在流媒体会议直播或制作过程中完成流媒体视音频数据的实时接收存储和流媒体格式转换工作。
流媒体会议存储过程中,由于每路会议的持续时间是不确定的,且要处理的流媒体视音频数据量也是巨大的;所以对于流媒体会议电视系统而言,要想尽可能多地存储会议,提高产品的竞争力,就必须对流媒体视音频数据进行实时接收并加以存储。
现有技术中的流媒体视频会议实时存储是指流媒体会议直播时的视音频媒体数据的存储过程。图1为一个典型的会议电视流媒体直播和点播解决方案,其中:实线表示流媒体直播时视音频媒体数据的走向,虚线表示点播时媒体数据和指令的走向,直播时,视音频数据首先经会议电视终端编解码处理形成码流发送给会议电视多点控制单元(MCU:Multiple Control Unit);然后多点控制单元转发视音频码流数据到流媒体服务器特定端口;接着客户端根据需要点击相应会议链接;接着流媒体服务器响应链接请求转发相应端口的视音频数据给客户端播放。在直播过程中,当有流媒体存储需求时,流媒体服务器会发送存储消息通知存储服务器,并向存储服务器特定端口转发视音频编码数据,存储服务器接收到流媒体服务器消息后,就会在指定端口接收视音频编码数据,并存储转化为可供点播的媒体文件。点播时,首先,用户根据需要点击网页面上相应会议媒体文件链接;然后,流媒体服务器响应链接请求并根据直播存储得到的媒体文件发送相应视音频媒体数据给客户端。由上所述可知,存储模块对视频会议点播系统实现和质量起着关键作用。
当前,世界上占主导地位的流媒体平台主要有三个,即:Apple公司的QuickTime Darwin Streaming Server、微软公司的Windows Media和Real公司的Real Server,这三个流媒体平台在完成流媒体点播的视音频流数据发送过程中都要求读取各自对应的流媒体格式文件,其中,Apple公司的是mov格式、微软公司的是ASF格式、Real公司的是rm格式,在这些结构定义有所不同的格式中,为了支持流媒体点播的时间任意性及其他相关特性,这些流媒体格式都采用了如下相同的策略:
a、文件格式由视音频媒体数据、视音频媒体描述信息和其他相关信息组成。其中,视音频媒体数据是真正的视音频编码码流;视音频描述信息用于描述视音频媒体数据类型、同步时间点等信息;其他相关信息则包括版权等用户信息。
b、都是采用对视音频媒体数据分“时间片”描述的策略来实现点播的时间任意性及其他相关特性的同步。由于在流媒体会议召开之前或进行当中,流媒体会议结束时间是不明确或不可预知的,也就是说,流媒体会议持续时间不确定,所以视音频媒体描述数据是动态的。对此,上面的三个公司都提供了各自相应格式存储的开发工具包,来实现流媒体格式转换,但三种开发工具包的运行过程却大致相同,具体如下:在流媒体会议电视存储过程中,每当来一个媒体数据包,开发工具包函数就会相应开辟一组描述这一媒体数据包的数据结构,并根据媒体数据的情况,把相关信息写入到这组数据结构中;当流媒体会议结束后,程序调用另外一个开发工具包函数把这些已经得到的信息写入到文件格式中,从而完成格式转换存储,生成流格式文件。
从上可知,这里的信息数据结构就是格式文件中对应的数据结构,开发工具包函数给出的技术方案实质上是以文件格式中描述结构的可变性来解决流媒体会议持续时间的不确定性。
在流媒体格式中,必须描述媒体数据包的数据结构组,而且媒体数据包的数据结构组是很多的,以Apple公司的mov格式为例,对一路会议的一个时间点的视音频媒体数据进行描述并且需要生成的格式支持点播来言,需要20个数据结构进行描述,这样,一路会议就需要程序维护20个变长的数据结构。同时,由于媒体数据量巨大,每路会议在每秒钟都可能接收处理例如几十个媒体数据包,假如以n表示个数,就意味着每路会议每秒要开辟n*20个描述结构空间,对于多路会议或者长时间的流媒体会议而言,极易导致内存碎片的产生,进而可能直接导致整个会议存储的失败。另一方面,这种采用动态分配内存的方式如果在断电、死机等异常时,同样会导致整个会议存储的失败;尽管可以通过写入临时文件的方式替代这种动态分配内存的方式,但是这意味着每路会议将有20个I/O操作。对于流媒体会议电视而言,视音频媒体数据量巨大,几十个I/O操作的存在将严重影响会议存储的性能,这将成为流媒体存储服务器提高存储路数的瓶颈。最后,由于每一个媒体数据包的来到,都会影响到格式中某些定长的结构单元的变化,会导致频繁修改更新某个特定的数据结构单元变量,增加实时存储负担。
发明内容
本发明的目的在于提供一种效率高且可靠性强的会议电视流媒体数据管理方法。
本发明所采用的方法为:
A、会议进行当中,接收媒体数据后,媒体数据便进入媒体数据统计层;
B、在媒体数据统计层中,生成并建立数据统计文件,用于记录统计格式转换时所需要生成的文件格式中的数据结构大小信息;
C、在会议结束后,根据所接收到的媒体数据的统计文件确定格式转换时所需要的文件格式的数据结构,进行格式转换,生成流格式文件。
其中,在媒体数据统计层中,只统计分析并记录媒体数据各个原子含有的定长数据结构的数量,而不直接分配记录相应的数据结构;在格式转换时,根据统计文件给出的媒体数据各原子所含结构数量,开辟固定长度的用于媒体数据描述的各原子结构空间,一次性在内存中操作对各原子的各个结构赋值,最后写入文件从而生成流格式文件;会议进行当中,根据媒体数据统计层分析统计得到的数据,定时刷新统计文件。
本发明的原理和有益效果为:在流媒体会议电视中,视音频媒体数据的存储通常是为了会议电视流媒体点播的需要实现的,一般来说,会议电视的流媒体点播并不要求直播完毕后立刻点播节目,这样就可以在对文件格式中变长媒体描述结构的处理以及选择处理的时间上进行调整,在现有技术中,格式转换在会议进行中完成;而在本发明中,格式转换在会议结束后进行,这样就把格式转换的工作与实时存储的过程分离,在不影响系统使用的前提下,提高了系统的效率。
本发明在媒体数据接收存储与格式转换间增加了一媒体数据统计层,该媒体数据统计层生成并建立数据统计文件,统计格式转换时所需要的生成的文件格式中的数据结构大小,待到会议结束后进行格式转换,从而使得格式转换的工作不在宝贵的会议媒体数据接收阶段完成,在会议结束前只对媒体数据进行统计分析,会议期间绝大部分的工作量在接收存储媒体数据,相对增加了流媒体存储服务器能够接收的存储路数,提高了流媒体会议电视存储的可靠性和有效性,而且这种接收存储与格式转换分离的方式,以及在会议进行当中,根据媒体数据统计层分析统计得到的数据,定时刷新统计文件,可以在不增加存储服务器开销的情况下避免死机、断电等灾难所产生的对数据的毁灭性损害,可相对加强会议存储的恢复功能,进一步提高了流媒体会议电视存储的安全性和可靠性。
另外,在媒体数据统计层中,只统计分析并记录媒体数据各个原子含有的定长数据结构的数量,而不直接分配记录相应的数据结构,就避免了会议接收存储时内存的开销,使得会议期间绝大部分的工作量集中在接收存储媒体数据;在格式转换时,根据统计文件给出的媒体数据各原子所含结构数量,开辟定长的用于媒体数据描述的各原子结构空间,并根据数据统计文件中其他信息,一次性在内存中操作对各原子的各个结构赋值,最后写入文件从而生成流格式文件,这样就将现有技术中格式转换中的动态的变长处理转化为一次性的定长处理,可消除内存碎片和重复设置某一结构变量的开销,提高格式转换效率和安全性,进一步提高了本发明的工作可靠性和实用性。
总之,本发明在会议持续时间不确定、流媒体视音频数据量巨大、多路会议同时存储的情况下,提供了一种可靠、高效的会议电视流媒体数据管理方法。
附图说明
图1为现有会议电视流媒体直播和点播解决方案示意图;
图2为现有技术方案示意图;
图3为本发明技术方案示意图。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明:
根据图3,在会议进行当中,接收媒体数据后,进入媒体数据统计层,生成并建立数据统计文件,用于统计格式转换时所需要生成的文件格式中的数据结构大小,其中,媒体数据统计层只统计分析并记录媒体数据各个原子含有的固定长度的数据结构的数量,而不直接分配记录相应的数据结构;在会议结束后,根据所接收到的媒体数据的统计文件确定格式转换时所需要的文件格式的数据结构,进行格式转换,在格式转换时,根据统计文件给出的媒体数据各原子所含结构数量,开辟固定长度的用于媒体数据描述的各原子结构空间,并根据数据统计文件中其他信息,一次性在内存中操作对各原子的各个结构赋值,最后写入文件从而生成流格式文件。
下面,以QuickTime平台的一路流媒体会议为例作进一步详细说明,其中,视频采用H.263协议,音频采用G.711协议,对QuickTime平台的mov格式而言,如果需要支持会议的视频数据及音频数据各一路的远程点播,必须至少包含四个track,本说明中各个英文解释参见本文后部,即:视频track、视频hint track、音频track、音频hint track,其中,视频hint track用于视频track的远程发送,音频hint track用于音频track的远程发送。这四个track结构的定义基本是一致的,每个track中与媒体数据相关动态变长的有五个原子atom结构:stts,stss,stsz,stco,stsc,每个原子都是根据来到的媒体数据信息选择添加或改变一个定长的数据结构来改变大小。
根据以上特性,可以在接收媒体数据时,只统计分析并记录各个原子含有的定长数据结构的个数,而不直接分配记录相应的数据结构,进而避免了会议接收存储时内存的开销,使得会议期间绝大部分的工作量在接收存储媒体数据;当会议结束后,格式转换时根据统计文件给出的媒体数据各原子所含结构数量,开辟固定长度的用于媒体数据描述的各原子结构空间,一次性在内存中操作对各原子的各个结构赋值,最后写入文件从而生成流格式文件。
至于媒体数据统计文件结构的构造,则与track中各个变长原子间存在一定的联系且和采取的规则有关,比如可以采取这样的规则:对于视频track,把一帧图像的数据包当作一个sample,每五帧图像,即五个sample,作为一个chunk,每三帧图像,即三个sample,作为一个关键帧:Sync Frame;对于音频track,把4000个采样值当作一个sample,每五个sample当作一个chunk,音频的每一个sample都作为关键帧:Sync Frame处理;对于hint track的处理,采用和对应track一样的原则方式。视频和音频track的原子中各定长结构订立原则如下表所示:
视频Track | 音频Track | |
Stts | 来源于视频数据统计模块 | 1 |
Stsc | 来源于视频数据统计模块 | 1 |
Stss | 帧数/3 | 0 |
Stco | 帧数/5 | 音频数据量/(4000*5) |
Stsz | 帧数 | 音频数据量/4000 |
依据以上的原则,可以订立以下数据结构作为数据统计文件结构:typedef struct DataCfgStruct{
…
unsigned long VFirstTime;//视频起始时间
unsigned long SFirstTime;//音频起始时间
unsigned long VideoFileSize;//视频码流文件大小
unsigned long VideoFrameNum;//接收到的视频帧数
unsigned long VideoDuration;//接收到视频持续时间
unsigned long VideosttsNum;//视频stts原子数量
unsigned long SoundFileSize;//剥离后音频码流文件大小
unsigned long SoundDuration;//接收到音频持续时间
…}DataCfgStruct;
从上面的结构可以看出,整个结构是固定长度且短小的,根据媒体数据统计层分析统计得到的数据,定时刷新统计文件,可以每次刷新该数据结构后写入文件中,以便于在死机、或断电等情况下读取该统计文件使得整个会议的存储得以恢复。
本说明中的英文解释:
track:轨,多媒体格式文件中常用于标示一段媒体;
hint track:QuickTime的mov文件格式中用于描述一个媒体track远程播放时发送时序的轨;
atom:原子,QuickTime的mov文件格式中最小组成单位;
sample:样本,QuickTime的mov文件格式中媒体数据最小单位;
chunk:块,QuickTime的mov文件格式中播放时用于存取媒体数据的单位;
stts:time to sample,QuickTime的mov文件格式用于表示每个样本时间值的原子;
stss:sync sample,QuickTime的mov文件格式用于表示哪个样本必须播放的原子;
stsz:sample to size,QuickTime的mov文件格式用于表示样本大小的原子;
stco:chunk to offset,QuickTime的mov文件格式用于标示块在媒体文件中偏移量的原子;
stsc:sample to chunk,QuickTime的mov文件格式用于表示样本归属与哪个块的原子。
Claims (4)
1.一种会议电视流媒体数据管理方法,其特征在于,该方法包括如下的步骤:
A、会议进行当中,接收媒体数据后,媒体数据便进入媒体数据统计层;
B、在媒体数据统计层中,生成并建立数据统计文件,用于记录统计格式转换时所需要生成的文件格式中的数据结构大小信息;
C、在会议结束后,根据所接收到的媒体数据的统计文件确定格式转换时所需要的文件格式的数据结构,进行格式转换,生成流格式文件。
2.根据权利要求1所述的会议电视流媒体数据管理方法,其特征在于:在步骤B所述的媒体数据统计层中,只统计分析并记录媒体数据各个原子含有的固定长度的数据结构的数量,而不直接分配记录相应的数据结构。
3.根据权利要求1所述的会议电视流媒体数据管理方法,其特征在于:步骤C所述的格式转换,其具体过程为:根据统计文件给出的媒体数据各原子所含结构数量,开辟固定长度的用于媒体数据描述的各原子结构空间,一次性在内存中操作对各原子的各个结构赋值,最后写入文件从而生成流格式文件。
4.根据权利要求1所述的会议电视流媒体数据管理方法,其特征在于:步骤A所述的会议进行当中,会根据媒体数据统计层分析统计得到的数据,去定时刷新统计文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02122302 CN1223191C (zh) | 2002-05-31 | 2002-05-31 | 会议电视流媒体数据管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02122302 CN1223191C (zh) | 2002-05-31 | 2002-05-31 | 会议电视流媒体数据管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1463158A CN1463158A (zh) | 2003-12-24 |
CN1223191C true CN1223191C (zh) | 2005-10-12 |
Family
ID=29743181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02122302 Expired - Fee Related CN1223191C (zh) | 2002-05-31 | 2002-05-31 | 会议电视流媒体数据管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1223191C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100562093C (zh) * | 2006-06-20 | 2009-11-18 | 中兴通讯股份有限公司 | 会议电视系统与交互式网络电视系统融合的方法及装置 |
CN101110941B (zh) * | 2007-08-17 | 2010-10-13 | 中兴通讯股份有限公司 | 交互式网络电视与会议电视融合的系统及方法 |
CN108513141A (zh) * | 2018-03-26 | 2018-09-07 | 深圳市景阳信息技术有限公司 | 一种数据的收发方法、装置及设备 |
-
2002
- 2002-05-31 CN CN 02122302 patent/CN1223191C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1463158A (zh) | 2003-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101917613B (zh) | 一种流媒体采集编码服务系统 | |
CN1294774C (zh) | 移动通信系统的基于超文本传输协议的视频流设备和方法 | |
EP2270681B1 (en) | Method and apparatus for media data transmission | |
CN1764974A (zh) | 存储多媒体数据的存储介质和再现多媒体数据的方法和设备 | |
CN101212679B (zh) | Avi文件播放时切换多路音频流的av同步方法及装置 | |
CN1221132C (zh) | 实现多种视音频流格式转换的装置和方法 | |
CN101076106A (zh) | Iptv二维帧标记信息互动视频系统 | |
CN1857003A (zh) | 提供视频内容和隐蔽相关错误防护以及调度算法的方法和系统 | |
CN1386375A (zh) | Mpeg-4编码器及这种编码器的输出编码信号 | |
EP2194717A2 (en) | Method for generating and processing hierarchical PES packet for digital satellite broadcasting based on SVC video | |
CN1855095A (zh) | 用于播放基于smil的多媒体内容的系统、方法及引擎 | |
CN101047846A (zh) | 一种在流媒体系统上使用书签的方法 | |
CN102170453A (zh) | 音视频编码方法及缩短点播播放前等待时间的播放方法 | |
CN1444398A (zh) | 基于关键帧的视频流索引播放系统 | |
CN1223191C (zh) | 会议电视流媒体数据管理方法 | |
CN1878315A (zh) | 视音频同步方法 | |
CN1859046A (zh) | 接收数字多媒体广播的装置和方法 | |
CN1835581A (zh) | 一种低码流的视频素材审看的方法 | |
CN1468002A (zh) | 基于因特网的流媒体压缩、传输与存贮系统 | |
CN1852283A (zh) | 一种实现多数据源流媒体在线浏览的系统 | |
US8184660B2 (en) | Transparent methods for altering the video decoder frame-rate in a fixed-frame-rate audio-video multiplex structure | |
CN1682206A (zh) | 以改变流式约束为基础的动态质量调节 | |
CN1529504A (zh) | 电视节目在线广播方法 | |
US20050226252A1 (en) | Information processing device and method, recording medium, and program | |
WO2007092891A2 (en) | Methods and systems for picture rate reduction of stored video while under continuous record load |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20051012 Termination date: 20170531 |
|
CF01 | Termination of patent right due to non-payment of annual fee |