CN101668198B - 一种推送视频及数据内容实现本地点播的方法及系统 - Google Patents
一种推送视频及数据内容实现本地点播的方法及系统 Download PDFInfo
- Publication number
- CN101668198B CN101668198B CN2009101762020A CN200910176202A CN101668198B CN 101668198 B CN101668198 B CN 101668198B CN 2009101762020 A CN2009101762020 A CN 2009101762020A CN 200910176202 A CN200910176202 A CN 200910176202A CN 101668198 B CN101668198 B CN 101668198B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- description document
- description
- content file
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种推送视频及数据内容实现本地点播的方法及系统,预先设置PES数据包封装格式中的载荷部分包括:片段描述和文件数据片段;该方法还包括:服务器端将待推送文件中的数据承载在所述文件数据片段中,将对所述待推送文件的描述信息承载在所述片段描述中,封装成一个以上PES数据包;服务器端使用PES数据包组成传输流后调制输出;机顶盒端对接收到的传输流进行解调;机顶盒端利用所述片段描述从所述文件数据片段解析出待推动文件中的数据,将解析出的数据保存到本地存储设备。该方法能够支持任意格式数据的推送、使得机顶盒端解析速率快,且实现简单、对机顶盒端硬件的配置要求较低。
Description
技术领域
本发明涉及点播技术,特别涉及一种推送视频及数据内容实现本地点播的方法及系统。
背景技术
推送视频点播(PVOD,Push Video On Demand)是一种新型数字电视增值业务,它以推送技术为基础,利用空闲的广播信道,在不妨碍电视用户正常收看节目的前提下,将各种扩展服务内容自动推送到用户机顶盒自带的本地硬盘中,用户可以选择在任意时段从机顶盒的本地硬盘中读取,以享受数字电视运营商提供的各种扩展服务内容,实现本地点播。上述扩展服务内容可以是视频,也可以是其他数据内容,例如网页等。
目前存在如下两种PVOD的实现方案:
第一、基于准视频点播扩展的个人视频录像机实现方案。
服务器端每隔一段时间在某一频道从头播放同一套节目,即每隔一段时间在该频道向机顶盒推送相同的视频流,推送的方式与普通节目视频流的推送方式相同,用户在发出点播某一套节目的点播信号后,中间交换设备将机顶盒与最近将要从头开始播放该套节目的频道连通,然后机顶盒利用个人视频录像机(PVR,Personal Video Recorder)技术中的电子节目向导(EPG,Electronic Program Guide)对节目时段(例如节目开始时间、节目持续时间)的描述,对该套节目的视频流进行实时录制。
该方案只适用于服务器端推送视频流的情况,另外由于对某个视频流的录制受限于当前EPG的描述,无法做到十分精确。
第二、基于数字存储媒体命令与控制(DSM-CC,Dsca Storage MediaCommand and Control)的实现方案。
服务器端利用DSM-CC数据分段对推送的数据进行分段封装,然后进行轮播,机顶盒端根据DSM-CC协议分段进行数据解析并保存数据。
该方案虽然解决了第一种方案中只能实时录制视频流的情况,但由于DSM-CC协议的复杂性,使得机顶盒端对数据的解析效率大大降低,无法快速有效的保存数据,进而对机顶盒设备的硬件配置有较高的要求,包括要求中央处理器(CPU,Central Processing Unit)的性能更强,同步动态随机接入存储器(SDRAM,Synchronous Dynamic Random Access Memory)的容量更大,闪存(FLASH)的容量也更大等,增加了硬件的成本。
发明内容
本发明提供一种推送视频及数据内容实现本地点播的方法,该方法能够支持任意格式数据的推送、使得机顶盒端解析速率快,且实现简单、对机顶盒端硬件的配置要求较低。
本发明提供一种推送视频及数据内容实现本地点播的系统,该系统能够支持任意格式数据的推送、使得机顶盒端解析速率快、且实现简单、对机顶盒端硬件的配置要求较低。
本发明的技术方案是这样实现的:
一种推送视频及数据内容实现本地点播的方法,关键在于,预设分组基本流PES数据包封装格式中的载荷部分包括:片段描述和文件数据片段;该方法还包括:
服务器端将待推送文件中的数据承载在所述文件数据片段中,将对所述待推送文件的描述信息承载在所述片段描述中,封装成一个以上PES数据包;
服务器端使用PES数据包组成传输流后调制输出;
机顶盒端对接收到的传输流进行解调;
机顶盒端利用所述片段描述从所述文件数据片段解析出待推送文件中的数据,将解析出的数据保存到本地存储设备。
一种推送视频及数据内容实现本地点播的系统,关键在于,该系统包括:服务器端设备和机顶盒端设备;
所述服务器端设备,将待推送文件中的数据承载在文件数据片段中,将对待推送文件的描述信息承载在片段描述中,封装成一个以上分组基本流PES数据包;使用PES数据包组成传输流后调制输出;
所述机顶盒端设备,接收所述传输流进行解调;利用所述片段描述从所述文件数据片段解析出待推送文件中的数据,将解析出的数据保存到本地存储设备。
由以上技术方案可以看出,本发明提供的方法及系统与现有第一种解决方案相比,由于采用了PES协议且推送的类型为文件,可以支持任意格式数据的推送;本发明提供的方法及系统与现有第二种解决方案相比,由于设置PES数据包封装格式的载荷部分包括片段描述和文件数据片段,服务器端能够将待推送文件和对待推送文件的描述分别封装在PES数据包的不同位置,使封装出的数据包结构清晰而简单,从而使得机顶盒端能够根据片段描述中的内容快速解析文件数据片段中承载的待推送文件中的数据,快速有效的保存数据,提高了传输速率,而且正是由于解析简单,对机顶盒端的硬件配置并没有太高要求。
附图说明
图1为本发明中推送视频及数据内容实现本地点播的方法流程图;
图2为本发明实施例中PES封装格式的示意图;
图3为本发明实施例中服务器端的推送流程示意图;
图4为本发明实施例中机顶盒端的接收流程示意图;
图5为本发明实施例中机顶盒端接收内容文件中的内容数据的流程图;
图6为本发明中推送视频及数据内容实现本地点播的系统结构示意图。
具体实施方式
为使本发明的目的和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细说明。
图1为本发明中推送视频及数据内容实现本地点播的方法流程图,该流程开始之前预先设置分组基本流(PES,Packetize Elementary Streams)数据包封装格式中的载荷部分包括:片段描述和文件数据片段。图1所示流程包括:
步骤101:服务器端将待推送文件中的数据承载在所述文件数据片段中,将对所述待推送文件的描述信息承载在片段描述中,封装成一个以上PES数据包。
步骤102:服务器端使用PES数据包组成传输流后调制输出。
本步骤中,组成传输流及调制输出的方式与现有技术中的相同,这里不再赘述。
步骤103:机顶盒端对接收到的传输流进行解调。
本步骤中,解调的方式与现有技术中的相同,这里不再赘述。
步骤104:机顶盒端利用所述片段描述从所述文件数据片段解析出待推送文件中的数据,将解析出的数据保存到本地存储设备。
本步骤中,本地存储设备可以为具备通用总线协议(USB,UniversalSerial Bus)接口的存储设备,例如U盘或USB硬盘,这样通过机顶盒上的USB接口,该本地存储设备可以和机顶盒连接。
下面介绍本发明所提供方法的一个实施例。
在本实施例中,服务器端待推送的文件包含两种:描述文件和内容文件。其中内容文件中包括对应视频及数据内容的内容数据,描述文件中包括对服务器端所有内容文件的概况进行描述的描述数据,这两种文件的具体格式在下文中将给出详细介绍。机顶盒端先接收服务器端推送的描述文件中的描述数据,再接收服务器端推送的内容文件中的内容数据。
预设的PES封装格式如图2所示,其中PES1~PESn代表不同的PES数据包;每个PES数据包的结构都包括包头和载荷两部分,其中载荷中承载的是待推送文件中的数据,这种包头加载荷的结构是现有PES协议中规定的。在本实施例中,每个载荷又包括片段描述和文件数据片段两部分,其中文件数据片段中承载待推送文件中的数据,片段描述中为对待推送文件的描述信息,具体内容在下文中将给出详细描述。
上述PES数据包的格式如表1所示,上述PES数据包中载荷的格式如表2所示。
名称 | 比特长度 | 备注 |
PES_packet{ | PES数据包 | |
packet_start_code_prefix | 24 | bslbf=(0x000001)包头 |
stream_id | 8 | uimsbf=(0xBF):private_stream_2流标识 |
PES_packet_length | 16 | uimsbfPES数据包长度 |
PES_file_segment_packet() | 载荷 |
} |
表1
名称 | 比特长度 | 备注 |
PES_file_segment_packet{ | 载荷 | |
file_type | 2 | uimsbf文件类型标识0-描述文件1-内容文件2、3-预留 |
Reversed | 6 | 保留字段全部置‘1’ |
Reversed | 2 | 保留字段全部置‘1’ |
version_number | 5 | uimsbfPES数据包的版本,每轮次推送加1。某轮次推送的所有PES数据包的版本一致。范围0到0x1f第一个版本须从0开始 |
current_next_indicator | 1 | 0-当前包无效,下一个有效1-当前包有效 |
packet_number | 32 | uimsbf当前PES数据包的包序号,范围 |
0-0xffffffff第一个PES数据包须从0开始 | ||
last_packet_number | 32 | Uimsbf最后一个PES数据包的包序号,范围0-0xffffffff |
file_segment_offset | 32 | Uimsbf文件数据片段在其所属文件中的片段偏移,如每个片段大小为60KB,则实际上在文件中的字节偏移为offset*60KB。第一个偏移须为0 |
file_segment_last_offset | 32 | Uimsbf所属文件中的最后一个文件数据片段的偏移数 |
file_name_length | 16 | Uimsbf文件名长度0~65535 |
file_name | 8×file_name_length | Bslbf文件名称(包含路径)文件数据片段所属的文件,其路径以相对路径表示,如:./Moive/卧虎藏龙/卧虎藏龙1.ts |
file_segment_dsca_length | 16 | Uimsbf整个文件数据片段的长度,如果一个文件可分为若干个文件片段包,则只有最后一个文件片段包的文件数据片段可以<=60KB,其它的必须等于60KB。该数值不能修改。 |
extend_dsca_length | 16 | Uimsbf扩展数据长度 |
for(i=0;i<extend_dsca_length;i++){ | ||
extend dsca | 8 | Bslbf扩展数据 |
} | ||
for(i=0;i<file_segment_dsca_size-extend_dsca_length-2;i++){ | ||
file_segment_dsca | 8 | Bslbf文件数据片段 |
} | ||
} |
表2
通过上述表1和表2可以看出,一个PES数据包载荷部分的文件数据片段中要么承载的是服务器端推送的描述文件中的描述数据,要么承载的是服务器端推送的内容文件中的内容数据,描述数据和内容数据均可以通过一个以上PES数据包推送到机顶盒端。当然以上表1和表2中所规定的字段及其顺序并非唯一的实现方式,根据实际需要可以规定其他实现相同功能的字段及顺序。
图3为本发明实施例中服务器端的推送流程示意图,该流程开始之前,在服务器端利用PC及通用网页编辑工具创建PVOD的内容网站,该网站中的所有内容都以内容文件的形式置于pvod_root目录下,每个内容文件的路径都为相对路径;在上述内容文件中,包括文件名称为index.html文件,使用服务器端的PC上的浏览器可以打开该文件,以便审核当前pvod_root目录下的所有内容文件。
当在服务器端停止负责推送操作的PVOD播发器的当前轮次推送操作,并将pvod_root目录设置给PVOD播发器、触发新一轮次推送操作后,图3所示流程开始,该流程包括:
步骤301:遍历pvod_root目录下所有的内容文件,生成对应这些内容文件的描述文件。
本步骤中,描述文件中的描述数据用于描述pvod_root目录下当前所有内容文件的概况,如:各内容文件的文件名(包含路径信息)、各内容文件的创建修改时间、各内容文件的大小等。
描述文件中的描述数据的具体格式如下所示:
package PVOD_description_file;
message UTCMJD_Dscetime{
required bytes dscetime;
}/*起始时间*/
message File{
required string file_name;
required UTCMJD_Dscetime file_updsce_dscetime;
required uint32 file_size;
required uint32 region_id;/*区域标识*/
optional uint32 group_id[default=0xFFFFFFFF];/*分组标识*/
}
message Directory{
required string path_name;
repeated File file;
}
message Directory_structure_description{
required uint32 pre_create_segment_size;/*阈值*/
repeated Directory dir;
}
上述格式的简要解释如下:
1)pre_create_segment_size用于描述要预先创建的内容文件的阈值,例如大于等于60KB的内容文件需要在机顶盒端预先创建并分配空间;
2)起始时间为40位字段,包含以UTC和MJD形式表示描述文件中所描述的各个内容文件在服务器端创建或修改的时间点,此字段的前16位表示MJD日期码,其余24位按4位BCD编码,表示6个数字,如果时间点未定,所有位都置1,如93年10月13日12点45分整编码为0xc079124500;
3)区域标识是为满足不同区域机顶盒接收、播发不同内容而设置,分组标识允许机顶盒加入不同的分组,机顶盒端自身也存储有区域标识和分组标识,具体定义如下:
区域ID取0表示不属于任何区域,0xffffffff表示属于所有区域,其他中间数值所代表的区域可以预先设定;分组ID取0表示不属于任何分组,0xffffffff表示属于所有分组,其他中间数值所代表的分组可以预先设定;
如果描述数据中只存在区域标识、没有分组标识,则只需按照区域标识的划分,匹配区域标识的机顶盒才可以接收后续的内容文件;如果描述数据中区域标识和分组标识都存在,则只需考虑分组标识匹配的情况下,机顶盒端就可以接收后续的内容文件,这种方式可以满足同一内容文件同时属于不是所有区域的情况。
本步骤中,描述文件中的描述数据依据其内容多少,可能只有一个PES数据包推送,也可能分为几个PES数据包推送。
步骤302:遍历pvod_root目录下的所有内容文件,对每个内容文件中的数据按照前文表1和表2的格式封装后进行推送。
本步骤中,每个内容文件的数据依据其多少,可能只有一个PES数据包推送,也可能分为几个PES数据包推送。
本步骤可能重复执行,因为服务器端可以指定推送频率,即在每一轮次推送中的重复次数。例如:可以按照内容文件扩展名,如内容文件扩展名为.html的内容文件中的内容数据重复2次;也可以按照内容文件大小确定,如小于等于60KB的内容文件中的内容数据重复3次,小于1MB的内容文件中的内容数据重复2次;如果同一个内容文件满足多个重发规则,就以重复次数较多的规则为准。
特别的,上述步骤301也可能重复执行,因为服务器端可以指定描述文件中描述数据的重发时间间隔,同时还可以将描述文件对应的PES数据包插入到某个内容文件对应的若干个PES数据包之间进行推送。
图4为本发明实施例中机顶盒端的接收流程示意图,该流程包括:
步骤401:请求节目关联表(PAT,Program Association Table)和业务描述表(SDT,Service Descriptor Table),同时在PAT回调中再请求节目映射表(PMT,Program Map Table)、在SDT回调中执行SDT处理。
本步骤是为了机顶盒搜索PVOD频点,与正常数字电视节目的搜索过程相同,因此这里不再赘述其具体含义,只简要介绍PMT和SDT的格式,其中PMT的格式如表3所示,SDT的格式如表4所示。
名称 | 比特长度 | 备注 |
TS_program_map_section(){ | ||
table_id | 8 | uimsbf |
section_syntax_indicator | 1 | bslbf |
′0′ | 1 | bslbf |
Reserved | 2 | bslbf |
section_length | 12 | uimsbf |
program_number | 16 | uimsbf |
Reserved | 2 | bslbf |
version_number | 5 | uimsbf |
current_next_indicator | 1 | bslbf |
section_number | 8 | uimsbf |
last_section_number | 8 | uimsbf |
Reserved | 3 | bslbf |
PCR_PID | 13 | uimsbf |
Reserved | 4 | bslbf |
program_info_length | 12 | uimsbf |
for(i=0;i<N;i++){ | ||
descriptor() | ||
} | ||
for(i=0;i<N1;i++){ | ||
stream_type | 8 | uimsbf=(0x06)流类型 |
Reserved | 3 | bslbf |
elementary_PID | 13 | uimsnf |
Reserved | 4 | bslbf |
ES_info_length | 12 | uimsbf |
for(i=0;i<N2;i++){ | ||
descriptor() | ||
} | ||
} |
CRC_32 | 32 | rpchof |
} |
表3
名称 | 比特长度 | 备注 |
Service_descriptor{ | ||
descriptor_tag | 8 | uimsbf=(0x48) |
descriptor_length | 8 | uimsbf |
service_type | 8 | uimsbf=(0xF0)服务类型 |
service_provider_name_length | 8 | uimsbf |
for(i=0;i<N;i++){ | ||
Char | 8 | bslbf |
} | ||
service_name_length | 8 | uimsbf |
for(i=0;i<N;i++){ | ||
Char | 8 | bslbf |
} | ||
} |
表4
上述表3和表4中的描述都是为了定义节目类型,以便于机顶盒可以根据这些描述搜索出该PVOD业务。
步骤402:请求搜索到的PVOD业务。
步骤403:接收描述文件中的描述数据,根据对该描述文件中的描述数据的解析结果更新本地存储设备。
本步骤中,机顶盒每次开始接收服务器端推送的数据后,必须先接收到描述文件中的描述数据,然后才开始接收内容文件中的内容数据。机顶盒根据接收到的PES数据包的片段描述中的文件类型标识判断当前接收到的PES数据包中承载的是否为描述文件中的描述数据。
机顶盒本地存储设备中存在pvod_stb目录,该目录下已保存的描述文件名称为files.dsc,存储路径为/pvod_stb/files.dsc,该描述文件为服务器端上一轮次推送时保存的描述文件,则本步骤中接收当前承载描述数据的PES数据包的正常流程如下所示:
1、将files.dsc改名为files_old.dsc;
2、按照PES数据包的片段描述中的描述文件名称,建立存储路径为/pvod_stb/files.dsc的描述文件,将文件数据片段中承载的描述数据存储到该描述文件中;
3、对比files.dsc和files_old.dsc,按照以下规则删除pvod_stb目录中已保存的内容文件:
a)files_old.dsc中有、但files.dsc中没有描述的内容文件;
b)files.dsc和files_old.dsc中都有描述、但大小或者创建修改时间不相同的内容文件;
4、遍历pvod_stb目录下的所有内容文件,删除以下两种内容文件:
a)在files.dsc中没有描述的内容文件,但文件扩展名为.dwn与.sta的内容文件要特别处理,其中.dwn为未完成推送的内容文件的文件扩展名,.sta为未完成推送的内容文件所对应状态文件的文件扩展名,如a.ts.dwn应当作a.ts处理,避免将下载了半截的内容文件删除,又如a.ts.sta应当作a.ts处理,避免将下载了半截的状态文件删除了;
b)files.dsc虽有描述,但是大小或创建修改时间与files.dsc描述不相同的内容文件;
5、根据files.dsc的描述,预先创建files.dsc中有描述、大小超过预设阈值,但机顶盒本地存储设备中不存在的内容文件,具体要求如下:
a)根据files.dsc中的描述创建具备该内容文件的文件名称的空文件并分配大小,创建时加上扩展名.dwn,同时创建对应的状态文件,文件扩展名为.sta,该文件用来描述推送的状态;
b)将空文件创建修改时间设置为files.dsc中描述的“起始时间”。
本步骤中预先创建空文件的目的在于避免机顶盒在接收本地存储设备没有的内容文件时,对较大文件的创建花费太多时间,从而影响接收速度,甚至来不及存储该内容文件;
6、删除files_old.dsc;
7、记录files.dsc中的版本、内容文件总数目及已经推送完成的内容文件数目(即第4步遍历时,描述与files.dsc中描述一致的内容文件数目)。
如果在执行上述第1步时发现本地存储设备中既有file.dsc,又有files_old.dsc,则说明在前一轮次推送中的第5步前出错(如断电),此时应该将当前接收的描述文件存为file.dsc,再从第3步开始执行;如果在执行上述第1步时发现本地存储设备中有files_old.dsc,则直接将当前接收的描述文件存为file.dsc,再从第3步开始执行。
如果当前轮次的描述文件中的描述数据分为几个PES数据包推送,且机顶盒端在接收到其中某个PES数据包时发现版本号与之前接收的PES数据包不相同,则需要删除已接收的PES数据包,重新从包含新版本号的PES数据包开始接收,如果在执行上述第3步和第4步时发现描述文件中描述的所有内容文件都已经存储在本地存储设备中了,则后续无需执行接收内容文件的步骤,可以直接结束流程。
步骤404:接收内容文件中的内容数据并保存。
本步骤的具体实现流程如图5所示,包括:
步骤501:接收PES数据包。
步骤502:解析PES数据包中封装的内容文件名称、路径、数据包序号和内容数据。
步骤503:判断本地存储设备中是否已与该内容文件名称相同的内容文件,如果是则执行步骤504,否则执行步骤508。
步骤504:读取对应该内容文件的状态文件。
步骤505:通过状态文件中的记载判断该PES数据包是否已下载过,如果是则结束流程,否则执行步骤506。
步骤506:将PES数据包中的内容数据存储到文件中。
步骤507:更新状态文件中记载的内容,并结束流程。
本步骤中,如果某内容文件的全部内容数据机顶盒端都已接收完毕,则删除该状态文件。判断一个内容文件的全部内容数据是否全部接收完毕,需通过文件数据片段中携带的当前包序号和最后一个包序号来判断。
步骤508:创建内容文件、分配文件空间、并创建对应的状态文件,返回执行步骤506。
步骤405:检测PAT、PMT和PVOD的更新。
本步骤中的检测为本领域的公知内容,这里不再赘述。
基于上述方法,本发明还提出了一种推送视频及数据内容实现本地点播的系统,图6为该系统的结构示意图,该系统包括:服务器端设备和机顶盒端设备。
上述服务器端设备,将待推送文件中的数据承载在文件数据片段中,将对待推送文件的描述信息承载在片段描述中,封装成一个以上分组基本流PES数据包;使用PES数据包组成传输流后调制输出。
上述机顶盒端设备,接收所述传输流进行解调;利用所述片段描述从所述文件数据片段解析出待推送文件中的数据,将解析出的数据保存到本地存储设备。
与方法中已提到的内容相同,系统中的待推送文件包括描述文件和内容文件,待推送文件中的数据为描述文件中对服务器端所有内容文件的概况进行描述的描述数据,或者为内容文件中对应视频及数据内容的内容数据,在这种情况下,上述服务器端设备包括:描述文件处理模块、内容文件处理模块和输出模块。
上述描述文件处理模块,遍历所有内容文件生成一个描述文件,将所述描述文件中的数据承载在文件数据片段中,将对所述描述文件的描述信息承载在片段描述中,封装成一个以上PES数据包。
上述内容文件处理模块,将所述内容文件中的数据承载在文件数据片段中,将对所述内容文件的描述信息承载在片段描述中,封装成一个以上PES数据包。
上述输出模块,先使用描述文件处理模块封装的PES数据包组成传输流后调制输出,再使用内容文件处理模块封装的PES数据包组成传输流后调制输出。
与方法中已提到的内容相同,待推送文件的描述信息为文件名称和文件类型标识,所述描述文件中的描述数据包括:内容文件的文件名称、路径、大小和创建修改时间。在此基础上,机顶盒端设备包括:接收模块、解析模块和更新模块。
上述接收模块,接收所述传输流进行解调。
上述解析模块,当所述待推送文件为描述文件时,利用所述片段描述从所述文件数据片段解析出描述文件中的数据,使用所述文件名称在本地存储设备中建立描述文件,将解析出的数据存储到该建立的描述文件中;当所述待推送文件为内容文件时,利用所述片段描述从所述文件数据片段解析出内容文件中的数据,使用所述文件名称在本地存储设备中建立内容文件,将解析出的数据存储到该建立的内容文件中。
上述更新模块,比较当前存储的描述文件和本地存储设备中已存储的描述文件,删除已存储的描述文件中存在描述但当前存储的描述文件中不存在描述的内容文件,并删除已存储的描述文件中和当前存储的描述文件中均存在描述、但描述大小或创建修改时间不一致的内容文件;遍历本地存储设备中已存储的内容文件,删除当前存储的描述文件中不存在描述的内容文件,及删除当前存储的描述文件中存在描述、但大小或创建修改时间与当前存储的描述文件中描述不一致的内容文件;执行完所述比较和遍历后删除本地存储设备中已存储的描述文件。
为了实现对于某些较大的内容文件预先建立空文件,以避免在实际接收时因创建内容文件而花费太多时间、影响接收速度,机顶盒端设备还可以进一步包括预创建模块,判断描述数据中是否描述了大小超过预设阈值的内容文件,如果有,则在本地存储设备预先创建具备描述数据中记载的内容文件的文件名称的空文件并分配大小,并创建对应该空文件的状态文件。在此基础上,上述解析模块在待推送文件为内容文件时,先判断本地存储设备中是否已存在描述信息中包含的文件名称的内容文件,如果不是,再继续执行建立具有所述文件名称的内容文件,并进一步建立对应的状态文件,然后将解析出的数据存储到该建立的内容文件中,并更新状态文件中的记载;否则获取该内容文件的状态文件,并进一步通过状态文件中的记载判断出当前解析出的数据没有保存过时,将解析出的数据存储到该内容文件中,并更新状态文件中的记载。
当待推送文件为内容文件时,待推送文件的描述信息中进一步包括当前包序号、最后一个包序号和版本号,此时上述解析模块进一步用于,通过所述当前包序号和最后一个包序号判断出当前PES数据包为含有相同版本号的所述内容文件对应的最后一个PES数据包时,删除本地存储设备中该内容文件对应的状态文件。
如果描述数据中还包括区域标识或分组标识,上述解析模块进一步用于,如果解析出的区域标识与自身存储的区域标识相同,则继续执行将解析出的数据保存到本地存储设备;或者如果解析出的分组标识与自身存储的分组标识相同,则继续执行将解析出的数据保存到本地存储设备。
本发明提供的系统按照本发明提供的方法执行操作,具体的执行顺序及步骤这里不再赘述。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种推送视频及数据内容实现本地点播的方法,其特征在于,预设分组基本流PES数据包封装格式中的载荷部分包括:片段描述和文件数据片段;该方法还包括:
服务器端将待推送文件中的数据承载在所述文件数据片段中,将对所述待推送文件的描述信息承载在所述片段描述中,封装成一个以上PES数据包;
服务器端使用PES数据包组成传输流后调制输出;
机顶盒端对接收到的传输流进行解调;
机顶盒端利用所述片段描述从所述文件数据片段解析出待推送文件中的数据,将解析出的数据保存到本地存储设备。
2.如权利要求1所述的方法,其特征在于,所述待推送文件包括描述文件和内容文件;所述待推送文件中的数据为所述描述文件中对服务器端所有内容文件的概况进行描述的描述数据,或者为所述内容文件中对应视频及数据内容的内容数据;
所述服务器端先针对所述描述文件执行将描述文件中的数据承载在文件数据片段中,将对所述描述文件的描述信息承载在片段描述中,封装成一个以上PES数据包、及组成传输流后调制输出的步骤,再针对所述内容文件执行将内容文件中的数据承载在文件数据片段中,将对所述内容文件的描述信息承载在片段描述中,封装成一个以上PES数据包、及组成传输流后调制输出的步骤。
3.如权利要求2所述的方法,其特征在于,所述对待推送文件的描述信息为文件名称和文件类型标识;
当所述待推送文件为描述文件时,所述将解析出的数据保存到本地存储设备的方法为:使用所述文件名称,在本地存储设备中建立描述文件,将解析出的数据存储到该建立的描述文件中;
当所述待推送文件为内容文件时,所述将解析出的数据保存到本地存储设备的方法为:使用所述文件名称,在本地存储设备中建立内容文件,将解析出的数据存储到该建立的内容文件中。
4.如权利要求3所述的方法,其特征在于,当所述待推送文件为描述文件时,执行所述封装一个以上PES数据包为:所述服务器端遍历内容文件,生成一个描述文件;
所述描述文件中的描述数据包括:内容文件的文件名称、路径、大小和创建修改时间。
5.如权利要求4所述的方法,其特征在于,所述将解析出的数据保存到本地存储设备之后,进一步包括:机顶盒端根据解析出的数据,更新本地存储设备中已存储的内容文件;所述更新的方法为:
比较当前存储的描述文件和本地存储设备中已存储的描述文件,删除已存储的描述文件中存在描述但当前存储的描述文件中不存在描述的内容文件,并删除已存储的描述文件中和当前存储的描述文件中均存在描述、但描述大小或创建修改时间不一致的内容文件;
遍历本地存储设备中已存储的内容文件,删除当前存储的描述文件中不存在描述的内容文件,及删除当前存储的描述文件中存在描述、但大小或创建修改时间与当前存储的描述文件中描述不一致的内容文件。
6.如权利要求4所述的方法,其特征在于,所述将解析后的数据保存到本地存储设备之后,进一步包括:
判断所述描述数据中是否描述了大小超过预设阈值的内容文件,如果有,则机顶盒端在本地存储设备预先创建具备内容文件的文件名称的空文件并分配所述大小,并创建对应该空文件的状态文件。
7.如权利要求6所述的方法,其特征在于,当所述待推送文件为内容文件时,所述将解析出的数据保存到本地存储设备的方法为:
判断本地存储设备中是否已存在具有描述信息包含的文件名称的内容文件,如果不是,继续执行建立具有该文件名称的内容文件,并建立对应的状态文件,然后将从当前PES数据包的文件数据片段中解析出的数据存储到该内容文件中,并更新状态文件中的记载;
否则获取对应该内容文件的状态文件,并进一步通过状态文件中的记载判断出当前接收的PES数据包的文件数据片段中的数据没有保存过时,将从当前PES数据包的文件数据片段中解析的数据存储到该内容文件中,并更新状态文件中的记载。
8.如权利要求7所述的方法,其特征在于,当所述待推送文件为内容文件时,所述对待推送文件的描述信息中进一步包括当前包序号、最后一个包序号和版本号;
当机顶盒端通过所述当前包序号和最后一个包序号判断出当前PES数据包为含有相同版本号的所述内容文件对应的最后一个PES数据包时,删除本地存储设备中该内容文件对应的状态文件。
9.如权利要求3所述的方法,其特征在于,当所述待推送文件为描述文件时,所述对待推送文件的描述信息中还包括当前包序号、最后一个包序号和版本号,其中所述版本号指示服务器端推送的轮次;
所述机顶盒端利用所述当前包序号和最后一个包序号判断出当前PES数据包为包含相同版本号的对应所述描述文件的最后一个数据包时,所述描述文件传输完毕。
10.如权利要求9所述的方法,其特征在于,当所述描述文件未传输完毕时,如果机顶盒端解析出当前接收的PES数据包中的版本号与前一次接收的PES数据包中的版本号不相同,重新开始接收包含新版本号的PES数据包。
11.如权利要求2所述的方法,其特征在于,所述描述数据中还包括区域标识或分组标识;
所述机顶盒端进行解析时,如果解析出的区域标识与自身存储的区域标识相同,则继续执行将解析出的数据保存到本地存储设备的步骤,否则结束流程;或者如果解析出的分组标识与自身存储的分组标识相同,则继续执行将解析出的数据保存到本地存储设备的步骤,否则结束流程。
12.一种推送视频及数据内容实现本地点播的系统,其特征在于,该系统包括:服务器端设备和机顶盒端设备;
所述服务器端设备,将待推送文件中的数据承载在文件数据片段中,将对待推送文件的描述信息承载在片段描述中,封装成一个以上分组基本流PES数据包;使用PES数据包组成传输流后调制输出;
所述机顶盒端设备,接收所述传输流进行解调;利用所述片段描述从所述文件数据片段解析出待推送文件中的数据,将解析出的数据保存到本地存储设备。
13.如权利要求12所述的系统,其特征在于,所述待推送文件包括描述文件和内容文件;所述待推送文件中的数据为所述描述文件中对服务器端所有内容文件的概况进行描述的描述数据,或者为所述内容文件中对应视频及数据内容的内容数据;
所述服务器端设备包括:描述文件处理模块、内容文件处理模块和输出模块;
所述描述文件处理模块,遍历所有内容文件生成一个描述文件,将所述描述文件中的数据承载在文件数据片段中,将对所述描述文件的描述信息承载在片段描述中,封装成一个以上PES数据包;
所述内容文件处理模块,将所述内容文件中的数据承载在文件数据片段中,将对所述内容文件的描述信息承载在片段描述中,封装成一个以上PES数据包;
所述输出模块,先使用描述文件处理模块封装的PES数据包组成传输流后调制输出,再使用内容文件处理模块封装的PES数据包组成传输流后调制输出。
14.如权利要求13所述的系统,其特征在于,所述待推送文件的描述信息为文件名称和文件类型标识;所述描述文件中的描述数据包括:内容文件的文件名称、路径、大小和创建修改时间;
所述机顶盒端设备包括:接收模块、解析模块和更新模块;
所述接收模块,接收所述传输流进行解调;
所述解析模块,当所述待推送文件为描述文件时,利用所述片段描述从所述文件数据片段解析出描述文件中的数据,使用所述文件名称在本地存储设备中建立描述文件,将解析出的数据存储到该建立的描述文件中;当所述待推送文件为内容文件时,利用所述片段描述从所述文件数据片段解析出内容文件中的数据,使用所述文件名称在本地存储设备中建立内容文件,将解析出的数据存储到该建立的内容文件中;
所述更新模块,比较当前存储的描述文件和本地存储设备中已存储的描述文件,删除已存储的描述文件中存在描述但当前存储的描述文件中不存在描述的内容文件,并删除已存储的描述文件中和当前存储的描述文件中均存在描述、但描述大小或创建修改时间不一致的内容文件;遍历本地存储设备中已存储的内容文件,删除当前存储的描述文件中不存在描述的内容文件,及删除当前存储的描述文件中存在描述、但大小或创建修改时间与当前存储的描述文件中描述不一致的内容文件;执行完所述比较和遍历后删除本地存储设备中已存储的描述文件。
15.如权利要求14所述的系统,其特征在于,所述机顶盒端设备进一步包括:预创建模块,判断描述数据中是否描述了大小超过预设阈值的内容文件,如果有,则在本地存储设备预先创建具备描述数据中记载的内容文件的文件名称的空文件并分配大小,并创建对应该空文件的状态文件;
所述解析模块在待推送文件为内容文件时,先判断本地存储设备中是否已存在描述信息包含的文件名称的内容文件,如果不是,再继续执行建立具有所述文件名称的内容文件,并进一步建立对应的状态文件,然后将解析出的数据存储到该建立的内容文件中,并更新状态文件中的记载;否则获取该内容文件的状态文件,并进一步通过状态文件中的记载判断出当前解析出的数据没有保存过时,将解析出的数据存储到该内容文件中,并更新状态文件中的记载。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101762020A CN101668198B (zh) | 2009-09-16 | 2009-09-16 | 一种推送视频及数据内容实现本地点播的方法及系统 |
PCT/CN2010/071911 WO2011032382A1 (zh) | 2009-09-16 | 2010-04-20 | 一种推送视频及数据内容实现本地点播的方法及系统 |
HK10105281.5A HK1140339A1 (en) | 2009-09-16 | 2010-05-28 | Method for pushing video and data content to realize local ordering and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101762020A CN101668198B (zh) | 2009-09-16 | 2009-09-16 | 一种推送视频及数据内容实现本地点播的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101668198A CN101668198A (zh) | 2010-03-10 |
CN101668198B true CN101668198B (zh) | 2011-06-15 |
Family
ID=41804600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101762020A Active CN101668198B (zh) | 2009-09-16 | 2009-09-16 | 一种推送视频及数据内容实现本地点播的方法及系统 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN101668198B (zh) |
HK (1) | HK1140339A1 (zh) |
WO (1) | WO2011032382A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668198B (zh) * | 2009-09-16 | 2011-06-15 | 深圳市同洲电子股份有限公司 | 一种推送视频及数据内容实现本地点播的方法及系统 |
CN102202233B (zh) * | 2010-03-26 | 2013-09-25 | 北京视博数字电视科技有限公司 | 一种视频推送方法、系统及终端设备 |
CN102355597A (zh) * | 2011-08-17 | 2012-02-15 | 北京天地云箱科技有限公司 | Http视频点播加速方法及加速系统、本地播放设备 |
US10270839B2 (en) * | 2016-03-29 | 2019-04-23 | Snap Inc. | Content collection navigation and autoforwarding |
CN106254898A (zh) * | 2016-08-15 | 2016-12-21 | 杭州当虹科技有限公司 | 一种ts包插入互动广告的方法 |
CN108259935B (zh) * | 2016-12-29 | 2021-07-09 | 北京酷我科技有限公司 | 一种网页显示系统及方法 |
CN107040826B (zh) * | 2017-05-04 | 2020-01-07 | 珠海市魅族科技有限公司 | 视频加载方法和装置、计算机装置和计算机可读存储介质 |
CN107682735A (zh) * | 2017-10-26 | 2018-02-09 | 山东浪潮商用系统有限公司 | 一种基于传统数字电视通道的机顶盒消息推送实现的方法 |
CN108566552B (zh) * | 2018-04-20 | 2021-05-25 | 四川长虹网络科技有限责任公司 | 适用于数字机顶盒的多媒体播放方法及系统 |
CN111246169A (zh) * | 2020-01-17 | 2020-06-05 | 北京太极联睿科技发展有限公司 | 一种视频推送方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1871108B1 (en) * | 2005-03-22 | 2011-09-14 | Panasonic Corporation | Recording device, reproducing device, recording medium, recording method, and lsi |
BRPI0804514A2 (pt) * | 2007-02-19 | 2011-08-30 | Toshiba Kk Toshiba Corp | aparelho de multiplexação/demultiplexação de dados |
CN101287099A (zh) * | 2007-04-10 | 2008-10-15 | 北京汉辰科技有限公司 | 一种利用p2p技术的实现视频点播和推播的系统及其方法 |
CN101668198B (zh) * | 2009-09-16 | 2011-06-15 | 深圳市同洲电子股份有限公司 | 一种推送视频及数据内容实现本地点播的方法及系统 |
-
2009
- 2009-09-16 CN CN2009101762020A patent/CN101668198B/zh active Active
-
2010
- 2010-04-20 WO PCT/CN2010/071911 patent/WO2011032382A1/zh active Application Filing
- 2010-05-28 HK HK10105281.5A patent/HK1140339A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
HK1140339A1 (en) | 2010-10-08 |
WO2011032382A1 (zh) | 2011-03-24 |
CN101668198A (zh) | 2010-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101668198B (zh) | 一种推送视频及数据内容实现本地点播的方法及系统 | |
CN101212267B (zh) | 广播系统基于文件模式传输业务数据的方法、系统及装置 | |
CN101789975B (zh) | 用于推送视频点播业务的下载内容的方法及系统 | |
JP3464264B2 (ja) | データパケット送受信方法 | |
CN103650482B (zh) | 发送和接收广播服务的方法及其接收装置 | |
GB2362065A (en) | Pid/section filter | |
JP2011045093A (ja) | セッションを告知する方法 | |
KR101980712B1 (ko) | 방송 서비스 전송 방법, 그 수신 방법 및 그 수신 장치 | |
RU2304855C2 (ru) | Запись интерактивных приложений | |
US20050289601A1 (en) | Method and apparatus for decoding MOT data | |
US11664912B2 (en) | Apparatus and method for transmitting and receiving broadcast signal | |
CN102957941A (zh) | 节目单内容的播发方法和数字电视前端 | |
CN101707697B (zh) | 一种推送视频及数据内容的方法、系统及设备 | |
CN1845595B (zh) | 传输、提取并搜索节目信息的方法及搜索引擎、机顶盒 | |
CN101425864A (zh) | 一种数据广播发送和接收方法 | |
RU2527733C2 (ru) | Схема передачи данных с текстовой информацией | |
US20140143811A1 (en) | Method for transmitting broadcast service, receiving method thereof, and receiving device thereof | |
US9699487B2 (en) | Method for transmitting a broadcasting service, method for receiving a broadcast service, and apparatus for receiving a broadcast service | |
CN100578980C (zh) | 一种移动多媒体广播系统的文件接收方法 | |
CN101453654A (zh) | 执行服务中应用程序的方法 | |
CN101605266A (zh) | 一种数据传输方法、装置及数据接收方法及装置 | |
CN100466519C (zh) | 一种广播网络中实现同时下载多个文件的方法 | |
JP4815154B2 (ja) | 補助プログラムを管理する方法及び対応する受信器とシステム | |
FI98676C (fi) | Tietostoryhmän siirto digitaalisessa yleisradiojärjestelmässä | |
US20070081531A1 (en) | Method of downloading terrestrial DMB data using multi-download algorithm and an apparatus thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1140339 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1140339 Country of ref document: HK |