WO2014036873A1 - 一种传输流的共享方法 - Google Patents

一种传输流的共享方法 Download PDF

Info

Publication number
WO2014036873A1
WO2014036873A1 PCT/CN2013/080704 CN2013080704W WO2014036873A1 WO 2014036873 A1 WO2014036873 A1 WO 2014036873A1 CN 2013080704 W CN2013080704 W CN 2013080704W WO 2014036873 A1 WO2014036873 A1 WO 2014036873A1
Authority
WO
WIPO (PCT)
Prior art keywords
transport stream
identifier
packet
sharing
program
Prior art date
Application number
PCT/CN2013/080704
Other languages
English (en)
French (fr)
Inventor
陈鹏
刘桂斌
王晓晖
施驰
Original Assignee
深圳创维数字技术股份有限公司
深圳市创维软件有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳创维数字技术股份有限公司, 深圳市创维软件有限公司 filed Critical 深圳创维数字技术股份有限公司
Publication of WO2014036873A1 publication Critical patent/WO2014036873A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method for sharing a transport stream. Background technique
  • the recorded program automatically generates a transport stream (TS) and stores it.
  • TS transport stream
  • the user can call the recorded transport stream for viewing at any time through the set-top box. If the recorded transport stream needs to be viewed on other devices, such as a personal computer, a mobile phone, etc., it can be viewed by directly sharing the transport stream through the network and downloading it by other devices. Since the recorded transport stream usually includes information of a plurality of programs, the amount of data is very large, so in the above manner, a large amount of bandwidth is consumed, resulting in a waste of resources. Summary of the invention
  • the technical problem to be solved by the present invention is to provide a method for sharing a transport stream to achieve efficient sharing of transport streams while conserving network bandwidth.
  • a technical solution adopted by the present invention is: Providing a method for sharing a transport stream, the sharing method comprising: receiving a sharing request, the sharing request includes a packet identifier; and transmitting a transport stream corresponding to the packet identifier Transport stream packets.
  • another technical solution adopted by the present invention is: providing a method for sharing a transport stream, the sharing method comprising: sending a sharing request, the sharing request includes a packet identifier; and receiving a transport stream corresponding to the packet identifier Transport stream packets.
  • another technical solution adopted by the present invention is: providing a method for sharing a transport stream, the sharing method comprising: receiving a first sharing request, where the first sharing request includes a program association table packet identifier; First transport stream data corresponding to the program association table packet identifier in the stream - a packet, the first transport stream packet includes a program map table identifier; receiving a second share request, the second share request including a program map packet identifier selected by the user; in the transmit transport stream and the second share request a second transport stream packet corresponding to the program map table identifier, the second transport stream packet includes an audio pack identifier, a video pack identifier or a subtitle pack identifier; receiving a third share request, the third share request includes a user selected audio package identifier, a video package identifier, or a subtitle packet identifier; a third transmission in the transmission transport stream corresponding to the audio package identifier, the video package identifier, or the subtitle packet identifier in the third sharing
  • another technical solution adopted by the present invention is: providing a method for sharing a transport stream, the sharing method comprising: sending a first sharing request, where the first sharing request includes a program association table packet identifier; and receiving the transmission a first transport stream packet corresponding to the program association table identifier in the stream, the first transport stream packet includes a program map table identifier; transmitting a second share request, the second share request including the program map selected by the user a table transport identifier; a second transport stream packet corresponding to a program map table identifier in the second share request in the transport stream, the second transport stream packet including an audio pack identifier, a video pack identifier, or a subtitle a packet identifier; sending a third sharing request, the third sharing request including an audio packet identifier, a video packet identifier, or a subtitle packet identifier selected by the user; receiving an audio packet identifier in the transport stream and the third sharing request, The third transport stream packet corresponding to the video packet identifier.
  • the sharing method of the transport stream of the present invention uses the packet identifier as a distinguishing identifier, and only transmits the transport stream data corresponding to the packet identifier in the sharing request in the transport stream according to the user requirement. Packets, to avoid sending other unnecessary transport stream packets, can effectively share the transport stream while saving network bandwidth.
  • FIG. 1 is a flowchart of a method for sharing a transport stream according to a first embodiment of the present invention
  • FIG. 2 is a flowchart of a method for sharing a transport stream according to a second embodiment of the present invention
  • FIG. 3 is a flowchart of a method for sharing a transport stream according to a third embodiment of the present invention
  • FIG. 4 is a flow chart showing a method of sharing a transport stream according to a fourth embodiment of the present invention. detailed description
  • the system architecture adopted by the transport stream sharing method disclosed by the present invention includes a server end and a client end, and the server end and the client end transmit data to each other through a network.
  • the server side stores pre-recorded transport streams and index files.
  • the server side can be a set top box, etc.
  • the client can be a personal computer, a mobile phone, a television, or a tablet.
  • a transport stream contains a plurality of program information, and is composed of a plurality of transport stream data packets.
  • Each transport stream packet is 188 bytes.
  • the structure of the transport stream is as follows:
  • Transport stream packets include headers and payloads.
  • the header is 32-bit data, including 8-bit sync byte, 1-bit transmission error indicator, 1-bit payload indicator, 1-bit transmission priority, 13-bit packet identifier, 2-bit transmission decryption control, 2-bit adaptation Field control, 4-bit continuous counter and optional adaptation fields.
  • the payload portion includes program specific information and a packed elementary stream.
  • the packetized elementary stream includes a timestamp.
  • the structure of the transport stream packet is as follows:
  • the index file is obtained by parsing the transport stream by using the packet identifier as a distinguishing identifier.
  • a corresponding index file can be generated for each package identifier.
  • the index file includes the packet identifier and the location offset of the transport stream packet containing the packet identifier in the transport stream. Further, the index file may also include a timestamp of the transport stream packet itself containing the packet identifier.
  • Index files can be stored in XML format or any other suitable format.
  • index file with the package identifier " ⁇ " is specified, and the index file with the package identifier 'T' is as follows:
  • Pid 1 " represents the package identifier of the transport stream packet corresponding to this index file is " ⁇ ;
  • Offset represents the positional offset of the transport stream packet with the packet identifier T' in the transport stream, and the data "0”, “564", “1880", and "3008" indicate the transport stream with the packet identifier 'T'.
  • Pts represents the timestamp of the transport stream packet itself, and the data "20000”, “40000”, “60000”, and “80000” can be extracted from the payload portion of the transport stream packet whose packet identifier is " ⁇ .
  • FIG. 1 is a flowchart of a method for sharing a transport stream according to a first embodiment of the present invention.
  • the method for sharing a transport stream in this embodiment is described by using a server as an example, and specifically includes the following steps: - - Step S101: receiving a sharing request, the sharing request including a packet identifier;
  • the server After receiving the sharing request, the server extracts the packet identifier from the sharing request.
  • the server can share according to the following sharing request rules:
  • Server_url represents the server url
  • Ts_file_name represents the file name of the shared transport stream
  • Pid_xxx.ts represents the transport stream packet with the packet identifier XXX.
  • the share request "http: ⁇ 192.168.11.123/dvbts/cctv5/pid_0.ts" means that the user requests to share the file name stored in the httpt192.168.ll.123/dvbts address in the transport stream named cctv5.
  • Step S102 Send a transport stream data packet corresponding to the packet identifier in the transport stream.
  • the server After extracting the packet identifier, the server accesses the index file corresponding to the packet identifier.
  • the transport stream is accessed according to the position offset in the index file, and all transport stream packets corresponding to the position offset are extracted and sent to the client in sequence.
  • the specific structure and acquisition method of the index file have been described in detail above, and will not be described herein.
  • the sharing request may also include a timestamp.
  • the server sends a transport stream extracted from the transport stream according to the index file and having its own timestamp equal to and later than the timestamp in the sharing request. data pack.
  • the index file corresponding to the server-side access packet identifier queries the index file for all position offsets whose own timestamp is equal to and shorter than the timestamp in the shared request, and accesses the transport stream according to the position offset, thereby The transport stream packets corresponding to the location offset are extracted and sent to the client in sequence.
  • the server accesses the index file with the packet identifier T', and gets its own timestamp later than "40000".
  • the position offsets are "564", "1880”, "3008", etc., and the transport stream packets corresponding to the above position offsets are extracted and sent to the client in sequence.
  • the packet identifier in the sharing request is a packet identifier of any one or a combination of a program association table, a program map table, a video, an audio, or a subtitle.
  • FIG. 2 is a flowchart of a method for sharing a transport stream according to a second embodiment of the present invention.
  • the method for sharing a transport stream in this embodiment is described by using a client as an example, and specifically includes the following steps: S201: Send a sharing request, where the sharing request includes a package identifier; - - Step S202: Receive a transport stream packet corresponding to the packet identifier in the transport stream.
  • the client receives, from the server, a transport stream packet corresponding to the location offset in the index file extracted from the transport stream according to the index file corresponding to the packet identifier.
  • the sharing request may also include a timestamp.
  • the client receives from the server side a transport stream packet extracted from the transport stream according to the index file and having its own time stamp equal to and later than the time stamp in the shared request.
  • the method for extracting the sharing request, the index file, and the transport stream data packet in this embodiment is the same as that in the first embodiment, and details are not described herein again.
  • FIG. 3 is a flowchart of a method for sharing a transport stream according to a third embodiment of the present invention. As shown in FIG. 3, the method for sharing a transport stream in this embodiment is described by using a server and an on-demand specific program as an example, and specifically includes The following steps:
  • Step S301 Receive a first sharing request, where the first sharing request includes a program association table identifier; after receiving the first sharing request, the server extracts the program association table identifier from the first sharing request.
  • the program association table packet identifier in the transport stream is fixed and is typically zero.
  • Step S302 Send a first transport stream data packet corresponding to the program association table identifier in the transport stream.
  • the server side accesses the index file corresponding to the program association table packet identifier, that is, the index file whose package identifier is 0.
  • the transport stream packet of the program association table i.e., the first transport stream packet
  • the transport stream packet of the program association table includes a program map table identifier of all programs included in the transport stream, for example:
  • Step S303 Receive a second sharing request, where the second sharing request includes a program screen selected by the user. Shot packet identifier.
  • the user selects a plurality of program map table identifiers included in the transport stream packet of the program association table, determines the program that he wants to watch, and includes the corresponding program map table identifier in the first Two sharing requests. For example, if the user chooses to watch the program 3, the second sharing request sent includes the program map table identifier 0x01f4 corresponding to the program 3.
  • Step S304 Send a second transport stream data packet corresponding to the program map table identifier in the second share request in the transport stream.
  • the server side accesses an index file corresponding to the program map table packet identifier in the second share request, for example, an index file whose packet identifier is 0x01f4. Then, the transport stream packet of the program map table (i.e., the second transport stream packet) is extracted from the transport stream according to the position offset in the index file, and the transport stream packet of the program map table is transmitted to the client.
  • the transport stream packet of the program map includes an audio pack identifier, a video pack identifier or a subtitle pack identifier of the corresponding program, for example:
  • video_pid represents a video packet identifier
  • audio_pid represents an audio packet identifier subtitle
  • pid represents a subtitle packet identifier
  • Step S305 Receive a third sharing request, where the third sharing request includes an audio packet identifier, a video packet identifier or a subtitle packet identifier selected by the user.
  • the user selects an audio package identifier, a video package identifier, or a subtitle packet identifier in the transport stream packet of the program map to determine the video, audio or subtitle that he or she wants to watch. For example, if the user chooses to watch video 1, audio 1 and subtitle 1, then the third sharing request needs to include video packet identifier 0x022a, audio packet identifier 0x022b, and subtitle packet identifier 0x022d.
  • Step S306 Send a third transport stream packet in the transport stream corresponding to the audio pack identifier, the video identifier or the subtitle identifier in the third share request.
  • the server side accesses an index file corresponding to an audio identifier, a video identifier, or a subtitle identifier in the third sharing request, for example, an index file whose packet identifiers are 0x022a, 0x022b, and 0x022d, respectively. Then, extracting audio, video, or subtitles from the transport stream based on the position offset in the index file - - Transport stream packets (ie, third transport stream packets), send transport stream packets of audio, video or subtitles to the client, and the client can watch the corresponding program by running the above transport stream packets.
  • an index file corresponding to an audio identifier, a video identifier, or a subtitle identifier in the third sharing request for example, an index file whose packet identifiers are 0x022a, 0x022b, and 0x022d, respectively.
  • the user may need to switch video, audio or subtitles during the viewing of the program, for example, switching the above subtitle 1 to subtitle 2 or switching audio 1 to audio 2.
  • the user only needs to pause the playing process of the program and send a time stamp of the transport stream packet containing the currently running audio, video or subtitle, as well as a new video pack identifier, audio pack identifier or subtitle packet identifier.
  • a shared request for example, 0x022c or 0x022e
  • the server extracts the retrieved file from the transport stream according to the retrieved file corresponding to the new video package identifier, audio pack identifier or caption packet identifier.
  • the transport stream packet corresponding to the location offset and whose own timestamp is later than and equal to the timestamp in the above-mentioned shared request is sequentially sent to the client. Thereby, the program can be resumed from the paused position without having to play the program from the beginning.
  • FIG. 4 is a flowchart of a method for sharing a transport stream according to a fourth embodiment of the present invention. As shown in FIG. 4, the method for sharing a transport stream in this embodiment is described by using a client and an on-demand specific program as an example, and specifically includes The following steps:
  • Step S401 Send a first sharing request, where the first sharing request includes a program association table packet identifier;
  • Step S402 Receive a first transport stream data packet corresponding to the program association table packet identifier in the transport stream, the first data packet Including a program map table identifier;
  • Step S403 Send a second sharing request, where the second sharing request includes a program mapping table identifier selected by the user;
  • Step S404 Receive a second transport stream data packet corresponding to the program map table identifier in the second share request in the transport stream, where the second transport stream data packet includes an audio pack identifier, a video packet identifier, or a subtitle packet. Identifier
  • Step S405 Send a third sharing request, where the third sharing request includes an audio packet identifier, a video packet identifier, or a subtitle packet identifier selected by the user;
  • Step S406 Receive a third transport stream packet in the transport stream corresponding to the audio pack identifier, the video pack identifier or the caption packet identifier in the third share request.
  • the packet identifiers of the shared request are obtained based on the index file.
  • the index file is not a requirement for the purpose of the invention.
  • the transport stream is parsed in real time by using the packet identifier as a distinguishing flag, thereby obtaining a transport stream packet including the packet identifier.
  • the sharing method of the transport stream of the present invention uses the packet identifier as a distinguishing identifier, and only transmits the transport stream data corresponding to the packet identifier in the sharing request in the transport stream according to the user requirement. Packets, to avoid sending other unnecessary transport stream packets, can effectively share the transport stream while saving network bandwidth.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种传输流的共享方法。该方法包括:接收共享请求,共享请求包括包标识符;发送传输流中与包标识符对应的传输流数据包。通过上述方式,本发明根据用户需求仅发送传输流中与共享请求中的包标识符对应的传输流数据包,避免发送其他不必要的传输流数据包,可以在节约网络带宽的同时实现对传输流的有效共享。

