CN100518312C - 流媒体数据处理系统及方法 - Google Patents
流媒体数据处理系统及方法 Download PDFInfo
- Publication number
- CN100518312C CN100518312C CNB2006100342339A CN200610034233A CN100518312C CN 100518312 C CN100518312 C CN 100518312C CN B2006100342339 A CNB2006100342339 A CN B2006100342339A CN 200610034233 A CN200610034233 A CN 200610034233A CN 100518312 C CN100518312 C CN 100518312C
- Authority
- CN
- China
- Prior art keywords
- package
- entrained
- stream file
- stream
- medium data
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种流媒体数据处理方法,用于通过宽带网络与流媒体服务器连接的客户端中,该流媒体数据处理方法包括步骤:接收流媒体服务器传送的流媒体数据,并将流媒体数据录制为流文件;读取流文件所携带的封包,并确定流文件所携带封包的数量;按顺序判定所述流文件所携带的封包是否为关键帧封包;如果封包为关键帧封包,则重新定义所述关键帧封包以及排在关键帧封包后的所有封包的格式。本发明还提供了一种流媒体数据处理系统。通过本发明的流媒体数据处理方法及系统,用户可录制并播放部分录制的流文件,而无须等待全部节目录制完毕。
Description
【技术领域】
本发明涉及处理数据的系统及方法,尤其涉及处理多媒体数据的系统及方法。
【背景技术】
如今,机顶盒(Set Top Box)已经普遍用于有线电视中,用户通过机顶盒观看流媒体服务器上存储的诸如高级流格式(Advanced Stream Format,ASF)的流媒体文件。
ASF是由微软(Microsoft)公司开发出来的一种流媒体格式,其结合了图像、声音和动画数据,并具有文件体积小的优点,特别适合通过网络传输。
用户除了希望观看ASF节目以外,常常需要选择录制他们喜爱的ASF节目,但由于机顶盒所支持的文件有限,用户不能够播放部分录制的流文件,而必须等待全部节目录制完毕以后才能观看,从而带来诸多不便。
【发明内容】
为解决上述现有技术存在的不足,需要提供一种流媒体数据处理系统,用于将部分录制的流文件转为可播放的流文件。
此外,还需要提供一种流媒体数据处理方法,用于将部分录制的流文件转为可播放的流文件。
一种流媒体数据处理系统,设置于客户端中,该流媒体数据处理系统包括录制模块、读取模块、关键帧判定模块,以及定义模块。录制模块用于接收流媒体服务器传送的流媒体数据,并将该流媒体数据录制为流文件。读取模块用于读取流文件所携带的封包,并确定流文件所携带的封包的数量,其中流文件所携带的封包包括封包表头字段以及有效载荷字段。关键帧判定模块用于按顺序判定流文件所携带的封包是否为关键帧封包。定义模块用于获取读取模块确定的流文件所携带的封包数量,并重新定义关键帧封包以及排在该关键帧封包后的所有封包的格式,定义模块包括第一判断子模块、补充子模块以及更新子模块。第一判定子模块用于按顺序判定流文件所携带的封包的有效载荷长度是否小于预定长度。补充子模块用于在流文件所携带的封包的有效载荷长度小于预定长度时,以空字节补足流文件所携带的封包的有效载荷。更新子模块用于更新流文件所携带的封包表头中与所述有效载荷长度相关的信息,并丢弃关键帧封包前的所有封包。
一种流媒体数据处理方法,用于通过宽带网络与流媒体服务器连接的客户端中,该流媒体数据处理方法包括步骤:接收流媒体服务器传送的流媒体数据,并将该流媒体数据录制为流文件;读取流文件所携带的封包,并确定流文件所携带的封包的数量,其中流文件所携带的封包包括封包表头字段以及有效载荷字段;按顺序判定所述流文件所携带的封包是否为关键帧封包;如果所述流文件所携带的封包不是所述关键帧封包,则丢弃所述流文件所携带的封包,并转入下一个所述流文件所携带的封包,并按顺序判定下一个所述流文件所携带的封包是否为关键帧封包;如果下一个所述流文件所携带的封包为关键帧封包,则重新定义该关键帧封包以及排在该关键帧封包后的所有封包的格式,该步骤包括以下步骤:按顺序判定所述流文件所携带的封包的有效载荷长度是否小于预定长度;如果所述流文件所携带的封包的有效载荷长度小于预定长度,则以空字节补足所述流文件所携带的封包的所述有效载荷;更新所述流文件所携带的封包表头中与所述有效载荷长度相关的信息。
本发明实施例中的流媒体数据处理系统是通过关键帧判定模块判定流文件中的封包是否为关键帧封包,并通过定义模块重新定义为关键帧封包以及排在该关键帧封包后的所有封包的格式,从而实现录制及播放部分录制的流文件,而无须等待全部节目录制完毕。
【附图说明】
图1为本发明流媒体数据处理系统的应用环境示意图。
图2为本发明流媒体数据处理系统的模块图。
图3为发明流媒体数据处理方法的流程图。
图4为本发明流媒体数据处理方法中接收流媒体服务器传送的流媒体数据,并将该流媒体数据录制为流文件的步骤的细化流程图。
图5为本发明流媒体数据处理方法中重新定义关键帧封包以及排在该关键帧封包后的所有封包的格式的步骤的细化流程图。
【具体实施方式】
请参阅图1,所示为本发明流媒体数据(Streaming Data)处理系统100的应用环境示意图。如图所示,客户端10通过宽带网络20与流媒体服务器30连接。在本实施例中,客户端10为机顶盒。
请参阅图2,所示为本发明流媒体数据处理系统100的模块图。流媒体数据处理系统100设置于客户端10中(未示出)。
流媒体数据处理系统100包括录制模块102、读取模块104、关键帧判定模块106以及定义模块108。录制模块102用于接收流媒体服务器30传送的流媒体数据,并将该流媒体数据录制为流文件。在本实施例中,流媒体数据的格式是高级流格式,流文件的格式也是高级流格式。录制模块102包括缓存子模块1020、录制子模块1022、存储子模块1024,以及合并子模块1026。缓存子模块1020用于缓存流媒体服务器30传送的流媒体数据。
在本实施例中,由于流媒体服务器30从开始传送流媒体数据到客户端10开始录制流媒体数据之间存在时间间隔,而在此期间流媒体服务器30仍然在传送流媒体数据,因此客户端10需要通过缓存子模块1020接收并缓存流媒体服务器30在此期间传送的流媒体数据。录制子模块1022用于实时录制流媒体服务器30传送的流媒体数据。在本实施例中,当客户端10开始录制以后,录制子模块1022就开始实时录制流媒体服务器30传送的流媒体数据。存储子模块1024用于将缓存子模块1020缓存的流媒体数据存储为缓存流文件,并将录制子模块1022实时录制的流媒体数据存储为实时流文件。合并子模块1026用于将缓存流文件与实时流文件合并为流文件。
读取模块104用于读取流文件携带的封包,并确定流文件所携带的封包的数量。在本实施例中,流文件包括至少一个封包。每一个流文件所携带的封包包括封包表头(Packet Header)字段以及有效载荷(Payload)字段,且封包表头中包含与有效载荷长度相关的信息。
关键帧判定模块106用于按顺序判定所述流文件所携带的封包是否为关键帧(Key Frame)的封包。在本实施例中,关键帧是指未被压缩且具有完整数据的帧,流文件只有在关键帧封包为流文件的第一个封包时才可播放。
定义模块108用于获取读取模块104确定的流文件所携带的封包数量,以及重新定义关键帧封包以及排在关键帧封包后的所有封包的格式。定义模块108包括第一判定子模块1080、补充子模块1082、更新子模块1084、计数子模块1086,以及第二判定子模块1088。
第一判定子模块1080用于按顺序判定流文件所携带的封包的有效载荷长度是否小于预定长度。在本实施例中,预定长度是由流媒体服务器30预先设置于第一判定子模块1080中。补充子模块1082用于以空字节补足流文件所携带的封包中的有效载荷。在本实施例中,补充子模块1082仅在流文件所携带的封包的有效载荷小于预定长度时,将空字节添加在流文件所携带的封包的末尾。更新子模块1084用于更新流文件所携带的封包表头中与有效载荷长度相关的信息,并丢弃关键帧封包前的所有封包。
计数子模块1086用于统计第一判定子模块1080已判定的流文件所携带的封包数量。在本实施例中,计数子模块1086的初始状态为0,在判定第一个封包之后,计数子模块1086的状态变为1;在判定第二个封包之后,计数子模块1086的状态变为2,依此类推。第二判定子模块1088用于判定计数子模块1086统计的封包数量是否等于读取模块104所确定的封包数量。在本实施例中,如果计数子模块1086统计的封包数量等于读取模块104所确定的封包数量,则表示已完成对流媒体数据所携带的所有封包的处理。
请参阅图3,所示为本发明流媒体数据处理方法的流程图。在步骤S300中,录制模块102接收流媒体服务器30传送的流媒体数据,并将该流媒体数据录制为流文件。在步骤S302中,读取模块104读取流文件携带的封包,并确定流文件所携带的封包的数量。在本实施方式中,流文件所携带的封包包括封包表头字段以及有效载荷字段。在步骤S304中,关键帧判定模块106按顺序判定读取模块104所读取的封包是否为关键帧封包。如果封包为关键帧封包,则进入步骤S306,定义模块108重新定义关键帧封包以及排在关键帧封包后的所有封包的格式。在本实施例中,重新定义关键帧封包以及排在该关键帧封包后的所有封包的格式是指通过补充子模块1082以空字节补足流文件所携带的封包的有效载荷,并通过更新子模块1084更新流文件所携带的封包表头中与有效载荷长度相关的信息。如果封包不是关键帧封包,则进入步骤S308,更新子模块1084丢弃该封包,转入下一个所述流文件所携带的封包,并返回步骤S304。
请参阅图4,所示为本发明流媒体数据处理方法中接收流媒体服务器传送的流媒体数据,并将该流媒体数据录制为流文件的步骤的细化流程图。在步骤S3000中,流媒体服务器30开始传送流媒体数据。在步骤S3002中,缓存子模块1020接收并缓存流媒体服务器30传送的流媒体数据。接下来在步骤S3004中,录制子模块1022开始实时录制流媒体服务器30传送的流媒体数据。在步骤S3006中,存储子模块1024将缓存子模块1020缓存的流媒体数据存储为缓存流文件,并将录制子模块1022实时录制的流媒体数据存储为实时流文件。在步骤S3008中,合并子模块1026将缓存流文件与实时流文件合并为流文件。
请参阅图5,所示为本发明流媒体数据处理方法中重新定义关键帧封包以及排在该关键帧封包后的所有封包的格式的步骤的细化流程图。在步骤S3060中,第一判定子模块1080按顺序判定流文件所携带的封包的有效载荷长度是否小于预定长度。
如果有效载荷长度不小于预定长度,则直接进入步骤S3066。如果有效载荷长度小于预定长度,则进入步骤S3062,补充子模块1082以空字节补足流文件所携带的封包的有效载荷。在步骤S3064中,更新子模块1084更新流文件所携带的封包表头中与有效载荷长度相关的信息。在步骤S3066中,计数子模块1086统计第一判定子模块1080已判定的封包数量。在步骤S3068中,第二判定子模块1088判定计数子模块1086统计的封包数量是否等于读取模块104所确定的封包数量。如果统计的封包数量不等于确定的封包数量,则进入步骤S3070,转入下一个所述流文件所携带的封包。然后返回步骤S3060。
本发明实施例中的流媒体数据处理系统是通过关键帧判定模块106判定流文件中的封包是否为关键帧封包,并通过定义模块108重新定义关键帧封包以及排在该关键帧封包后的所有封包的格式,从而实现录制及播放部分录制的流文件,而无须等待全部节目录制完毕。
Claims (8)
1.一种流媒体数据处理系统,设置于客户端中,其特征在于所述流媒体数据处理系统包括:
录制模块,用于接收流媒体服务器传送的流媒体数据,并将所述流媒体数据录制为流文件;
读取模块,用于读取所述流文件所携带的封包,并确定所述流文件所携带的封包的数量,其中所述流文件所携带的封包包括封包表头字段以及有效载荷字段;
关键帧判定模块,用于按顺序判定所述流文件所携带的封包是否为关键帧封包;以及
定义模块,用于获取所述读取模块确定的所述封包数量,并重新定义所述关键帧封包以及排在所述关键帧封包后的所有封包的格式,所述定义模块包括:
第一判定子模块,用于按顺序判定所述流文件所携带的封包的有效载荷长度是否小于预定长度;
补充子模块,用于在所述流文件所携带的封包的有效载荷长度小于所述预定长度时,以空字节补足所述流文件所携带的封包的有效载荷;以及
更新子模块,用于更新所述流文件所携带的封包表头中与所述有效载荷长度相关的信息,并丢弃所述关键帧封包前的所有封包。
2.如权利要求1所述的流媒体数据处理系统,其特征在于所述录制模块包括:
缓存子模块,用于接收并缓存所述流媒体服务器传送的流媒体数据;
录制子模块,用于实时录制所述流媒体服务器传送的流媒体数据;
存储子模块,用于将所述缓存子模块缓存的所述流媒体数据存储为缓存流文件,并将所述录制模块实时录制的所述流媒体数据存储为实时流文件;以及
合并子模块,用于将所述缓存流文件与所述实时流文件合并为所述流文件。
3.如权利要求2所述的流媒体数据处理系统,其特征在于所述流文件、所述缓存流文件以及所述实时流文件的格式为高级流格式。
4.如权利要求1所述的流媒体数据处理系统,其特征在于所述定义模块还包括:
计数子模块,用于统计所述第一判定子模块已判定的封包数量;以及
第二判定子模块,用于判定所述计数子模块统计的所述封包数量是否等于所述读取模块确定的所述封包数量。
5.一种流媒体数据处理方法,用于通过宽带网络与流媒体服务器连接的客户端中,其特征在于所述流媒体数据处理方法包括如下步骤:
(a)接收所述流媒体服务器传送的流媒体数据,并将所述流媒体数据录制为流文件;
(b)读取所述流文件所携带的封包,并确定所述流文件所携带的封包的数量,其中所述流文件所携带的封包包括封包表头字段以及有效载荷字段;
(c)按顺序判定所述流文件所携带的封包是否为关键帧封包;
(d)如果所述流文件所携带的封包为关键帧封包,则重新定义所述关键帧封包以及排在所述关键帧封包后的所有封包的格式,步骤(d)包括如下步骤:
(d1)按顺序判定所述流文件所携带的封包的有效载荷长度是否小于预定长度;
(d2)如果所述流文件所携带的封包的有效载荷长度小于预定长度,则以空字节补足所述流文件所携带的封包的所述有效载荷;以及
(d3)更新所述流文件所携带的封包表头中与所述有效载荷长度相关的信息;以及
(e)如果所述流文件所携带的封包不是所述关键帧封包,则丢弃所述流文件所携带的封包,并转入下一个流文件所携带的封包,并按顺序判定下一个所述流文件所携带的封包是否为关键帧封包。
6.如权利要求5所述的流媒体数据处理方法,其特征在于(a)接收所述流媒体服务器传送的流媒体数据,并将其录制为流文件的步骤包括:
(a1)接收并缓存所述流媒体服务器传送的流媒体数据;
(a2)实时录制所述流媒体服务器传送的流媒体数据;
(a3)将缓存的所述流媒体数据录制为缓存流文件,并将实时录制的所述流媒体数据录制为实时流文件;以及
(a4)将所述缓存流文件与所述实时流文件合并为所述流文件。
7.如权利要求6所述的流媒体数据处理方法,其特征在于(d)重新定义所述关键帧封包以及排在所述关键帧封包后的所有封包的格式的步骤还包括:(d4)如果所述流文件所携带的封包的有效载荷不小于预定长度,则统计已判定流文件所携带的的封包数量。
8.如权利要求7所述的流媒体数据处理方法,其特征在于(d)重新定义所述关键帧封包以及排在所述关键帧封包后的所有封包的格式的步骤还包括:
(d5)统计已判定的流文件所携带的封包数量;
(d6)判定统计的所述封包数量是否等于步骤(b)中所确定的所述封包数量;以及
(d7)如果统计的所述封包数量不等于步骤(b)中所确定的所述封包数量,则转入下一个所述流文件所携带的封包,并按顺序判定下一个所述流文件所携带的封包的有效载荷长度是否小于预定长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100342339A CN100518312C (zh) | 2006-03-06 | 2006-03-06 | 流媒体数据处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100342339A CN100518312C (zh) | 2006-03-06 | 2006-03-06 | 流媒体数据处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101035274A CN101035274A (zh) | 2007-09-12 |
CN100518312C true CN100518312C (zh) | 2009-07-22 |
Family
ID=38731537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100342339A Expired - Fee Related CN100518312C (zh) | 2006-03-06 | 2006-03-06 | 流媒体数据处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100518312C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247193B (zh) * | 2008-02-28 | 2010-12-08 | 华为技术有限公司 | 对等网络中发送数据的方法、系统、节点和超级节点 |
CN101901620A (zh) * | 2010-07-28 | 2010-12-01 | 复旦大学 | 视频内容索引文件的自动产生、编辑方法与应用 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1303216A (zh) * | 1999-09-29 | 2001-07-11 | 索尼公司 | 传输流记录和再现装置和方法及程序记录介质 |
US20020057892A1 (en) * | 1997-09-30 | 2002-05-16 | Yoshizumi Mano | Video recording device including the ability to concurrently record and playback |
CN1463144A (zh) * | 2002-05-27 | 2003-12-24 | 三星电子株式会社 | 记录广播信号的位置信息的方法及其信号接收和发送设备 |
JP2004328774A (ja) * | 1992-09-22 | 2004-11-18 | Sony Corp | 記録媒体へのビデオデータの記録方法、ビデオデータを記録した記録媒体の生産方法、および記録媒体 |
-
2006
- 2006-03-06 CN CNB2006100342339A patent/CN100518312C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004328774A (ja) * | 1992-09-22 | 2004-11-18 | Sony Corp | 記録媒体へのビデオデータの記録方法、ビデオデータを記録した記録媒体の生産方法、および記録媒体 |
US20020057892A1 (en) * | 1997-09-30 | 2002-05-16 | Yoshizumi Mano | Video recording device including the ability to concurrently record and playback |
CN1303216A (zh) * | 1999-09-29 | 2001-07-11 | 索尼公司 | 传输流记录和再现装置和方法及程序记录介质 |
CN1463144A (zh) * | 2002-05-27 | 2003-12-24 | 三星电子株式会社 | 记录广播信号的位置信息的方法及其信号接收和发送设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101035274A (zh) | 2007-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104333796B (zh) | 图像记录再生装置及文件管理方法 | |
US8209734B2 (en) | Data transmission control method, data transmitting method, data transmitting apparatus, and receiving apparatus | |
CN100388773C (zh) | 数字信号处理设备及其处理方法 | |
US7424209B2 (en) | System and method for real-time data archival | |
CN101267524B (zh) | 为预定的节目恢复丢失内容的方法和数字视频记录器 | |
EP1006729B1 (en) | Data recording and reproducing method and system | |
US20100023976A1 (en) | Method and Configuration for Storing and Playing Back TV Transmissions | |
US20030066084A1 (en) | Apparatus and method for transcoding data received by a recording device | |
JPH09233063A (ja) | ビデオサーバシステム及びその動作方法 | |
KR20030071481A (ko) | 주문형 비디오 서비스를 방송 시스템에 제공하는 시스템및 방법 | |
CN101945262A (zh) | 无线影像传送系统、内容比特率控制方法 | |
WO2004114646A2 (en) | Simultaneously transporting multiple mpeg-2 transport streams | |
US20060171391A1 (en) | Revocation information transmission method, reception method, and device Thereof | |
US6088366A (en) | Device and method for converting a data transfer rate in communication of digital audio and video data | |
EP0801488B1 (en) | Information transfer method and apparatus | |
CN101621386A (zh) | 一种节省内容网络带宽的方法、系统和设备 | |
EP0872986B1 (en) | Electronic apparatus, information transmitting method thereof, and storing medium | |
CN100518312C (zh) | 流媒体数据处理系统及方法 | |
US6701059B1 (en) | Method and apparatus for recording digital data streams | |
EP2228799B1 (en) | Video recording and playback equipment and video recording and playback method | |
US7984205B2 (en) | Method and devices for the transfer of a data flow from a data source to a data sink | |
CN115250266B (zh) | 视频处理方法及装置、流媒体设备及存储点播系统 | |
US20070208872A1 (en) | System and method for processing streaming data | |
CA2071416A1 (en) | Video store and forward apparatus and method | |
JP4201074B2 (ja) | デジタルデータ送受信システムおよびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090722 Termination date: 20140306 |