Description

一 一 一种传输流的共享方法
本申请要求于 2012 年 9 月 10 日提交中国专利局、 申请号为 201210332151.8, 发明名称为 "一种传输流的共享方法" 的中国专利申请的优 先权, 其全部内容通过引用结合在本申请中。 技术领域
本发明涉及通信技术领域, 尤其涉及一种传输流的共享方法。 背景技术
随着机顶盒的功能越来越丰富, 人们除了用机顶盒来收看数字电视节目 夕卜,还可以获得很多其他的功能,录制功能就是其中之一。在使用录制功能时, 录制好的节目会自动生成一个传输流(TS ) 并存储起来。 用户可随时通过机 顶盒调用录制好的传输流进行收看。如果录制好的传输流需要在其它设备上观 看, 例如: 个人电脑、 手机等, 可以采用将传输流通过网络直接共享, 并由其 它设备下载访问的方式来观看。 由于录制的传输流通常包括多个节目的信息, 其数据量非常庞大, 所以采用上述方式, 会消耗掉大量的带宽, 造成资源^艮大 的浪费。 发明内容
本发明主要解决的技术问题是提供一种传输流的共享方法,以在节约网络 带宽的同时实现对传输流的有效共享。
为解决上述技术问题, 本发明采用的一个技术方案是: 提供一种传输流的 共享方法, 该共享方法包括: 接收共享请求, 共享请求包括包标识符; 发送传 输流中与包标识符对应的传输流数据包。
为解决上述技术问题, 本发明采用的另一个技术方案是: 提供一种传输流 的共享方法, 该共享方法包括: 发送共享请求, 共享请求包括包标识符; 接收 传输流中与包标识符对应的传输流数据包。
为解决上述技术问题, 本发明采用的又一个技术方案是: 提供一种传输流 的共享方法, 该共享方法包括: 接收第一共享请求, 第一共享请求包括节目关 联表包标识符;发送传输流中与节目关联表包标识符相对应的第一传输流数据 - - 包, 第一传输流数据包包括节目映射表包标识符; 接收第二共享请求, 第二共 享请求包括经用户选择的节目映射表包标识符;发送传输流中与第二共享请求 中的节目映射表包标识符相对应的第二传输流数据包,第二传输流数据包包括 音频包标识符、 视频包标识符或字幕包标识符; 接收第三共享请求, 第三共享 请求包括经用户选择的音频包标识符、视频包标识符或字幕包标识符; 发送传 输流中与第三共享请求中的音频包标识符、视频包标识符或字幕包标识符相对 应的第三传输流数据包。
为解决上述技术问题, 本发明采用的又一个技术方案是: 提供一种传输流 的共享方法, 该共享方法包括: 发送第一共享请求, 第一共享请求包括节目关 联表包标识符;接收传输流中与节目关联表包标识符相对应的第一传输流数据 包, 第一传输流数据包包括节目映射表包标识符; 发送第二共享请求, 第二共 享请求包括经用户选择的节目映射表包标识符;接收传输流中与第二共享请求 中的节目映射表包标识符相对应的第二传输流数据包,第二传输流数据包包括 音频包标识符、 视频包标识符或字幕包标识符; 发送第三共享请求, 第三共享 请求包括经用户选择的音频包标识符、视频包标识符或字幕包标识符;接收传 输流中与第三共享请求中的音频包标识符、视频包标识符或字幕包标识符相对 应的第三传输流数据包。
本发明的有益效果是: 与现有技术相比, 本发明传输流的共享方法以包标 识符为区分标识,根据用户需求仅发送传输流中与共享请求中的包标识符对应 的传输流数据包,避免发送其他不必要的传输流数据包, 可以在节约网络带宽 的同时实现对传输流的有效共享。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作筒单地介绍,显而易见地, 下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1是本发明第一实施例的传输流的共享方法的流程图;
图 2是本发明第二实施例的传输流的共享方法的流程图; - - 图 3是本发明第三实施例的传输流的共享方法的流程图;
图 4是本发明第四实施例的传输流的共享方法的流程图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
本发明公开的传输流共享方法所采用的系统架构包括服务器端和客户端, 服务器端和客户端通过网络相互传递数据。服务器端存储有预先录制的传输流 和索引文件。其中,服务器端可以是机顶盒等,客户端可以是个人电脑、手机、 电视或平板电脑等。
如本领域技术人员所知的,传输流包含有多个节目信息, 由多个传输流数 据包组成。 每个传输流数据包为 188个字节。 传输流的结构如下所示:
Figure imgf000005_0002
传输流数据包包括首部和有效负载。 其中, 首部为 32位数据, 包括 8位 同步字节、 1位传输错误指示器、 1位有效负载指示器、 1位传送优先级、 13 位包标识符、 2位传送解密控制、 2位适应字段控制、 4位连续计数器和可选 的适应字段。 有效负载部分包括节目特殊信息和经过打包的基本流。 其中, 经 过打包的基本流包括时间戳。 传输流数据包的结构如下所示:
首部
Figure imgf000005_0001
传输流数据包的首部的结构如下所示: - -
Figure imgf000006_0001
在本发明中, 索引文件是通过以包标识符为区分标识,对传输流进行解析 获得的。针对每一个包标识符可产生一个对应的索引文件。 索引文件包括包标 识符以及包含该包标识符的传输流数据包在传输流中的位置偏移。进一步, 索 引文件还可以包括包含该包标识符的传输流数据包自身的时间戳。索引文件可 以采用 XML格式或其他任意适当格式进行存储。
例如, 以包标识符为 "Γ的索引文件进行具体说明, 包标识符为' T'的索引 文件如下所示:
<?xml version="1.0"?>
<xml_api_reply pid=" 1 ">
<data>offset="0" pts="20000"</data>
<data> offset="564" pts =" 40000 "</data>
<data> offset:" 1880" pts =" 60000 "</data>
<data> offset="3008" pts ="80000"</data>
</xml_api_reply>
其中:
pid=" 1 "代表此索引文件对应的传输流数据包的包标识符为 "Γ;
offset代表包标识符为 T'的传输流数据包在传输流中的位置偏移, 数据 "0"、 "564"、 "1880"和" 3008"等表示包标识符为' T'的传输流数据包相对于传输 流开始位置的实际偏移量;
pts 代表传输流数据包自身的时间戳, 数据" 20000"、 "40000"、 "60000"和 " 80000"等可以从包标识符为 "Γ的传输流数据包的有效负载部分提取得到。
请参见图 1 , 图 1是本发明第一实施例的传输流的共享方法的流程图。 如 图 1所示, 本实施例的传输流的共享方法是以服务器端为例进行描述的, 具体 包括如下步骤: - - 步骤 S101 : 接收共享请求, 该共享请求包括包标识符;
服务器端在接收到共享请求后,从共享请求中提取包标识符。在优选实施 例中, 服务器端可以按照如下共享请求规则进行共享:
Server_url/ts_file_name/pid_xxx.ts
其中, Server_url表示服务器 url, Ts_file_name表示共享的传输流的文件 名, Pid_xxx.ts则表示包标识符为 XXX的传输流数据包。
例如, 共享请求" http:〃192.168.11.123/dvbts/cctv5/pid_0.ts"就表示用户请求 共享在 http://192.168.ll.123/dvbts地址下存储的文件名为 cctv5的传输流中的 包标识符为 0的传输流数据包。
步骤 S102: 发送传输流中与包标识符对应的传输流数据包。
服务器端在提取包标识符后,访问包标识符对应的索引文件。根据索引文 件中的位置偏移访问传输流,提取与位置偏移相对应的所有传输流数据包, 并 依序发送给客户端。索引文件的具体结构及获取方法在上文中已经进行了详细 描述, 在此不再赘述。
进一步, 共享请求还可以包括时间戳。 此时, 服务器端在进一步提取到该 时间戳后,发送根据索引文件从传输流中提取的与其中的位置偏移相对应且其 自身时间戳等于和晚于共享请求中的时间戳的传输流数据包。具体来说,服务 器端访问包标识符对应的索引文件,在索引文件中查询其自身时间戳等于和晚 于共享请求中的时间戳的所有位置偏移,根据该位置偏移访问传输流,从而提 取与该位置偏移相对应的传输流数据包, 并依序发送给客户端。
例如: 当服务器端接收到的共享请求中的包标识符为' T , 时间戳为 "40000' '时, 服务器端访问包标识符为 T'的索引文件, 得到其自身时间戳晚于 "40000"的位置偏移为 "564"、 "1880"和" 3008"等, 进而提取与上述位置偏移对 应的传输流数据包, 并依序发送给客户端。
其中, 共享请求中的包标识符为节目关联表、 节目映射表、 视频、 音频或 字幕中的任意一个或组合的包标识符。
图 2是本发明第二实施例的传输流的共享方法的流程图,如图 2所示, 本 实施例的传输流的共享方法是以客户端为例进行描述的, 具体包括如下步骤: 步骤 S201 : 发送共享请求, 该共享请求包括包标识符; - - 步骤 S202: 接收传输流中与包标识符对应的传输流数据包。 具体而言, 客户端从服务器端接收根据包标识符对应的索引文件从传输流中提取的与索 引文件中的位置偏移相对应的传输流数据包。
进一步, 共享请求还可以包括时间戳。 此时, 客户端从服务器端接收根据 索引文件从传输流中提取的与其中的位置偏移相对应且其自身时间戳等于和 晚于共享请求中的时间戳的传输流数据包。
本实施例中的共享请求、索引文件以及传输流数据包的提取方式与第一实 施例相同, 在此不再赘述。
图 3是本发明第三实施例的传输流的共享方法的流程图,如图 3所示, 本 实施例的传输流的共享方法是以服务器端及点播具体节目为例进行描述的,具 体包括如下步骤:
步骤 S301 : 接收第一共享请求, 第一共享请求包括节目关联表包标识符; 服务器端在接收到第一共享请求后,从第一共享请求中提取节目关联表包 标识符。 一般来说, 传输流中的节目关联表包标识符是固定的, 且通常为 0。
步骤 S302: 发送传输流中与节目关联表包标识符对应的第一传输流数据 包;
此时,服务器端访问与节目关联表包标识符对应的索引文件,也即包标识 符为 0的索引文件。根据索引文件中的位置偏移从传输流中提取出节目关联表 的传输流数据包(即, 第一传输流数据包), 发送节目关联表的传输流数据包 给客户端。节目关联表的传输流数据包中包括传输流所包含的所有节目的节目 映射表包标识符, 例如:
节目 1 program— _number = 0x6e92, program_map_pid = 0x012c;
节目 2 program— _number = 0x6e93 , program_map_pid = 0x0190;
节目 3 program— _number = 0x6e94, program_map_pid = 0x01f4;
节目 4 program— _number = 0x6e95 , program_map_pid = 0x0258;
节目 5 program— _number = 0x6e96, program_map_pid = 0x02bC o 其中, program_number代表节目号, 用于表示传输流中的一个节目; program_map_pid代表该节目对应的节目映射表包标识符。
步骤 S303: 接收第二共享请求, 第二共享请求包括经用户选择的节目映 射表包标识符。在本步骤中, 用户对节目关联表的传输流数据包中包含的多个 节目映射表包标识符进行选择,确定自己想要观看的节目, 并将对应的节目映 射表包标识符包含于第二共享请求中。 例如: 假设用户选择收看节目 3 , 则发 送的第二共享请求中包括节目 3对应的节目映射表包标识符 0x01f4。
步骤 S304: 发送传输流中与第二共享请求中的节目映射表包标识符对应 的第二传输流数据包。
服务器端访问与第二共享请求中的节目映射表包标识符对应的索引文件, 例如包标识符为 0x01f4的索引文件。 随后, 根据索引文件中的位置偏移从传 输流中提取出节目映射表的传输流数据包(即, 第二输流数据包), 发送节目 映射表的传输流数据包给客户端。节目映射表的传输流数据包中包括对应节目 的音频包标识符、 视频包标识符或字幕包标识符, 例如:
视频 1 : video— pid = 0x022a;
音频 1 : audio— pid = 0x022b;
音频 2: audio— pid = 0x022c;
字幕 1 : subtitle— pid = 0x022d;
字幕 2: subtitle— pid = 0x022e。
其中, video_pid代表视频包标识符, audio_ pid代表音频包标识符 subtitle, pid代表字幕包标识符。
步骤 S305: 接收第三共享请求, 第三共享请求包括经用户选择的音频包 标识符、 视频包标识符或字幕包标识符。 在本步骤中, 用户对节目映射表的传 输流数据包中的音频包标识符、视频包标识符或字幕包标识符进行选择, 以确 定自己想要观看的视频、 音频或字幕。 例如, 用户选择观看视频 1、 音频 1和 字幕 1 , 则第三共享请求则需要包括视频包标识符 0x022a、 音频包标识符 0x022b以及字幕包标识符 0x022d。
步骤 S306: 发送传输流中与第三共享请求中的音频包标识符、 视频标识 符或者字幕标识符相对应的第三传输流数据包。
服务器端访问与第三共享请求中的音频标识符、视频标识符或者字幕标识 符对应的索引文件, 例如包标识符分别为 0x022a、 0x022b和 0x022d的索引文 件。 随后, 根据索引文件中的位置偏移从传输流中提取出音频、 视频或字幕的 - - 传输流数据包(即, 第三传输流数据包), 发送音频、 视频或字幕的传输流数 据包给客户端, 客户端通过运行上述传输流数据包即可观看相应的节目。
进一步地, 用户在观看节目的过程中可能需要对视频、音频或字幕进行切 换时, 例如将上文的字幕 1切换成字幕 2或者将音频 1切换成音频 2。 在本实 施例中, 用户只需暂停节目的播放进程, 并发送包含当前运行的音频、视频或 字幕的传输流数据包的时间戳以及新的视频包标识符、音频包标识符或字幕包 标识符(例如, 0x022c或 0x022e ) 的共享请求至服务器端, 服务器端则根据 新的视频包标识符、音频包标识符或字幕包标识符所对应的检索文件从传输流 中提取出与该检索文件中的位置偏移对应且其自身时间戳晚于和等于上述共 享请求中的时间戳的传输流数据包, 并依序发送给客户端。 由此, 使得节目可 以从暂停位置继续播放, 无需从头播放节目。
图 4是本发明第四实施例的传输流的共享方法的流程图,如图 4所示, 本 实施例的传输流的共享方法是以客户端及点播具体节目为例进行描述的,具体 包括如下步骤:
步骤 S401 : 发送第一共享请求, 第一共享请求包括节目关联表包标识符; 步骤 S402: 接收传输流中与节目关联表包标识符相对应的第一传输流数 据包, 该第一数据包包括节目映射表包标识符;
步骤 S403: 发送第二共享请求, 第二共享请求包括经用户选择的节目映 射表包标识符;
步骤 S404: 接收传输流中与第二共享请求中的节目映射表包标识符相对 应的第二传输流数据包, 该第二传输流数据包包括音频包标识符、视频包标识 符或字幕包标识符;
步骤 S405: 发送第三共享请求, 第三共享请求包括经用户选择的音频包 标识符、 视频包标识符或字幕包标识符;
步骤 S406: 接收传输流中与第三共享请求中的音频包标识符、 视频包标 识符或字幕包标识符相对应的第三传输流数据包。
如果用户需要切换到其它节目, 停止当前节目的播放, 重复步骤 S403到 步骤 S406即可播放其他节目。
在上述实施例中,均是以索引文件为基础来获取与共享请求的包标识符相 - - 对应的传输流数据包,然而索引文件并不是实现本发明目的的必要条件。例如, 可以通过在收到共享请求并提取出包标识符后,再以该包标识符为区分标记对 传输流进行实时解析, 进而获得包含该包标识符的传输流数据包。
本发明的有益效果是: 与现有技术相比, 本发明传输流的共享方法以包标 识符为区分标识,根据用户需求仅发送传输流中与共享请求中的包标识符对应 的传输流数据包,避免发送其他不必要的传输流数据包, 可以在节约网络带宽 的同时实现对传输流的有效共享。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算 机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。 其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM )或随机存储记忆体(Random Access Memory, RAM )等。

Claims

权 利 要 求
1. 一种传输流的共享方法, 其特征在于, 所述共享方法包括:
接收共享请求, 所述共享请求包括包标识符;
发送传输流中与所述包标识符对应的传输流数据包。
2. 根据权利要求 1 所述的共享方法, 其特征在于, 所述发送传输流中与 所述包标识符对应的传输流数据包的步骤包括:
发送根据所述包标识符对应的索引文件从所述传输流中提取的与所述索 引文件中的位置偏移相对应的所述传输流数据包,所述索引文件是通过以所述 包标识符为区分标识对所述传输流进行解析获得的,所述索引文件包括所述包 标识符以及包含所述包标识符的所述传输流数据包在所述传输流中的所述位 置偏移。
3. 根据权利要求 2所述的共享方法, 其特征在于, 所述索引文件进一步 包括所述传输流数据包的第一时间戳, 所述共享请求进一步包括第二时间戳; 所述发送传输流中与所述包标识符对应的传输流数据包的步骤包括: 发送根据所述索引文件从所述传输流中提取的与所述位置偏移相对应且 所述第一时间戳等于和晚于所述第二时间戳的所述传输流数据包。
4. 根据权利要求 1 所述的共享方法, 其特征在于, 所述包标识符为节目 关联表、 节目映射表、 视频、 音频或字幕中的任意一个或组合的包标识符。
5. 一种传输流的共享方法, 其特征在于, 所述共享方法包括:
发送共享请求, 所述共享请求包括包标识符;
接收传输流中与所述包标识符对应的传输流数据包。
6. 根据权利要求 5所述的共享方法, 其特征在于, 所述接收传输流中与 所述包标识符对应的传输流数据包的步骤包括:
接收根据所述包标识符对应的索引文件从所述传输流中提取的与所述索 引文件中的位置偏移相对应的所述传输流数据包,所述索引文件是通过以所述 包标识符为区分标识对所述传输流进行解析获得的,所述索引文件包括所述包 标识符以及包含所述包标识符的所述传输流数据包在所述传输流中的所述位 置偏移。
7. 根据权利要求 6所述的共享方法, 其特征在于, 所述索引文件进一步 包括所述传输流数据包的第一时间戳, 所述共享请求进一步包括第二时间戳; 所述接收传输流中与所述包标识符对应的传输流数据包的步骤包括: 接收根据所述索引文件从所述传输流中提取的与所述位置偏移相对应且 所述第一时间戳等于和晚于所述第二时间戳的所述传输流数据包。
8. 根据权利要求 1 所述的共享方法, 其特征在于, 所述包标识符为节目 关联表、 节目映射表、 视频、 音频或字幕中的任意一个或组合的包标识符。
9. 一种传输流的共享方法, 其特征在于, 所述共享方法包括:
接收第一共享请求, 所述第一共享请求包括节目关联表包标识符; 发送传输流中与所述节目关联表包标识符相对应的第一传输流数据包,所 述第一传输流数据包包括节目映射表包标识符;
接收第二共享请求,所述第二共享请求包括经用户选择的所述节目映射表 包标识符;
发送传输流中与所述第二共享请求中的所述节目映射表包标识符相对应 的第二传输流数据包, 所述第二传输流数据包包括音频包标识符、视频包标识 符或字幕包标识符;
接收第三共享请求,所述第三共享请求包括经用户选择的所述音频包标识 符、 所述视频包标识符或所述字幕包标识符;
发送传输流中与所述第三共享请求中的所述音频包标识符、所述视频包标 识符或所述字幕包标识符相对应的第三传输流数据包。
10. 一种传输流的共享方法, 其特征在于, 所述共享方法包括: 发送第一共享请求, 所述第一共享请求包括节目关联表包标识符; 接收传输流中与所述节目关联表包标识符相对应的第一传输流数据包,所 述第一传输流数据包包括节目映射表包标识符;
发送第二共享请求,所述第二共享请求包括经用户选择的所述节目映射表 包标识符;
接收传输流中与所述第二共享请求中的所述节目映射表包标识符相对应 的第二传输流数据包, 所述第二传输流数据包包括音频包标识符、视频包标识 符或字幕包标识符;
发送第三共享请求,所述第三共享请求包括经用户选择的所述音频包标识 符、 所述视频包标识符或所述字幕包标识符;
接收传输流中与所述第三共享请求中的所述音频包标识符、所述视频包标 识符或所述字幕包标识符相对应的第三传输流数据包。
PCT/CN2013/080704 2012-09-10 2013-08-02 一种传输流的共享方法 WO2014036873A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210332151.8 2012-09-10
CN201210332151.8A CN102905174B (zh) 2012-09-10 2012-09-10 一种传输流的共享方法

Publications (1)

Publication Number Publication Date
WO2014036873A1 true WO2014036873A1 (zh) 2014-03-13

Family

ID=47577181

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/080704 WO2014036873A1 (zh) 2012-09-10 2013-08-02 一种传输流的共享方法

Country Status (2)

Country Link
CN (1) CN102905174B (zh)
WO (1) WO2014036873A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102905174B (zh) * 2012-09-10 2016-06-08 深圳创维数字技术股份有限公司 一种传输流的共享方法
CN104394455B (zh) * 2014-12-11 2018-04-20 珠海迈越信息技术有限公司 一种根据数据类型进行节目录制的方法及系统
TWI558184B (zh) * 2015-05-06 2016-11-11 黃國訓 一種電視節目錄影關聯系統
CN106686400A (zh) * 2016-12-27 2017-05-17 成都视达科信息技术有限公司 一种基于机顶盒多路解扰的多屏互动方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030002577A1 (en) * 2001-06-29 2003-01-02 Pinder Howard G. In a subscriber network receiving digital packets and transmitting digital packets below a predetermined maximum bit rate
CN1615018A (zh) * 2003-11-06 2005-05-11 皇家飞利浦电子股份有限公司 一种从mpeg多节目传送流中提取/存储特定节目的方法和系统
CN101388780A (zh) * 2007-09-12 2009-03-18 英华达(南京)科技有限公司 移动通讯装置共享有线数字节目的系统及方法
CN102905174A (zh) * 2012-09-10 2013-01-30 深圳创维数字技术股份有限公司 一种传输流的共享方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571726B (zh) * 2010-12-23 2016-06-22 中国移动通信集团广东有限公司 多媒体数据共享的方法、系统及状态判定服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030002577A1 (en) * 2001-06-29 2003-01-02 Pinder Howard G. In a subscriber network receiving digital packets and transmitting digital packets below a predetermined maximum bit rate
CN1615018A (zh) * 2003-11-06 2005-05-11 皇家飞利浦电子股份有限公司 一种从mpeg多节目传送流中提取/存储特定节目的方法和系统
CN101388780A (zh) * 2007-09-12 2009-03-18 英华达(南京)科技有限公司 移动通讯装置共享有线数字节目的系统及方法
CN102905174A (zh) * 2012-09-10 2013-01-30 深圳创维数字技术股份有限公司 一种传输流的共享方法

Also Published As

Publication number Publication date
CN102905174B (zh) 2016-06-08
CN102905174A (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
CA3070431C (en) Apparatus and method for configuring control message in broadcasting system
US20090106288A1 (en) Method and system for supporting media data of various coding formats
US20160165276A1 (en) Transmitting method, receiving method, transmitting apparatus, and receiving apparatus
US8839313B2 (en) Realtime broadcast stream and control data conversion system and method
US20150281800A1 (en) Broadcast content to http client conversion
WO2014203871A1 (ja) 送信装置、送信方法、再生装置、再生方法および受信装置
JP2016521500A (ja) 放送伝送装置、放送受信装置、放送伝送装置の動作方法及び放送受信装置の動作方法
US10499094B2 (en) Transmission apparatus, transmitting method, reception apparatus, and receiving method
KR20130005873A (ko) 방송 시스템에서 컨텐츠 수신 방법 및 장치
JP4308555B2 (ja) 受信装置および情報閲覧方法
KR20120114016A (ko) 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치
CN107534793B (zh) 接收装置、传输装置以及数据处理方法
WO2010075743A1 (zh) 一种网络电视显示时间的方法及设备
US10057624B2 (en) Synchronization of content rendering
WO2014036873A1 (zh) 一种传输流的共享方法
EP2312826A2 (en) Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system
US9635082B2 (en) Method of saving content to a file on a server and corresponding device
EP2479984A1 (en) Device and method for synchronizing content received from different sources
KR20130040144A (ko) 엠엠티 시스템에서의 패킷 전송 장치 및 방법, 및 패킷 수신 장치 및 방법
KR102271686B1 (ko) 이종 네트워크 기반의 멀티미디어 자원 동기화 푸시 방법
TW201145981A (en) Cloud video and event processing sub-system and source end and player
JP4794640B2 (ja) 送信装置およびメディアデータ送信方法
US10750215B2 (en) Method and device for transmitting metadata in WFD
KR20130008436A (ko) Mmt 복합 전달 서비스에서 mmt 패킷 스트림 동기화를 위한 타이밍 정보 제공 방법 및 mmt 패킷 스트림 동기화 방법
JP2004228850A (ja) 受信再生方法、受信再生装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13834600

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 03/08/2015)

122 Ep: pct application non-entry in european phase

Ref document number: 13834600

Country of ref document: EP

Kind code of ref document: A1