CN101371488B - 一种不同媒体流间的同步方法及系统 - Google Patents
一种不同媒体流间的同步方法及系统 Download PDFInfo
- Publication number
- CN101371488B CN101371488B CN2007800024610A CN200780002461A CN101371488B CN 101371488 B CN101371488 B CN 101371488B CN 2007800024610 A CN2007800024610 A CN 2007800024610A CN 200780002461 A CN200780002461 A CN 200780002461A CN 101371488 B CN101371488 B CN 101371488B
- Authority
- CN
- China
- Prior art keywords
- time
- timestamp
- rtp
- corresponding relation
- pts
- 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
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000001360 synchronised effect Effects 0.000 claims description 70
- 230000002123 temporal effect Effects 0.000 claims description 41
- 238000013507 mapping Methods 0.000 claims description 34
- 230000005540 biological transmission Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 14
- 238000012546 transfer Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 58
- 230000008569 process Effects 0.000 description 32
- 238000004364 calculation method Methods 0.000 description 14
- 239000012467 final product Substances 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 10
- 238000005538 encapsulation Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000011248 coating agent Substances 0.000 description 4
- 238000000576 coating method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004064 recycling Methods 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 101000857634 Homo sapiens Receptor-transporting protein 1 Proteins 0.000 description 1
- 101000635752 Homo sapiens Receptor-transporting protein 2 Proteins 0.000 description 1
- 102100025426 Receptor-transporting protein 1 Human genes 0.000 description 1
- 102100030850 Receptor-transporting protein 2 Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- KQTVWCSONPJJPE-UHFFFAOYSA-N etridiazole Chemical compound CCOC1=NC(C(Cl)(Cl)Cl)=NS1 KQTVWCSONPJJPE-UHFFFAOYSA-N 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- 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
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
-
- 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
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种不同媒体流间的同步方法和系统。该方法包括下列步骤:建立第一媒体流数据包第一时间信息与第一显示时间的第一对应关系;建立第二媒体流数据包第二时间信息与第二显示时间的第二对应关系;根据该对应关系,在时间信息对应的第一显示时间与第二显示时间之间的差小于阈值时,将第一媒体流数据包与第二媒体流数据包同时显示。该方法实现了来自于广播网络的节目和来自于宽带的节目的同步,解决了来自于不同网络的媒体流之间的同步。
Description
技术领域
本发明涉及媒体流间数据流的同步技术,特别涉及不同媒体流间数据流的同步技术。
背景技术
现代通信中存在着各种不同的媒体流,其中比较具有代表性的是传输流与实时传输协议流。
一、传输流(TS,Transport Stream)的同步。
活动图像专家组(MPEG,Moving Picture Exports Group)于1988年成立。MPEG-2是其颁布的(活动图像及声音编码)国际标准之一,制定于1994年,是为高级工业标准的图像质量以及更高的传输率而设计。编码码率从每秒3兆比特~100兆比特,是广播级质量的图像压缩标准,并具有CD级的音质。它在常规电视的数字化、高清晰电视HDTV、视频点播VOD,交互式电视等各个领域中都是核心的技术之一。图1为MPEG-2的时序模型示意图,如图所示,MPEG-2中的同步不仅仅指同一节目的音频流和视频流间的同步,还包括编码器和解码器之间端到端的同步。
1、TS流中时间戳定义。
MPEG-2TS流中的同步是通过时间戳来实现的,由编码器中单一的公用系统时钟(STC,System Time Clock)27MHz创建时间戳,TS流中时间戳有两类:
TS包头中指出系统时钟值的节目参考时钟(PCR,Program ClockReference),每个节目当且仅有一个PCR;
分组基本流(PES,Packetised Elementary Stream)包头中指出音频和视频正确的解码时间戳(DTS,Decoding time-stamp)和展现时间戳(PTS,Presentation time-stamp),每个存储单元配有一对PTS+DTS或者一个PTS。
2、TS流中的同步机制。
解码器在解码时,首先利用PCR重建和编码器同步的27MHz系统时钟,恢复27MHz系统时钟后,再利用PES流中的DTS、PTS进行音频和视频间的同步。
具体算法如下:
图2为用PCR重建27MHz系统时钟的流程示意图,如图所示,解码器从输入码流的包头中解出时间信息PCR送入到系统时间时钟恢复电路;系统时间时钟恢复电路再接收到每一个新的PCR时,进行本地系统时间时钟恢复和锁相。当一个新节目的PCR到达解码器时就需要更新时间基点,STC要设置为PCR中的当前值。通常第一个从解复用器中解出的PCR被直接装入STC的计数器,PCR值作为锁相环的参考频率用来和STC的当前值比较,产生的差值经过脉宽调制后输入到低通滤波器并经放大,成为控制信号用来控制压控振荡器(VCO,Voltage Controlled Oscillator)的瞬时频率,VCO输出的频率是在27MHz左右的振荡信号,它作为解码器的系统时钟。
解复用器后,从PES包头解出展现时间戳PTS和解码时间戳DTS,并送入到解码器中。
分组基本流解码器在接收到新的PTS/DTS后,存入对应的先进先出(FIFO,First In First Out)存储器中进行管理,对于没有PTS/DTS的显示单元,通过差值计算的方法获得其对应的时间戳,并送入到FIFO中管理。
每一个显示单元开始解码前,用其对应的DTS与STC进行比较,当STC与DTS相等时开始解码。
每一个显示单元开始显示前,用其对应的PTS与STC进行比较,当STC与PTS相等时开始显示。
二、实时传输协议流(RTP,Realtime Transport Protocol)的同步。
RTP是针对Internet上多媒体数据流的一个传输协议,由Internet工程任务组(IETF,Internet Engineering Task Force)作为RFC1889发布。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP的典型应用建立在用户数据报协议(UDP,User Datagram Protocol)上,但也可以在传输控制协议(TCP,Transmission Control Protocol)或其他协议之上工作。RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠实时传输控制协议(RTCP,Realtime Transport Control Protocol)提供这些服务。
RTCP负责管理传输质量在当前应用进程之间交换控制信息。在RTP会话期间,各参与者周期性地传送RTCP包,包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,故特别适合传送网上的实时数据。
1、RTP流中时间戳的处理。
时间戳字段是RTP首部中说明数据包时间的同步信息,是数据能以正确的时间顺序恢复的关键。时间戳的值给出了分组中数据的第一个字节的采样时间(Sampling Instant),要求发送方时间戳的时钟是连续、单调增长的,即使在没有数据输入或发送数据时也是如此。在静默时,发送方不必发送数据,保持时间戳的增长,在接收端,由于接收到的数据分组的序号没有丢失,就知道没有发生数据丢失,而且只要比较前后分组的时间戳的差异,就可以确定输出的时间间隔。
2、实时流协议(RTSP,Real-time Streaming Protocol)播放RTP节目过程示意。
RTSP是应用层协议,目的是为流媒体实现多点传送和以点播方式单一传送提供的协议。RTSP利用流技术把数据分成许多包,包的大小由客户端和服务端的实际带宽决定,当客户端接收到足够的数据包时,用户不需下载整个媒体文件就可以开始播放流媒体。因为播放器在播放一个包的同时,解压另一个包并下载第三个包。流媒体数据可以是输入的实况信息,也可以是存储的视、音频片段。通过RTSP协议,服务器端可以跟踪流媒体传输的时间、地址和方式。RTSP增加了对流媒体的控制请求,能恢复来自媒体服务器的流媒体。
在RTSP中假定:采样频率为8000Hz(采样频率由负载格式决定),打包间隔为100ms,初始化的序列号(sequence number)和RTP时间戳(rtptimestamp)为0,则表述为:
RTP的数据流描述如下:
其中,NPT为正常播放时间(Normal play time)。
通过Range:10-15可以获知播放的节目的时间段为节目的第10~15秒;所以RTSP服务器下发的RTP包的显示时间(NPT)从10开始。
通过上例可以看出RTP timestamp和NPT时间之间的对应关系,终端根据将多个RTP流的RTP time-stamp转换为统一的NPT,将NPT相同的(相差在某个范围之内)同时展现。
目前存在着将TS流与RTP流之间同步的需求,进一步的,更加需求在任意不同媒体流之间进行同步。然而,现有技术中却没有相应的解决方法。
发明内容
本发明实施例提供一种不同媒体流间的同步方法及系统,用以实现来自于不同网络媒体之间的媒体流之间的同步。更进一步的,用于实现RTP流与TS流之间的同步。
本发明实施例所提供的一种不同媒体流间的同步方法,包括如下步骤:
建立第一媒体流数据包第一时间信息与第一显示时间的第一对应关系,所述第一媒体流是传输流时,所述第一时间信息是展现时间戳,所述第一显示时间是正常播放时间;
建立第二媒体流数据包第二时间信息与第二显示时间的第二对应关系,所述第二媒体流是实时传输协议流时,所述第二时间信息是实时传输协议时间戳,所述第二显示时间是正常播放时间;
根据所述第一对应关系和第二对应关系,在第一显示时间与第二显示时间差小于阈值时,将第一媒体流数据包与第二媒体流数据包同时显示;
其中:在任一时间t时,所述第一对应关系是:
根据t时刻的展现时间戳、通过在事件信息表EIT中添加节目的起始存储单元的展现时间戳标识符获知的节目的起始存储单元的展现时间戳以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系;
或,
根据t时刻的展现时间戳、节目起始存储单元的展现时间戳以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系;
或,
根据唯一标识节目表、t时刻的展现时间戳、唯一标识节目表中离t时刻最近的时刻的展现时间戳、唯一标识节目表中离t时刻最近的时刻展现时间戳的正常播放时间以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系,所述唯一标识节目表为节目的展现时间戳与节目正常播放时间的对应表;
或,
通过在扩展分组基本流包头加入正常播放时间戳,建立展现时间戳与正常播放时间的对应关系。
本发明实施例还提供了一种不同媒体流间的同步系统,包括:
第一对应模块,用于建立第一媒体流数据包第一时间信息与第一显示时间的第一对应关系,所述第一媒体流是传输流时,所述第一时间信息是展现时间戳,所述第一显示时间是正常播放时间;
第二对应模块,用于建立第二媒体流数据包第二时间信息与第二显示时间的第二对应关系,所述第二媒体流是实时传输协议流时,所述第二时间信息是实时传输协议时间戳,所述第二显示时间是正常播放时间;
显示模块,用于根据所述对应关系,在时间信息对应的第一显示时间与第二显示时间差小于阈值时,将第一媒体流数据包与第二媒体流数据包同时显示;
在任一时间t时,所述第一对应模块:
根据t时刻的展现时间戳、通过在事件信息表EIT中添加节目的起始存储单元的展现时间戳标识符获知的节目的起始存储单元的展现时间戳以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系;
或,
根据t时刻的展现时间戳、节目起始存储单元的展现时间戳以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系;
或,
根据唯一标识节目表、以及t时刻的展现时间戳、唯一标识节目表中离t时刻最近的时刻的展现时间戳、唯一标识节目表中离t时刻最近的时刻展现时间戳的正常播放时间以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系,所述唯一标识节目表为节目的展现时间戳与节目正常播放时间的对应表;
或,
通过在扩展分组基本流包头加入正常播放时间戳,建立展现时间戳与正常播放时间的对应关系。
本发明实施例还提供了一种媒体流发送方法,包括如下步骤:
将第一对应关系放置到第一媒体流中,第二对应关系放置到第二媒体流中,并将所述第一媒体流和第二媒体流发送至终端,所述第一对应关系为第一媒体流数据包第一时间信息与第一显示时间,所述第二对应关系为第二媒体流数据包第二时间信息与第二显示时间;当所述第一媒体流为传输流TS,第二媒体流为实时流协议RTSP流时,所述第一对应关系为展现时间戳PTS和正常播放时间戳NPT之间的对应关系,或者所述第一对应关系为PTS和实时传输协议RTP时间戳之间的对应关系;当所述第一媒体流为TS,第二媒体流为实时传输控制协议RTCP流时,所述第一对应关系为PTS和网络时间协议NTP时间戳之间的对应关系;
或,将第一对应关系放置到第二媒体流中,第二对应关系放置到第二媒体流的控制流中,并将所述第一媒体流和第二媒体流发送至终端,所述第一对应关系为第一媒体流数据包第一时间信息与第一显示时间,所述第二对应关系为第二媒体流数据包第二时间信息与第二显示时间;当所述第二媒体流为RTP流或RTCP流时,所述第一对应关系为PTS和RTP时间戳之间的对应关系;当所述第二媒体流为RTCP流,所述第二媒体控制流为RTSP时,所述第一对应关系为PTS和NPT之间的对应关系;当所述第二媒体流为RTCP,所述第二媒体控制流为RTCP SR包时,所述第一对应关系为PTS和NTP之间的对应关系;
或,将第一对应关系放置在时间映射服务器上,第二对应关系放置在第二媒体流的控制流中,并将所述第一媒体流和第二媒体流发送至终端,所述映射服务器将第一对应关系信息发送至终端,所述第一对应关系为第一媒体流数据包第一时间信息与第一显示时间,所述第二对应关系为第二媒体流数据包第二时间信息与第二显示时间;当所述第二媒体流的控制流为RTCP流时,所述第一对应关系为PTS和NTP时间戳之间的对应关系;当所述第二媒体流的控制流为RTSP流时,所述第一对应关系为PTS和NPT时间戳之间的对应关系;当所述第二媒体流的控制流为RTCP或RTSP时,所述第一对应关系为PTS和RTP时间戳之间的对应关系;
所述将第一对应关系放置到第一媒体流中具体包括:
将所述第一对应关系信息放置在第一媒体流的分组基本流包头中;和/或,将所述第一对应关系信息放置在第一媒体流的传输流事件信息表中;和/或,将所述第一对应关系信息放置在第一媒体流新建的时间映射关系表中。
本发明实施例还提供了一种媒体流发送系统,包括向终端发送第一媒体流的第一媒体流服务器、向终端发送第二媒体流的第二媒体流服务器,还包括对应关系放置模块,用于在第一媒体流服务器向终端发送的第一媒体流、和/或第二媒体流服务器向终端发送的第二媒体流中放置对应关系信息,所述对应关系包括:第一媒体流数据包第一时间信息与第一显示时间的第一对应关系、第二媒体流数据包第二时间信息与第二显示时间的第二对应关系;
所述对应关系放置模块包括第一放置单元和第二放置单元,其中:
第一放置单元,用于在第一媒体流中放置第一媒体流数据包第一时间信息与第一显示时间的第一对应关系信息;
第二放置单元,用于在第二媒体流中放置第二媒体流数据包第二时间信息与第二显示时间的第二对应关系信息;
所述第一放置单元包括第一子单元、第二子单元或第三子单元之一,或者包括第一子单元、第二子单元或第三子单元的组合,其中:
第一子单元,用于将所述第一对应关系信息放置在第一媒体流的分组基本流PES包头中;
第二子单元,用于将所述第一对应关系信息放置在第一媒体流的传输流事件信息表中;
第三子单元,用于将所述第一对应关系信息放置在第一媒体流新建的时间映射关系表中。
本发明有益效果如下:
本发明在于通过利用在各自媒体流中各数据包中固含的时间信息建立对应关系,同时由于不同媒体流需要完成同步,则其必然存在需要同步的原因,比如需要同时显示等等,从中利用这个共同的因数建立起一个共同的时间坐标,再利用所建立的对应关系来进行协调控制,从而解决了不同媒体流之间的同步问题。更进一步的,本发明实施例中以TS流与RTP流之间的同步为例,利用了TS流PTS与NPT的对应关系,以及RTP流time-stamp与NPT的对应关系,将NPT相同的TS流存储单元与RTP流包中的展现单元同时显示,从而完成了两种流之间的同步。实现了来自于广播网络的节目和来自于宽带节目的同步,解决了来自于不同网络的媒体流之间的同步,在现代流媒体技术中具有显著的实际运用效果及意义。
附图说明
图1为背景技术中所述MPEG-2的时序模型示意图;
图2为背景技术中所述用PCR重建27MHz系统时钟的流程示意图;
图3为本发明实施例应用场景示意图;
图4为本发明实施例中所述RTP流与TS流的同步方法实施示意图;
图5为本发明实施例中所述RTP流与TS流的同步方法中单个展现单元的同步基本原理示意图;
图6为本发明实施例中所述RTP流与TS流的同步方法中多个展现单元的同步基本原理示意图;
图7为本发明实施例中所述RTP流与TS流同步方法的一个具体实施例的流程示意图;
图8为本发明实施例中所述RTP流与TS流的同步方法中利用NTP实现单个展现单元的同步基本原理示意图;
图9为本发明实施例中所述RTP流与TS流的同步方法中利用NTP实现多个展现单元的同步基本原理示意图;
图10为本发明实施例中所述RTP流与TS流同步方法的另一个具体实施例的流程示意图;
图11为本发明实施例中所述RTP流与TS流的同步系统结构示意图;
图12为本发明实施例中所述PES包头数据示意图;
图13为本发明实施例中所述第一实施例携带对应关系的系统架构一示意图;
图14为本发明实施例中所述广播节目流携带对应关系的实施流程一示意图;
图15为本发明实施例中所述第一实施例携带对应关系的系统架构二示意图;
图16为本发明实施例中所述广播节目流携带对应关系的实施流程二示意图;
图17为本发明实施例中所述第一实施例携带对应关系的系统架构三示意图;
图18为本发明实施例中所述第一实施例携带对应关系的系统架构四示意图;
图19为本发明实施例中所述广播节目流携带对应关系的实施流程四示意图;
图20为本发明实施例中所述PES包结构示意图;
图21为本发明实施例中所述第二实施例携带对应关系的系统架构一示意图;
图22为本发明实施例中所述RTP流/RTCP包携带对应关系的实施流程一示意图;
图23为本发明实施例中所述RTP流/RTCP包携带对应关系的实施流程二示意图;
图24为本发明实施例中所述RTP流/RTCP包携带对应关系的实施流程三示意图;
图25为本发明实施例中所述第二实施例携带对应关系的系统架构四示意图;
图26为本发明实施例中所述RTP流/RTCP包携带对应关系的实施流程四示意图;
图27为本发明实施例中所述RTP包头结构示意图;
图28为本发明实施例中所述RTP包结构示意图;
图29为本发明实施例中所述RTCP SR包结构示意图;
图30为本发明实施例中所述RTCP SDES包结构示意图;
图31为本发明实施例中所述APP:Application-Defined RTCP Packet包头结构示意图;
图32为本发明实施例中所述APP:Application-Defined RTCP Packet包结构示意图;
图33为本发明实施例中所述第三实施例利用映射服务器承载对应关系的系统架构示意图;
图34为本发明实施例中所述利用映射服务器承载对应关系的实施流程一示意图;
图35为本发明实施例中所述利用映射服务器承载对应关系的实施流程二示意图;
图36为本发明实施例中所述利用映射服务器承载对应关系的实施流程三示意图;
图37为本发明实施例中所述发送系统一结构示意图;
图38为本发明实施例中所述发送系统二结构示意图;
图39为本发明实施例中所述发送系统三结构示意图。
具体实施方式
下面结合附图对本发明的具体实施进行说明。
本发明实施例的构思在于,首先建立第一媒体流数据包第一时间信息与第一显示时间的第一对应关系;建立第二媒体流数据包第二时间信息与第二显示时间的第二对应关系;根据对应关系,在时间信息对应的第一显示时间与第二显示时间差小于阈值时,将第一媒体流数据包与第二媒体流数据包同时显示。本发明实施例构思实质在于,通过利用在各自媒体流中各数据包中固含的时间信息建立对应关系,同时由于不同媒体流需要完成同步,则其必然存在需要同步的原因,比如需要同时显示等等,从中利用这个共同的因数建立起一个共同的时间坐标,再利用所建立的对应关系来进行协调控制,从而解决了不同媒体流之间的同步问题。
由于,本发明实施例构思所使用的是不同媒体流中的固有自然规律,因此,本发明具体实施中将用比较典型的两种媒体流:TS流与RTP流的同步为例来阐述本发明的具体实施方式以及本发明,但显然,本发明实施例并不仅仅只能运用于解决TS流与RTP流之间的同步问题。
为了更清晰的了解本发明实施例的目的,首先介绍一下本发明实施例的应用场景,图3为本发明实施例应用场景示意图,如图所示,在图中TS流与RTP流经过同步协调后,同时展现出来。假设用户打开电视机,想要观看广播网节目;同时,用户又希望选择宽带节目进行观看;在广播网节目和宽带节目在终端能以一定的方式组合显示时,如:画中画,多屏幕显示等等方式;当广播节目是视频节目,宽带节目为音频节目;或广播节目是视频、音频节目,宽带为第二视频节目(与广播的视频节目画面匹配)时;广播节目是低清晰度的视频、音频,宽带节目是附加清晰度的视频、音频,此时如果希望所选择的宽带节目需要与广播网络的节目同步,那么两者就可以通过本发明实施例同步协调结合,从而显示出相匹配的高清晰度的电视节目等等。
也就是,本发明实施例是要提供一种实现来自于广播网络的节目和来自于宽带节目的同步方法。从而解决来自于不同网络的媒体之间的同步,如:来自广播网络的节目流(TS流)和来自宽带网络的RTP节目流。
图4为RTP流与TS流的同步方法实施示意图,如图所示,同步时包括以下步骤:
步骤401、建立传输流展现时间戳与正常播放时间的第一对应关系;
步骤402、建立实时传输协议流时间戳与正常播放时间的第二对应关系;
步骤403、根据第一对应关系将传输流中的存储单元的展现时间戳与正常播放时间对应,根据第二对应关系将实时传输协议包与正常播放时间对应;
步骤404、将正常播放时间相同的存储单元与实时传输协议包同时显示。
下面对本实施例中用以实现TS流和RTP流同步的元素进行说明:
1、TS流的PES包头中的展现时间戳(PTS,Presentation time-stamp),用以指出一个展现单元(presentation unit),展现单元是已解码的一个音频访问单元或一帧解码图像在系统目标解码器中被展现的时刻;
2、TS包头中节目参考时钟PCR;
3、RTP包头中的时间戳(RTP time-stamp),表示本RTP数据包的第一个字节的采样时刻,即使没有RTP包发送,times-tamp仍然按照采样频率增长,多个RTP数据包的时间戳可以相同,表示是同一时刻采样出的数据,分成多个RTP数据帧传输;
4、RTSP媒体描述中的数据类型和编码格式。如“m=audio 3456RTP/AVP0”。根据媒体的类型可以获知其采样频率;
5、RTSP的PLAY response中的Range header和RTP-Info header,可以通过它获知RTP timestamp和正常播放时间(NPT)之间的对应关系。
图5为RTP流与TS流的同步方法中单个展现单元的同步基本原理示意图,如图所示,
假设RTP包中的第t个展现单元的RTP timestamp为RTP(t),TS流中第j个展现单元的PTS为PTS(j),根据一定的计算法则(后面详细介绍该计算方法)将RTP(t)、PTS(j)转换为NPT(RTP(t))、NPT(PTS(j)),当NPT(RTP(t)和NPT(PTS(j))相等的时候,或者在某一个设定的区间内的时候,则同时展现来自TS流和RTP流的这两个展现单元,从而实现这两个流的同步。该设定的区间用于当时间信息对应的第一显示时间与第二显示时间差小于该设定阈值时,将第一媒体流数据包与第二媒体流数据包同时显示,显然,该设定的阈值是可以根据需要来确定的,如普通的设定为0.1秒,而对要求高精度同步的这可以设为0.001秒等等,以下实施例中同理进行设定。
图6为RTP流与TS流的同步方法中多个展现单元的同步基本原理示意图,基于图5所述的原理,以此类推,当多个展现单元存在时,则如图6所示,多个RTP流(RTP1、RTP2、...、RTPn)中展现单元的RTP timestamp和多个TS流(TS1、TS2、...、TSn)中展现单元的PTS时间均对应成的NPT时间相等时,或者在某一个小的按需要设置的区间内的时候,则同时显示,从而实现同步。
PTS头表示应该何时在终端播放该展现单元。RTP头中的RTP time-stamp表示自开始点播以来的采样时间长度,参考媒体的采样频率(从媒体的格式可以查找到规定的采样频率)以及PLAY response中的Range(播放时间段)和Range对应的timestamp数值,因此实施时可以利用NPT时间建立PTS和RTP timestamp之间的对应关系。
图7为RTP流与TS流同步方法的一个具体实施例的流程示意图,如图所示,实施时包括以下步骤:
步骤701、用户观看节目,如:画中画节目、双屏幕节目等;
步骤702、用户根据节目菜单选择广播节目A进行观看;
步骤703、终端转到用户所选节目A所在的频道,并接收节目A的TS流;实施时节目A可以通过数字视频广播(DVB,Digital Video Broadcast)等协议下发到终端;
步骤704、终端获知该节目的起始解码器从输入的TS流的包头中解出含时间信息的PCR送入到系统时间时钟恢复电路,校准系统时间时钟(SCR,System Clock Reference);
步骤705、获得PTS和NPT之间的对应关系;
步骤706、基本流解码器在接收到新的PTS后,存入对应的FIFO中进行管理,对于没有PTS/DTS的显示单元,需要对其时间标签进行差值,并送入到FIFO中管理。即获得每个存储单元的PTS(t);
步骤707、当由步骤706获得新的PTS后,再根据步骤705中的对应关系,计算出该PTS(t)所对应的相对于节目起点的正常播放时间NPT(PTS(t)),此时TS流处理结束,转入步骤713等待进行显示;
步骤708、用户选择宽带节目B,宽带节目B需要和广播节目A同步播放;
步骤709、终端和服务器建立RTSP连接;
步骤710、终端根据媒体源的媒体描述,来获知媒体的采样频率f;
步骤711、终端用户请求播放节目B,服务器响应发送RTSP报文;根据RT SP协议PLAY response中的Range header和RTP-Info header,终端解码器由此可获知RTP timestamp和正常播放时间(NPT)之间的对应关系;
即以后的RTP时间戳可通过公式:
NPT(RTP(j))=(RTP(j)-RTP(k))/f+NPT(RTP(k));
计算出RTP(j)对应的NPT(RTP(j));其中,k时刻位于j时刻之前。
步骤712、收到服务器发送的RTP包,获知其RTPtimestamp为RTP(j),根据步骤711中的对应关系计算出对应的NPT时间为NPT(RTP(j)),此时,RTP流处理结束,转入步骤713等待显示;
步骤713、比较上述根据RTP时间戳转换后的NPT(RTP(j))和根据PTS计算出来的NPT(PTS(t)),当它们相等时,或按照某种计算规则,相差在某个区间时,同时显示这两个包。
依此类推,逐个包的同步即实现了两个流的同步。
在步骤705中,对于TS流,在具体实施时可以通过如下几种方法获取PTS与NPT之间的对应关系。
方法1:
Syntax | Number of bits | Identifier |
event_information_section(){ | ||
table_id | 8 | uimsbf |
section_syntax_indicator | 1 | bslbf |
reserved_future_use | 1 | bslbf |
reserved | 2 | bslbf |
section_length | 12 | uimsbf |
service_id | 16 | uimsbf |
reserved | 2 | bslbf |
version_number | 5 | uimsbf |
current_next_indicator | 1 | bslbf |
section_number | 8 | uimsbf |
last_section_number | 8 | uimsbf |
transport_stream_id | 16 | uimsbf |
original_network_id | 16 | uimsbf |
segment_last_section_number | 8 | uimsbf |
last_table_id | 8 | uimsbf |
for(i=0;i<N;i++){ | ||
event_id | 16 | uimsbf |
start_time | 40 | bslbf |
StartAU_PTS | 33 | |
duration | 24 | uimsbf |
running_status | 3 | uimsbf |
free_CA_mode | 1 | bslbf |
descriptors_loop_length | 12 | uimsbf |
for(i=0;i<N;i++){ | ||
descriptor() | ||
} | ||
} | ||
CRC_32 | 32 | rpchof |
} |
通过在电子节目菜单(EPG,Electronic Program Guide)中的事件信息表(EIT,Event Information Table)表中添加节目的起始存储单元的PTS时间戳(StartAU_PTS)标识符,来使得终端在节目播放期间,获知节目的起始存储单元的展现时间戳PTS;在TS流解码后,每获得一个解析出的PTS后,带入公式:
NPT(t)=(PTS(t)-StartAU_PTS)*n/f,f是传输流系统时钟频率;n在实施中取值为300,因为在MPEG 2标准中,规定PTS(展现时间戳)被编码为系统时钟频率的1/300,系统时钟频率值位于[27000000-810,27000000+810]区间内,单位为Hz。以下计算中涉及n值的均以300的具体实施值来说明本发明的具体实施。
按以上公式便可计算出该存储单元的相对节目起始点的播放时间NPT。
方法2:
用扩展TS包头中的调整字段中的私有字段或者扩展字段,表明该包负荷对应节目的起始存储单元的PTS,也就是头端需要记录下发送过的节目起始存储单元的PTS,该标识符每隔一段时间就发送一次。
则当获得新的存取单元的PTS后,通过以下公式:
NPT(t)=(PTS(t)-PTS(0))*n/f;
即可计算出相对节目起始点的播放时间NPT。
方法3:
服务器记录下节目的PTS和节目播放的相对时间NPT的对应关系,如下表所示:
实施时NPT的精度以满足同步的要求为准。
将该表随着节目的发送,发送到终端,终端记录下来,根据如下公式:
NPT(PTS(t))=(PTS(t)-PTS(i))*n/f1+NPT(PTS(i));
其中:NPT(PTS(t))是t时刻展现时间戳的正常播放时间,PTS(t)是t时刻的展现时间戳,PTS(i))是离t时刻最近的i时刻的展现时间戳,NPT(PTS(i))是离t时刻最近的i时刻展现时间戳的正常播放时间,f1是传输流系统时钟频率。
按上述公式即可计算出解出的PTS对应的NPT时间。
方法4:
直接扩展PES包头,加入NPT时间戳。终端根据该时间戳即可知PTS和NPT之间的对应关系。
为更充分的描述本发明的具体实施,本发明又提供一实施例进行说明。
下面对本发明实施时用以实现TS流和RTP流同步的元素再进行说明。
1、TS流的PES包头中的展现时间戳(PTS,Presentation time-stamp),用以指出一个展现单元(presentation unit),展现单元是已解码的一个音频访问单元或一帧解码图像中所有的编码数据及跟随其后的任何填充直至(但不包括)下一个单元的开始,在系统目标解码器中被展现的时刻;
2、TS包头中节目参考时钟PCR;
3、RTP包头中的时间戳(RTP time-stamp),表示本RTP数据包的第一个字节的采样时刻。即使没有RTP包发送,timestamp仍然按照采样频率增长,多个RTP数据包的时间戳可以相同,表示是同一时刻采样出的数据,分成多个RTP数据帧传输;
4、实时传输控制协议(RTCP,Real-time Transport Control Protocol)包头中,RTP时间戳和网络时间协议(NTP,Network Time Protocol)时间戳之间的对应关系;
RTCP的一个关键作用就是能让接收方同步多个RTP流,为能进行流同步,RTCP要求发送方给每个传送一个唯一的标识数据源的规范名(CanonicalName),尽管由一个数据源发出的不同的流具有不同的同步源标识(SSRC),但具有相同的规范名,这样接收方就知道哪些流是有关联的。而发送方报告报文所包含的信息可被接收方用于协调两个流中的时间戳值。发送方报告中含有一个以NTP格式表示的绝对时间值,接着RTCP报告中给出一个RTP时间戳值,产生该值的时钟就是产生RTP分组中的TimeStamp字段的那个时钟。
5、正常播放时间(NPT),精度满足同步的需要。
图8为实施例中所述RTP流与TS流的同步方法中利用NTP实现单个展现单元同步的基本原理示意图,如图所示,假设RTP包中的第j个包的第一个展现单元的RTP timestamp为RTP(j),TS流中的第t个存储单元的PTS为PTS(t),则将RTP(j)转换为NTP(RTP(j)),再转换成NPT(RTP(j)),并将PTS(t)转换为NPT(PTS(t)),当NPT(RTP(j))和NPT(PTS(t))相等的时候,或者按需要设置在某一个小的区间内的时候,则同时展现来自TS流和RTP流的这两个展现单元,从而实现RTP流和TS流之间的同步。
图9为实施例中所述RTP流与TS流的同步方法中利用NTP实现多个展现单元同步的基本原理示意图,按单个展现单元的同步思路,在多个展现单元存在时,以此类推,如图所示,多个RTP流中的展现单元的RTPtimestamp和多个TS流展现单元的PTS时间对应成为NTP时候后均相等时,或者按需要设置在某一个小的区间内的时候,则同时显示,从而实现多个RTP流和多个TS流之间的同步。
下面再举一例以说明具体实施的方式,图10为RTP流与TS流同步方法的另一个具体实施例的流程示意图,如图所示,在同步时包括如下步骤:
步骤1001、用户观看节目,如:画中画节目、双屏幕节目等;
步骤1002、用户根据节目菜单选择广播节目A进行观看;
步骤1003、终端转到用户所选节目A所在的频道,并接收节目A的TS流;实施时节目A可以通过数字视频广播(DVB,Digital Video Broadcast)T/S/C等协议下发到终端;
步骤1004、终端获知该节目的起始解码器从输入的TS流的包头中解出含时间信息的PCR送入到系统时间时钟恢复电路,校准系统时间时钟(SCR,System Clock Reference);
步骤1005、获得PTS和NPT之间的对应关系,本步骤中的的对应获取方法同上一实施例;
步骤1006、基本流解码器在接收到新的PTS后,存入对应的FIFO中进行管理,对于没有PTS/DTS的显示单元,需要对其时间标签进行差值,并送入到FIFO中管理。即获得每个存储单元的PTS(t);
步骤1007、当由步骤1006获得新的PTS后,再根据步骤1005中的对应关系,计算出该PTS(t)所对应的相对于节目起点的正常播放时间NPT(PTS(t)),此时TS流处理结束,转入步骤1014等待进行显示;
步骤1008、用户选择宽带节目B,宽带节目B需要和广播节目A同步播放;
步骤1009、终端根据其媒体描述获得其编码格式及组播地址,并可得知其采样时钟频率;
步骤1010、终端通过因特网组管理协议(IGMP,Internet Group ManagementProtocol)加入组播组,接收组播组的媒体流(RTP/RTCP);
步骤1011、终端接收RTCP SR(发送方报告)包,获得包头中的RTPtimestamp及NTP时间戳之间的对应关系,并且获知起点的NTP时间为NTP(0);最近的NTP时间可以获知当前RTP timestamp对应的NTP时间,具体公式如下所示:
NTP(j)=(RTP(j)-RTP(k))*n/f+NTP(k);
其中,NTP(k)为RTP(k)对应的绝对播放时间。
步骤1012、收到服务器发送的RTP包,获知其RTPtimestamp为RTP(j),根据步骤1011中的公式计算出的对应的NPT时间为NTP(j)时间;
步骤1013、再根据如下公式:
NPT(RTP(j))=NTP(j)-NTP(0);
计算出该包对应的NPT时间;此时,RTP流处理结束,转入步骤1014等待显示;
步骤1014、比较上述根据RTP时间戳转换后的NPT(RTP(j))和根据PTS计算出来的NPT(PTS(t)),当它们相等时,或按照某种计算规则,相差在某个区间时,同时显示这两个包。
依此类推,逐个包的同步即实现了两个流的同步。
其中,当RTP包的RTP时间戳的递增不是严格线性递增时,按上述方式实施;而当RTP包的RTP时间戳的递增是严格递增时,则不需要将其转化为NTP时间戳然后再转换为NPT,根据下列公式NPT(RTP(j))=(RTP(j)-RTP(0))/f负荷频率直接转换成NPT时间戳即可,其中f负荷频率表示负荷频率。
基于上述发明构思,本发明实施例还提供了一种实时传输协议流与传输流的同步系统,图11为RTP流与TS流的同步系统结构示意图,如图所示,实施时系统中包括第一对应模块1101、第二对应模块1102、显示模块1103,其中:
第一对应模块用于建立TS流PTS与NPT的第一对应关系;
第二对应模块用于建立RTP流时间戳NPT的第二对应关系;
显示模块,分别与第一对应模块与第二对应模块相连,在第一对应模块将传输流中的存储单元建立对应关系、第二对应模块将RTP流中的数据包建立对应关系后,将NPT相同的TS流存储单元与RTP流包同时显示。
实施中,第一对应模块建立PTS与NPT的对应关系,与前述RTP流与TS流同步方法的实施方式相同。
在任一时间t时,第一对应模块按NPT(t)=(PTS(t)-StartAU_PTS)*n/f1建立第一对应关系,
其中:NPT(t)是t时刻的正常播放时间,PTS(t)是t时刻的展现时间戳,StartAU_PTS是通过在EIT表中添加节目的起始存储单元的展现时间戳,f1是传输流系统时钟频率;
或,按NPT(t)=(PTS(t)-PTS(0))*n/f1建立第一对应关系,
其中:NPT(t)是t时刻的正常播放时间,PTS(t)是t时刻的展现时间戳,PTS(0)是节目起始存储单元的展现时间戳,f1是传输流系统时钟频率;
或,根据唯一标识节目表的展现时间戳和节目播放相对时间的正常播放时间对应表,按公式:NPT(PTS(t))=(PTS(t)-PTS(i))*n/f1+NPT(PTS(i))得出的PTS对应的RPT时间,建立第一对应关系,
其中:NPT(PTS(t))是t时刻展现时间戳的正常播放时间,PTS(t)是t时刻的展现时间戳,PTS(i))是离t时刻最近的i时刻的展现时间戳,NPT(PTS(i))是离t时刻最近的i时刻展现时间戳的正常播放时间,f1是传输流系统时钟频率;
或,通过在扩展分组基本流包头加入正常播放时间戳,建立的展现时间戳与正常播放时间的对应关系,建立第一对应关系。
同样,实施中,第二对应模块建立RTP与NPT的对应关系,与前述RTP流与TS流同步方法的实施方式相同。
在任一时间j时,第二对应模块按NPT(RTP(j))=(RTP(j)-RTP(k))/f2+NPT(RTP(k))建立第二对应关系,
其中:NPT(RTP(j))是实时传输协议包j时刻的正常播放时间,RTP(j)是j时刻的实时传输协议包时间戳,RTP(k)是同一次请求响应后位于j时刻之前的k时刻的实时传输协议包时间戳,f2是实时传输协议流中媒体的采样频率;NPT(RTP(k))是同一次请求响应后位于j时刻之前的k时刻的实时传输协议包的正常播放时间。
或者,在任一时间j时,第二对应模块按公式:NTP(j)=(RTP(j)-RTP(k))*n/f2+NTP(k)得出NTP(k)后,根据NPT(RTP(j))=NTP(j)-NTP(0)得出实时传输协议流包的NPT时间,建立第二对应关系,
其中:NTP(j)是j时刻网络时间协议的时间,RTP(j)是j时刻的实时传输协议包时间戳,RTP(k)是离j时刻最近的k时刻的实时传输协议包时间戳,NTP(k)是k时刻网络时间协议的时间,NTP(0)是起始时刻网络时间协议的时间,NPT(RTP(j))是实时传输协议包j时刻的正常播放时间,f2是实时传输协议流中媒体的采样频率。
下面,根据上述RTP流与TS流的同步原理,再举运用实例来进一步阐述本发明实施例中同步方法以及同步系统的具体实施方式。
下例是RTSP操作的音视over RTP的具体过程,同时另有一路TS视频流直接通过Cable传输:
从媒体描述“m=audio 3456RTF/AVP 0”可以看出,这是一段音频,采样频率是8000HZ,则每隔1秒,timestamp值会增加8000。从“Range:npt=10-15”和“rtptime=76400”可以看出,是从第10秒开始播放,第10秒采样的RTP包头的timestamp是76400。
假如过一段时间后,媒体终端收到一个RTP包,RTP包头中的timestamp值是118000,则我们可以换算出此帧对应的剪辑播放时间=(118000-76400)/8000+10=15.2秒。
图12为PES包头数据示意图,在TS流中PES包头如图所示,其中:
数据段1201中的47 40 45 30表示:
有效负载起始指示器:1
PID,0x45(视频流)
调整字段控制:0x3,调整
字段后为有效负荷;
数据段1202中的07 10 8A A4 B6 3B FE 00表示:
调整字段长度:0x07
调整字段中只包含PCR:10
后面6个字节为PRC:
数据段1203中的00 00 01表示:
PES开始标志;
数据段1204中的FA CF C2 80 C0表示:
流ID为0xFA
PES包长度为0xCFC2
包头中只含有PTS+DTS:80C0:
数据段1205中的0A 31 00 53 BF 81 11 00 53 BF 81表示:
PES包头长度:0x0A
后面前5个字节为PTS
后面后5个字节为DTS。
TS包头中的调准字段中的PCR值为:
由上图中的PTS值、节目开始的PTS值(假设为0)及ES包头中PTS的数据格式可以获知第一个存储单元的PTS值为14 DF C0,十进制表示为1368000,再将PTS带入到公式:NPT(PTS(t))=(PTS(t)-PTS(0))×n/system_clock_frequency,计算得出该PTS对应得存储单元的NPT时间为15.2秒,则与上述的RTP包的第一个存储单元的展现时间相同,则同时显示这两个存储单元。
对于多个媒体流的情况,用此构思即可实现同步。
由以上描述可知,本发明实施例中以TS流与RTP流的同步为例,利用了TS流PTS与NPT的对应关系,以及RTP流time-stamp与NPT的对应关系,将NPT相同的TS流存储单元与RTP流中展现单元同时显示,从而完成了两种流之间的同步。从而揭示了如何在不同的媒体流之间实现数据的同步,实现了来自于广播网络的节目和来自于宽带节目的同步,解决了来自于不同网络的媒体流之间的同步问题。
上面描述了在终端中根据第一对应关系、第二对应关系将第一媒体流与第二媒体流同步的实施方式;但并不仅限于此,在具体实施中,还可以将第一对应关系与第二对应关系下发至终端,终端在利用所述关系进行媒体流同步。下面对将对应关系下发至终端后,终端利用接收到的对应关系对媒体流进行同步的具体实施方式进行说明。
第一实施例描述了将第一对应关系被放置到第一流媒体中,第二对应关系被放置到第二流媒体的控制流中;终端接收这两个流媒体后,利用其中的对应关系进行媒体流同步。
第二实施例描述了将第一对应关系放置到第二媒体流中,第二对应关系被放置到第二流媒体的控制流中;终端接收这两个流媒体后,利用其中的对应关系进行媒体流同步。
第三实施例描述了将第一对应关系放置在时间映射服务器上,第二对应关系放置在第二流媒体的控制流中;终端接收这两个流媒体后,利用其中的对应关系进行媒体流同步。
下面对各实施例进行说明。
第一实施例:
本实施例以TS流为例来说明如何携带对应关系,对应关系以PTS和NPT之间的对应关系为例。
图13为第一实施例携带对应关系的系统架构一示意图,如图所示,广播服务提供商将节目的PTS和NPT之间的对应关系放置在TS流中下发至终端,而宽带服务提供商在RTSP流中携带RTP Timestamp和NPT之间的对应关系下发至终端,终端再根据这两个对应关系进行流媒体同步。
具体携带对应关系可以按以下方式进行实施,图14为广播节目流携带对应关系的实施流程一示意图,如图所示,携带对应关系可以包括如下步骤:
步骤1401、广播服务提供商确定广播节目存取单元PTS和NPT之间的对应关系;
步骤1402、并将广播节目A的这种PTS和NPT的对应关系放置在TS流中;
步骤1403、广播服务提供商将广播节目A及上述的时间对应关系所在的TS流发送至终端;
步骤1404、终端接收到广播节目A流媒体时,即可获得广播节目A中PES包的PTS值,以及PTS值和NPT之间的对应关系;
步骤1405、终端根据已经获得广播节目A中PES包的PTS,即可插值计算获得节目A中各个存取单元的PTS值;
步骤1406、根据对应关系,可计算获得各个存取单元对应的NPT;
具体实施时可根据如下公式计算获得:
或,
NPT(i)=NPT(i-k)+(PTS(i)-PTS(i-k))/f1,f1为系统时钟频率的1/300。
步骤1407、终端使用RTSP协议请求观看宽带节目B;
步骤1408、RTSP服务器响应,并发送宽带节目B的RTP包的RTPTimestamp及对应的NPT等信息至终端;
步骤1409、终端获知宽带节目B的RTP包的RTP Timestamp及对应的NPT;
步骤1410、通过计算可获得任一存取单元的NPT;
具体可以通过如下计算公式计算获得:
NPT(j)=NPT(j-k)+(RTP(j)-RTP(j-k)/f2,f2为RTP流负荷的采样频率。
步骤1411、终端在相应的应用场景下进行所需要的相应处理,如:快进快退、同步、节目切换等。
对于步骤1411中的各种操作具体可以按如下方式进行实施:
1、如需要实施同步,则终端根据广播节目A存取单元的PTS对应的NPT值,和来自于宽带的宽带节目B存取单元的RTP Timestamp对应的NPT值进行比较,相同即进行同步展现;
2、如需实施快进快退,则只需在步骤1406和步骤1407之间添加快进快退操作的时间点,然后终端记录下该广播节目A操作点的PTS值及对应的NPT(如:NPT(x));将步骤1407变化为:请求下发从该快进快退、暂停的操作点的NPT(x)开始快进快退播放、暂停点开始播放节目;将步骤1411变化为:在操作时间点处,将原来的广播节目切换为宽带节目;即不播放广播节目的NPT(x+1)对应的及后续的存取单元,播放宽带节目的NPT(x+1)对应的及后续的存取单元即可。
3、如需切换节目,则在步骤1406和步骤1407之间加上:终端已知切换时间点为NPT(x)或切换的PTS时间点,计算可获得对应的NPT(x);将步骤1407变化为:考虑到网络延时,在切换点之前的某一时刻终端开始请求从NPT(x)点开始播放宽带节目B;将步骤1411变化为:接收到NPT(x)点的RTP流下发的存取单元替代广播通道下发的该节目NPT(x)对应的存取单元播放即可。
图15为第一实施例携带对应关系的系统架构二示意图,如图所示,广播服务提供商将节目的PTS和NTP之间的对应关系放置在TS流中下发至终端,而宽带服务提供商在RTCP流中携带RTP Timestamp和NPT之间的对应关系下发至终端,终端再根据这两个对应关系进行流媒体同步。与架构一相比,不同点主要体现在:(1)广播提供商下发的TS流中包含的对应关系为PTS和NTP之间的对应关系;(2)RTSP变为RTCP。
具体携带对应关系可以按以下方式进行实施,图16为广播节目流携带对应关系的实施流程二示意图,如图所示,携带对应关系可以包括如下步骤:
步骤1601、广播服务提供商确定广播节目A存取单元PTS和NPT之间的对应关系;
步骤1602、宽带服务提供商告知广播服务提供商宽带节目B的NPT和NTP Timestamp之间的时间对应关系;
具体实施中步骤1601、步骤1602的先后顺序不须作出限定。
步骤1603、广播服务提供商,根据步骤1601、步骤1602中获得的对应关系通过计算可获得广播节目A的PTS和宽带节目B的NTP Timestamp之间的对应关系;具体对应关系可按下式进行计算为:
步骤1604、广播服务提供商将广播节目的PTS和NTP之间的对应关系放置在TS流中;
步骤1605、广播服务提供商将广播节目A及上述的对应关系所在的TS流发送至终端;
步骤1606、终端接收到广播节目A媒体流时,即可获得广播节目A的PES包的PTS值及PTS和NTP之间的对应关系;
步骤1607、终端根据已经获得广播节目A的PES包的PTS,即可插值计算获得节目A各个存取单元PTS值;
步骤1608、根据对应关系计算获得各个存取单元对应的NTP;
具体可根据如下公式计算获得:
或,
NTP(i)=NTP(i-k)+(PTS(i)-PTS(i-k))/f2。
步骤1609、宽带节目B经RTP协议封装下发至组播组;
步骤1610、宽带节目B相关的RTCP包发送至组播组,包含RTCP SR包;
步骤1611、终端加入组播组接收宽带节目B及RTCP包;
步骤1612、终端获知宽带节目B的RTP包的RTP Timestamp,以及RTCPSR包中的RTP Timestamp和NTP Timestamp之间的对应关系;
步骤1613、终端根据步骤1612的对应关系计算获得任一存取单元的NTP;
具体可以根据如下公式计算获得:
NTP(j)=NTP(j-k)+(RTP(j)-RTP(j-k))/f1。
步骤1614、终端在相应的应用场景下进行所需的相应处理,如:快进快退、同步、节目切换等操作处理。
对于步骤1614中的各种操作具体可以按如下方式进行实施:
1、同步处理:
终端根据获得广播节目A存取单元的PTS对应的NTP值,和来自于宽带的宽带节目B存取单元的RTP Timestamp对应的NTP值进行比较,相同则同步展现即可;
2、切换处理:
当接收到RTP流的存取单元,并获知其RTP(x)及对应的NTP(x)以及后续的存取单元,替代广播通道下发的广播节目A中NTP(x)对应的PTS(x)所指示的存取单元以及后续存取单元进行播放即可。
图17为第一实施例携带对应关系的系统架构三示意图,如图所示,广播服务提供商将节目的PTS和NTP之间的对应关系放置在TS流中下发至终端,而宽带服务提供商在RTCP流中携带RTP Timestamp和NTP之间的对应关系下发至终端,终端再根据这两个对应关系进行流媒体同步。
架构三和架构二均是描述TS流中携带PTS和NTP时间对应关系及RTCP流携带RTP Timestamp和NTP对应关系的架构,架构三的不同之处在于广播服务提供商向宽带服务提供商提供节目起始播放NTP时间或提供节目NTP和NPT之间的对应关系。
由于此时实施例中的广播服务器本身有NTP时钟,广播服务提供商采用本服务器端的NTP时钟和STC时钟采样即可获得PTS和NTP之间的时间对应关系及NPT和NTP之间的对应关系。
广播服务提供商需告知宽带节目在NTP(0)点开始播放宽带节目B,或NTP和NPT之间的对应关系,宽带服务提供商即可判别NPT点的存取单元的NTP时间值是否和广播服务提供商提供的广播节目A该NPT点对应的存取单元的NTP值相等,相等即可,否则需要进行修正。
相应的,将架构二的实施流程中的步骤1602~步骤1603变更为以下步骤:
A、广播服务提供商同时对STC和NTP时钟进行采样,获得对应的PTS(i)和NTP(i);即获得了PTS和NTP的对应关系;
B、根据架构二中的步骤1601,广播服务提供商即可获知NPT=0处的PTS(0),再根据上一步骤A即可获知PTS(0)对应的NTP(0);
可知,此时的NPT和NTP之间的对应关系为:NTP(t)=NTP(0)+NPT(t);
C、广播服务提供商将NTP(0)或NPT和NTP之间的对应关系发送到宽带服务提供商;
D、宽带服务提供商根据广播服务提供商提供的NPT和NTP之间的对应关系,设置宽带节目存取单元对应的NTP值;
具体实现可以为:给节目打包时,宽带节目的NTP和NPT的对应关系和广播节目的NTP时间和NPT之间的对应关系相同,即NTP时钟的起始时刻置为相同,频率置为相同。
图18为第一实施例携带对应关系的系统架构四示意图,如图所示,宽带服务提供商将RTP流的RTP Timestamp和NPT之间的映射关系发送给广播服务提供商,广播服务提供商经过换算后获知PTS和RTP Timestamp之间的对应关系,并将这一对应关系中的时间对放置到TS流中下发至终端。终端利用广播节目的PTS值、PTS和RTP Timestamp的对应关系、宽带节目RTPTimestamp,根据相应的需要进行同步、切换、快件快退等处理。
具体携带对应关系可以按以下方式进行实施,图19为广播节目流携带对应关系的实施流程四示意图,如图所示,携带对应关系可以包括如下步骤:
步骤1901、广播服务提供商确定广播节目A存取单元PTS和NPT之间的对应关系;
步骤1902、宽带服务提供商将宽带节目B的RTP Timestamp和NPT之间的对应关系发送至广播服务提供商;
步骤1903、广播服务提供商以NPT做为中介点,找到PTS对应的RTPTimestamp;如果为多个RTP流的RTP Timestamp,需要加标识进行区分是那个音视频流的RTP Timestamp和PTS的对应;
步骤1904、并将广播节目的这种PTS和RTP Timestamp的对应关系放置在TS流中;
步骤1905、广播服务提供商将广播节目A及上述的时间对应关系所在的TS流发送至终端;
步骤1906、终端接收到广播节目A流媒体时,即可获得广播节目A的PES包的PTS值及其PTS值和RTP Timestamp之间的对应关系;
步骤1907、终端根据已经获得广播节目A的PES包的PTS,即可插值计算获得节目A中各个存取单元PTS值;
步骤1908、根据对应关系,计算获得各个存取单元对应的RTP Timestamp;
具体可根据如下公式计算获得:
或,
步骤1909、终端使用RTSP协议请求观看或加入组播组接收宽带节目B,宽带节目B发送至终端;
步骤1910、终端获知宽带节目B的RTP包的RTP Timestamp;
步骤1911、终端在相应的应用场景下进行需要的相应处理,如:快进快退、同步、节目切换等处理。
对于步骤1911中的各种操作具体可以按如下方式进行实施:
1、进行同步处理:
终端根据获得广播节目A存取单元的PTS对应的RTP Timestamp值,和来自于宽带的宽带节目B存取单元的RTP Timestamp值进行比较,相同则同步展现;
2、快进快退处理:
在步骤1908和步骤1909之间添加:快进快退操作的时间点,终端记录下该广播节目操作点的PTS值及对应的RTP Timestamp(如:RTP(x));
根据RTSP协议发送的RTP Timestamp和NPT的对应关系,可知操作点为NPT(x);
在步骤1909中留一些时间余量,终端使用RTSP协议,请求下发从该操作点的NPT(x)开始快进快退播放节目宽带节目B的请求;
在步骤1911中,在操作时间点处,将原来的广播节目A切换为宽带节目B;即不播放广播节目的NPT(x)对应的存取单元,播放宽带节目的NPT(x)对应的存取单元,播放速率由发送的RTSP请求决定即可。
3、切换处理:
在步骤1908和步骤1909之间加上:终端已知该广播节目切换点的PTS值及对应的RTP Timestamp(如:RTP(x));
在切换点之前的某一时刻终端开始加入组播组接收RTP流;
在步骤1911中,将接收到NPT(x),即后续RTP流下发的存取单元,替代广播通道下发的该节目NPT(x)对应的后续的存取单元播放即可。
下面对在TS流中携带时间对应关系的方式进行说明。
即:对于上述实施例中的步骤1402、步骤1604、步骤1904所提到的:将广播节目的PTS和RTP Timestamp的对应关系放置在TS流中,具体可以按以下方式实施;
对于TS流而言,携带时间对应关系的位置可以在PES包头(与媒体紧耦合)或者SI信息中进行携带。
一、PES包头携带的实施。
图20为PES包结构示意图,如图所示,在不改变PES分包协议及考虑包中各字段作用的前提下,可以将PTS和NTP Timestamp/NPT之间的对应关系放置在PES包头“可选字段”内部的“PES扩展”中的“PES专用数据”、“包头字段”或“PES扩展字段数据”中,则有:
PES_extension_flag=1&PES_private_data_flag=’1’,则5个标志位后的可选字段为PTS和NTP Timestamp/NPT之间的对应关系的数据;
或者,
PES_extension_flag=1&PES_extension_flag_2=’1’,则5个标志位后的可选字段中的数据即为PTS和NTP Timestamp/NPT之间的对应关系的数据。
对于在放置的数据处理上,由于目前的PES包头中PTS_DTS_flag的值只有两个“10”和“11”(表示仅含有PTS或含有PTS和DTS),均可表示含有PTS(展现时间戳),所以,对应关系信息只需含有该PTS对应的NTPTimestamp、NPT或RTP Timestamp即可实现,如:
含有PTS和该Reference_Time_descriptor的PES包,即可获得该包的PTS时间戳,以及和该PTS时间戳对应的NTP Timestamp和/或NPT和/或RTPTimestamp。
二、在EIT表的loop中进行携带。
在EIT表的loop中的descriptor新建的Time_Mapping_descriptor();放置的具体位置是:EIT表的loop循环中放置新建的、描述时间对应关系的descriptor。
放置的数据可以为:
该descriptor可以描述PTS和NTP之间的映射关系、PTS和NPT Timestamp之间的映射关系,或PTS和RTP Timestamp之间的映射关系。
考虑到以后也许会使用到PTS和另外的时间戳之间的映射关系,所以实施例中可以在descriptor中添加一个映射的时间戳的类型标识符用于区分映射的类型。
三、新增时间映射关系表ETMT来进行携带。
为了脱离EIT表对时间映射关系信息的束缚,也可以创建新的时间对应关系表来描述当前TS流中携带的业务的节目时间戳的对应关系。
新增的表的格式可以按下表所示进行实施:
实施中,该表可以通过一个指定的PID获得,或者通过PMT表获得其PID后获得。实施时如果只对正在运行的节目所在的媒体流中传输该表则会更加的高效。该表的频率和RTCP SR包的发送频率接近即可,不需要频率太高。
第二实施例:
本实施例以RTP流的RTCP包携带对应关系为例进行说明。
图21为第二实施例携带对应关系的系统架构一示意图,如图所示,广播服务提供商将广播节目A的PTS和NPT之间的时间对应关系发送至宽带服务提供商,宽带服务提供商将宽带节目B的RTP Timestamp、NPT之间的关系进行比较,可获知PTS和RTP Timestamp之间的对应关系,并将这一对应关系放置RTP流/RTCP包中,下发至终端。终端利用广播节目的PTS、宽带节目的RTP Timestamp、RTP/RTCP包的PTS和RTP Timestamp之间的对应关系,即可进行节目流之间的切换、同步、快进快退等处理。
具体携带对应关系可以按以下方式进行实施,图22为RTP流/RTCP包携带对应关系的实施流程一示意图,如图所示,携带对应关系可以包括如下步骤:
步骤2201、广播服务提供商确定广播节目A存取单元的PTS和NPT之间的对应关系;
步骤2202、广播服务提供商将广播节目A发送至终端;
步骤2203、终端接收到广播节目A媒体流时,即可获得广播节目A的PES包的PTS值;
步骤2204、终端根据已经获得广播节目A的PES包的PTS,即可插值计算获得节目A各个存取单元PTS值;
步骤2205、广播服务提供商将广播节目PTS和NPT的对应关系发送到宽带服务提供商;
步骤2206、宽带服务提供商获知宽带节目B的RTP Timestamp和NPT之间的对应关系;
步骤2207、根据步骤2205和步骤2206,以NPT为中间桥梁建立RTPTimestamp和RTP Timestamp之间的对应关系;
如:对应同一NPT值的RTP Timestamp和PTS值为对应的RTP Timestamp和PTS值;如:根据RTP(x)、RTP和NPT之间的对应关系即可获得NPT(x);根据NPT(x)、NPT和PTS的对应关系,即可获得PTS(x);
步骤2208、宽带服务提供商将PTS和RTP Timestamp的这一对应关系放置到RTP流中;
步骤2209、宽带节目B下发至终端;
步骤2210、终端接收到RTP流后即可获知节目各RTP包的RTP Timestamp及对应的PTS值;
步骤2211、插值计算各存取单元的RTP Timestamp及对应的PTS值;
步骤2212、终端在相应的应用场景下进行需要的相应处理,如:快进快退、同步、节目切换等处理。
对于步骤2212中的各种操作具体可以按如下方式进行实施:
1、同步处理:
终端根据获得宽带节目存取单元的RTP Timestamp对应的PTS值,和广播节目各存取单元的PTS值进行比较,相同则同步展现;
2、组合处理:
在步骤2208和步骤2209之间,添加如下处理:
终端获知节目的切换时间点为PTS(x);
终端在PTS(x)之前某一时刻,加入组播组接收宽带节目B;
在步骤2212中,当终端接收到组播组内的存取单元对应的PTS值为PTS(x)时,替代广播节目的PTS(x)标识的存取单元展现。
上述步骤为RTP包中携带RTP Timestamp和PTS值之间的对应关系的情况,对于RTCP包中携带RTP Timestamp及对应的PTS值时,将步骤2208变为:将对应关系放置到RTCP包中,在步骤2209后添加:RTCP包携带RTPTimestamp和PTS之间的对应关系下发至终端即可。
图23为RTP流/RTCP包携带对应关系的实施流程二示意图,当用RTCP携带PTS和NPT之间的对应关系;RTSP携带RTP Timestamp和NPT之间的对应关系;RTSP进行RTP流的控制时,如图所示,携带对应关系可以包括如下步骤:
步骤2301、广播服务提供商确定广播节目A存取单元的PTS和NPT之间的对应关系;
步骤2302、广播服务提供商将广播节目A发送至终端;
步骤2303、终端接收到广播节目A媒体流时,即可获得广播节目A的PES包的PTS值;
步骤2304、终端根据已经获得广播节目A的PES包的PTS,即可插值计算获得节目A各个存取单元PTS值;
步骤2305、广播服务提供商将广播节目PTS和NPT的对应关系发送到宽带服务提供商;
步骤2306、宽带服务提供商将PTS和NPT的时间对应关系放置到RTCP包中;
步骤2307、宽带节目B下发至终端;
步骤2308、RTSP控制RTP流,并携带RTP Timestamp和NPT之间的对应关系及负荷类型;
步骤2309、RTCP中含有广播节目PTS和NPT之间的对应关系;
步骤2310、终端接收到RTP流后,根据步骤2307、步骤2308获得的节目存取单元的RTP Timestamp、f、RTP Timestamp和NPT之间的时间对应关系,可获知节目各RTP包的RTP Timestamp及对应的NPT值;
具体可按如下公式计算获得:
NPT(i)=NPT(i-k)+(RTP(i)-RTP(i-k))/f;
步骤2311、终端根据步骤2304、步骤2309获得的广播节目存取单元的PTS、PTS和NPT之间的对应关系,可获知节目各存取单元对应的NPT;
具体可按以下公式计算获得:
步骤2312、终端在相应的应用场景下进行需要的相应处理,如:快进快退、同步、节目切换等处理。
对于步骤2312中的各种操作具体可以按如下方式进行实施:
1、同步处理:
终端根据获得宽带节目B存取单元的RTP Timestamp对应的NPT值,和广播节目A各存取单元的PTS对应的NPT值进行比较,相同则同步展现。
2、切换处理:
步骤2306和步骤2307之间,添加如下处理:
终端获知节目的切换时间点为PTS(x);
终端在PTS(x)之前某一时刻,加入组播组接收宽带节目B;
在步骤2312中,根据步骤2311可知PTS(x)对应NPT(x);当终端接收到组播组内的存取单元对应的NPT值为NPT(x)时,替代广播节目的PTS(x)标识的存取单元展现即可。
图24为RTP流/RTCP包携带对应关系的实施流程三示意图,当用RTCP携带PTS和NTP之间的时间对应关系;RTCP SR携带RTP Timestamp和NTP之间的时间对应关系时,如图所示,携带对应关系可以包括如下步骤:
步骤2401、广播服务提供商确定广播节目A存取单元的PTS和NPT之间的对应关系;
步骤2402、广播服务提供商将广播节目A发送至终端;
步骤2403、终端接收到广播节目A媒体流时,即可获得广播节目A的PES包的PTS值;
步骤2404、终端根据已经获得广播节目A的PES包的PTS,即可插值计算获得节目A各个存取单元PTS值;
步骤2405、广播服务提供商将广播节目PTS和NTP的对应关系发送到宽带服务提供商;
步骤2406、确定宽带节目RTP Timestamp和NPT之间的对应关系,以及RTP Timestamp和NTP之间的对应关系;前者可以通过文件起始点所在RTP包的RTP Timestamp获知RTP(0),以及RTP包第一个存取单元的RTPTimestamp及根据服务器端存储文件即可获知该存取单元相对于节目起始点的位置,即可获得其NPT值,后者可以根据RTP Timestamp时钟和NTPTimestamp时钟的采样,即可获知RTP Timestamp和NTP Timestamp之间的对应关系。由此即可获知节目的NTP和NPT之间的对应关系:NTP(t)=NPT(t)+NTP(0);
步骤2407、根据步骤2405、步骤2406获知广播节目的PTS和NPT之间的对应关系、NTP和NPT之间的对应关系,即可获知节目的PTS(0)对应的NTP(0),以及PTS和NTP之间的对应关系。
步骤2408、将PTS和NTP之间的对应关系放置RTCP包中;
步骤2409、宽带节目下发至终端;
步骤2410、RTCP控制RTP流,并携带RTP Timestamp和NTP之间的对应关系及广播节目PTS和NTP之间的对应关系;
步骤2411、终端接收到RTP流后,根据步骤2409、步骤2410获得的节目存取单元的RTP Timestamp、f、RTP Timestamp和NTP之间的时间对应关系,可获知节目各RTP包的RTP Timestamp及对应的NTP值;
具体可按以下公式计算:
NTP(i)=NTP(i-k)+(RTP(i)-RTP(i-k))/f;
步骤2412、终端根据步骤2404、步骤2410获得的广播节目存取单元的PTS、PTS和NTP之间的对应关系,可获知节目各存取单元对应的NPT;
具体可按以下公式计算:
步骤2413、终端在相应的应用场景下进行相应的处理,如:快进快退、同步、节目切换。
对于步骤2413中的各种操作具体可以按如下方式进行实施:
1、同步处理:
终端根据获得宽带节目存取单元的RTP Timestamp对应的NTP值,和广播节目各存取单元的PTS对应的NTP值进行比较,相同则同步展现。
2、切换处理:
在步骤2406和步骤2407之间,添加以下处理:
终端获知节目的切换时间点为PTS(x);
终端在PTS(x)之前某一时刻,加入组播组接收宽带节目B;
在步骤2413中,根据步骤2412可知PTS(x)对应NTP(x);当终端接收到组播组内的存取单元对应的NTP值为NTP(x)时,替代广播节目的PTS(x)标识的存取单元展现。
图25为第二实施例携带对应关系的系统架构四示意图,如图所示,在广播服务提供商的服务器上需要有STC时钟和NTP Timestamp时钟,并对这两时钟同时采样可获得PTS和NTP之间的对应关系,广播服务提供商已知节目的PTS和NPT之间的对应关系,当NPT=0处,即可获知对应的PTS(0)及对应的NTP(0)。将NTP(0)及PTS和NTP之间的对应关系发送至宽带服务提供商,宽带服务提供商将这一对应关系放置到RTCP包中传输到终端。终端根据TS中的PTS、RTP中的RTP Timestamp以及RTCP SR中RTPTimestamp和NTP Timestamp之间的对应关系,以及RTCP包中的PTS和NTPTimestamp之间的对应关系,即可将PTS转换为NTP Timestamp,RTPTimestamp值转换为NTP Timestamp后进行处理。
具体携带对应关系可以按以下方式进行实施,图26为RTP流/RTCP包携带对应关系的实施流程四示意图,如图所示,携带对应关系可以包括如下步骤:
步骤2601、广播服务提供商确定广播节目A的起始PTS,以及PTS和NPT之间的时间对应关系;
步骤2602、广播服务提供商对STC和NTP时钟采样,获得PTS和NTP的对应关系;
步骤2603、根据步骤2602查找到PTS(0)对应的NTP(0);
由于(PTS(t)-PTS(0))/f=NTP(t)-NTP(0),所以根据任意一对的PTS(t)和NTP(t)即可获得PTS(0)对应的NTP(0);
或者,
根据PTS(t)-PTS(0)=(NTP(t)-NTP(0))*(PTS(t)-PTS(t-x))/(NTP(t)-NTP(t-x)),及两对PTS(t)及对应的PTS(t)和PTS(t-x)及对应的NTP(t-x)即可计算处PTS(0)对应的NTP(0);
步骤2604、广播服务提供商将广播节目A发送至终端;
步骤2605、终端接收到广播节目A媒体流时,即可获得广播节目A的PES包的PTS值;
步骤2606、终端根据已经获得广播节目A的PES包的PTS,即可通过插值计算获得节目A各个存取单元PTS值;
步骤2607、发送广播节目A的起始NTP(0)及PTS和NTP之间的对应关系至宽带服务提供商;
步骤2608、宽带服务提供商确定宽带节目B的起始播放时间需要为NTP(0);
步骤2609、宽带服务提供商将PTS和NTP之间的时间对应关系放置RTCP包中;
步骤2610、将宽带节目B发送到组播组;
步骤2611、RTCP控制RTP流,并携带RTP Timestamp和NTP之间的对应关系及广播节目PTS和NTP之间的对应关系;
步骤2612、终端加入组播组接收RTP流及RTCP包;
步骤2613、终端接收到RTP流及对应的RTCP包后,根据步骤2610、步骤2611获得的节目存取单元的RTP Timestamp、f、RTP Timestamp和NTP之间的时间对应关系,可获知节目各RTP包的RTP Timestamp及对应的NTP值;
具体计算公式可以为:
NTP(i)=NTP(i-k)+(RTP(i)-RTP(i-k))/f;
步骤2614、终端根据步骤2606、步骤2612获得的广播节目存取单元的PTS、PTS和NTP之间的对应关系,可获知节目各存取单元对应的NTP;
具体计算公式可以为:
或者,
NTP(j)=NTP(j-k)+(PTS(j)-PTS(j-k))/f,其中的f为STC时钟的频率的300分之一。
步骤2615、终端在相应的应用场景下进行所需的相应处理,如:同步、节目切换处理。
对于步骤2615中的各种操作具体可以按如下方式进行实施:
1、同步处理:
终端根据获得宽带节目存取单元的RTP Timestamp对应的NTP值,和广播节目各存取单元的PTS对应的NTP值进行比较,相同则同步展现。
2、切换处理:
在步骤2609和步骤2610之间,添加如下处理:
终端获知节目的切换时间点为PTS(x);
终端在PTS(x)之前某一时刻,加入组播组接收宽带节目B;
在步骤2615中,根据步骤2614可知PTS(x)对应NTP(x);当终端接收到组播组内的存取单元对应的NTP值为NTP(x)时,替代广播节目的PTS(x)标识的存取单元展现。
下面对在RTP流/RTCP包中携带时间对应关系的方式进行说明。
即:对于上述实施例中的步骤2208、步骤2306、步骤2609所提到的:将PTS和NTP之间的时间对应关系放置RTCP包中,具体可以按以下方式实施;
一、在RTP流携带时间对应关系/节目起始时间点。
图27为RTP包头结构示意图,如图所示,对应关系/节目起始时间点可以在RTP包头的扩展包头内放置。当RTP包头中的X位置为1时,RTP包头后面CSRC列表后即为Head Extension字段,其中,“defined by profile”为特定的16位置,表明后续的header extension字段携带PTS值或节目的初始PTS信息。
图28为RTP包结构示意图,放置的信息如图所示,original network id、transport id、service id、event id为唯一的标识事件的标识符,表明该广播事件的PTS值对应该RTP包的RTP Timestamp,或PTS(0);
S比特位置标识携带的为节目的起始PTS时间,还是该RTP包携带的RTPTimestamp时间戳,不妨设S=1则为PTS(0),S=1则PTS为RTP Timestamp对应的PTS值;
最后的33位的PTS时间戳位PTS(0)或者和该RTP Timestamp对应的PTS值。
二、在RTCP SR包中放置时间对应关系。
图29为RTCP SR包结构示意图,如图所示,在RTCP SR包中的profile-specific extensions部分扩展来描述广播节目的初始PTS(0)或和该SR包NTP Timestamp对应的广播节目的PTS时间戳。其中,16比特的type用于描述后续的字段用来描述时间对应关系;
original network id、transport id、service id、event id为唯一的标识事件的标识符,表明该广播事件的PTS值对应该RTP包的RTP Timestamp,或该广播节目的PTS(0);
S比特位置标识携带的为节目的起始PTS时间,还是该RTCP SR包携带的RTP Timestamp及NTP Timestamp时间戳对应的PTS值;
最后的33位的PTS时间戳为PTS(0)或者和该RTP Timestamp及NTPTimestamp时间戳对应的PTS值。
三、在RTCP SDES中放置时间对应关系:
图30为RTCP SDES包结构示意图,如图所示,时间对应关系信息可以放置在SDES的PRIV SDES items的value string中,此时的SDES items中的type为8,prefix string为time mapping info。其中,original network id、transport id、service id、event id为唯一的标识事件的标识符,表明该广播事件PTS(0)或该广播节目相关的PTS和RTP Timestamp的对应关系;该项可选。
S比特位置标识携带的为节目的起始PTS时间、还是时间对应关系;设S=1时,表示后面为PTS(0),S=0时,表示后面为PTS和NTP/RTP的时间对应关系;
T比特位在S比特位标识位时间对应关系时有效,即S=0时。该位标识PTS对应的时间位RTP Timestamp还是NTP Timestamp;设S=1时,为RTPTimestamp;S=0时,为NTP Timestamp;
最后的33位的PTS时间戳为PTS(0)或者最后所有的数据描述一一对应的PTS(33位)和RTP Timestamp(32位)/NTP Timestamp(64位)。
四、在APP:Application-Defined RTCP Packet中放置时间对应关系。
图31为APP:Application-Defined RTCP Packet包头结构示意图,如图所示,对应关系放置在application-dependent data部分,且name(ASCII)为标准组织承认的Time Mappint Info。
图32为APP:Application-Defined RTCP Packet包结构示意图,放置的信息如图所示,original network id、transport id、service id、event id为唯一的标识事件的标识符,表明该广播事件PTS(0)或该广播节目相关的PTS和RTPTimestamp的对应关系,该项可选。
S比特位置标识携带的为节目的起始PTS时间,还是时间对应关系;设S=1时,表示后面为PTS(0),S=0时,表示后面为PTS和NTP/RTP的时间对应关系;
T比特位在S比特位标识位时间对应关系时有效,即S=0时。该位标识PTS对应的时间位RTP Timestamp还是NTP Timestamp;设S=1时,为RTPTimestamp;S=0时,为NTP Timestamp;
最后的33位的PTS时间戳为PTS(0)或者最后所有的数据描述一一对应的PTS(33位)和RTP Timestamp(32位)/NTP Timestamp(64位)。
第三实施例
本实施例以时间映射服务器承载对应关系为例来说明。本实施例的目的在于说明对应关系的产生以及发送并不仅限于由现有的实体来完成,它也可以由专有的、新增的实体来进行。
图33为第三实施例利用映射服务器承载对应关系的系统架构示意图,如图所示,架构中包括广播服务提供商、宽带服务提供商、时间映射服务器、终端,下面对各实体介绍如下:
(1)广播服务提供商:用于将广播节目的时间对应关系告知时间映射服务器;用TS协议封装广播节目,并通过DVB S/T/C发至终端;
根据需要也可以和宽带服务提供商协商广播节目的绝对起始时间点;
(2)宽带服务提供商:用于利用RTP协议封装A/V,发送宽带节目至终端;
使用RTSP或RTCP控制RTP流的传输,并携带RTP Timestamp和NTP/NPT之间的对应关系至终端;
根据需要也可以将宽带节目的时间对应关系告知时间映射服务器,和宽带服务提供商协商广播节目的绝对起始时间点;
(3)时间映射服务器:用于接收广播服务提供商广播节目的时间对应关系;
向终端提供广播节目的时间对应关系和/或宽带节目的时间对应关系;
根据需要也可以接收宽带节目服务提供商宽带节目的时间对应关系;
(4)终端:用于接收广播节目与接收宽带节目;
向时间映射服务器请求下发时间映射关系;
根据节目的时间戳、时间映射关系,进行相应的处理。
图34为利用映射服务器承载对应关系的实施流程一示意图,如图所示,当时间对应关系为PTS和NTP时间对应关系时,广播服务提供商和宽带服务提供商之间从节目起始时间点开始协商,并且RTP流使用RTCP进行控制。则可以按如下步骤实施:
步骤3401、广播服务提供商确定节目的起始时间点PTS(0);
步骤3402、广播服务提供商对STC和NTP时钟进行采样,获得PTS和NTP的时间对应关系;
步骤3403、根据步骤3401和步骤3402获得的时间点以及对应关系计算获得节目的起始NTP(0);
由于(PTS(t)-PTS(0))/f=NTP(t)-NTP(0),则根据任意一对的PTS(t)和NTP(t)即可获得PTS(0)对应的NTP(0);
或者根据PTS(t)-PTS(0)=(NTP(t)-NTP(0))*(PTS(t)-PTS(t-x))/(NTP(t)-NTP(t-x)),及两对PTS(t)及对应的PTS(t)和PTS(t-x)及对应的NTP(t-x)即可计算处PTS(0)对应的NTP(0);
步骤3404、广播服务提供商告知宽带服务提供商广播节目A的起始时间点为NTP(0);
步骤3405、宽带服务提供商将宽带节目B的起始帧的NTP定为NTP(0);
步骤3406、广播服务提供商将广播节目的时间对应关系(PTS和NTP)发送至时间映射服务器;
步骤3407、时间映射服务器保存广播节目的时间映射关系;
步骤3408、广播服务提供商TS协议封装广播节目A后,使用DVB S/C/T协议发送到终端;
步骤3409、终端获知广播节目的PES包的PTS值;
步骤3410、终端插值计算获得各个存取单元的PTS;
步骤3411、终端向时间服务器请求下发广播节目A的时间对应关系(同步应用场景),或某一点的时间对应关系(节目切换应用场景);
步骤3412、时间映射服务器相应请求,下发广播节目A的时间对应关系(同步应用场景),或某一点对应的时间(节目切换应用场景);
步骤3413、计算广播节目A各个存取单元PTS对应的NTP时间戳;
步骤3414、宽带服务提供商在服务器端,使用RTP协议封装宽带节目B,使用RTP over UDP/TCP over IP发送到组播组;
步骤3415、宽带节目B相关的RTCP包下发至组播组;
步骤3416、终端加入组播组接收宽带节目B及RTCP控制包;
步骤3417、终端根据步骤3415中各存取单元的RTP Timestamp、及步骤3416所知的RTP Timestamp和NTP之间的对应关系,计算处各个存取单元的NTP值;
步骤3418、终端在相应的应用场景下进行相应的处理,如:快进快退、同步、节目切换。
对于步骤3418中的各种操作具体可以按如下方式进行实施:
1、同步处理:
终端根据获得宽带节目存取单元的RTP Timestamp对应的PTS值,和广播节目各存取单元的PTS值进行比较,相同则同步展现;
2、切换处理:
在步骤3410、步骤3411之间加入如下处理:终端手动或自动进行节目的切换,并获知节目的切换点为PTS(x);
根据步骤3411、步骤3412获取的对应关系,查询PTS(x)对应的NTP(x);
具体实施中,可以考虑到网络延时,则在切换点之前的某一时刻进行时间点对应NTP时间的查询;
在步骤3418中,当终端接收到组播组内的存取单元对应的NTP值为NTP(x)时,替代广播节目的PTS(x)标识的存取单元展现。终端展现广播节目;播放宽带节目。
实施例三的第一流程,也可以变为广播服务提供商向时间映射服务器发送PTS和NPT之间的对应关系,宽带节目使用RTSP进行控制,则终端根据广播节目的PTS、从时间映射服务器上请求获得的广播节目PTS和NPT之间的映射关系/某一点的对应时间、宽带节目的RTP Timestamp、RTSP的RTPTimestamp和NPT之间的对应关系进行计算后,进行同步、切换或组合展现等处理。
图35为利用映射服务器承载对应关系的实施流程二示意图,流程二中宽带服务提供商告知时间映射服务器其时间对应关系。RTP流使用RTCP协议控制。
流程二和流程一的不同之处在于服务器间的交互不同,流程二中:
广播服务提供商提供给时间映射服务器的为广播节目的PTS和NPT之间的映射关系;
宽带服务提供商提供给时间映射服务器的为宽带节目的RTP Timestamp和NPT时间之间的映射关系及NTP(0);
没有广播服务提供商和宽带服务提供商之间的交互;
时间映射服务器根据广播节目A的PTS和NPT之间的映射关系,以及宽带节目B的NTP(0),获知PTS和NTP之间的时间映射关系。
如:原有的PTS(t)=PTS(0)+NPT(t)*f;变为PTS(t)=(PTS(0)-NTP(0)*f)+NTP(t)*f;
原有的PTS(t)对应NPT(t),现在变为PTS(t)对应NTP(t)(其中的NTP(t)=NPT(t)+NTP(0));
则如图所示,可以按如下步骤实施:
步骤3501、广播服务提供商确定节目的起始时间点PTS(0)及PTS和NPT之间的时间对应关系;
步骤3502、广播服务提供商将广播节目的PTS和NPT对应关系发送至时间映射服务器;
步骤3503、时间映射服务器保存广播节目的时间映射关系;
步骤3504、广播服务提供商用TS协议封装广播节目A后,使用DVB S/C/T协议发送到终端;
步骤3505、终端获知广播节目的PES包的PTS值;
步骤3506、终端插值计算获得各个存取单元的PTS;
步骤3507、终端向时间映射服务器请求下发广播节目A的时间对应关系(同步应用场景),或某一点的时间对应关系(节目切换应用场景);
步骤3508、时间映射服务器响应请求,下发广播节目的时间对应关系(同步应用场景),或某一点对应的时间(节目切换应用场景);
步骤3509、计算广播节目A各个存取单元PTS对应的NPT时间戳(同步应用场景);
步骤3510、终端请求下发宽带节目B,起始时间点为请求时刻PTS或某一特殊PTS值对应的NPT;
步骤3511、宽带节目B下发至终端;
步骤3512、RTSP控制宽带节目B,并携带RTP Timestamp和NPT之间的对应关系至终端;
步骤3513、终端根据步骤3515中各存取单元的RTP Timestamp、及步骤3515所知的RTP Timestamp和NPT之间的对应关系,计算处各个存取单元的NPT值;
具体计算公式可以为:NPT(i)=NPT(i-k)+(RTP(i)-RTP(i-k))/f;f为负荷类型对应的采样频率;
步骤3514、终端在相应的应用场景下进行相应的处理,如:快进快退、同步、节目切换。
对于步骤3514中的各种操作具体可以按如下方式进行实施:
1、同步处理:
终端根据获得宽带节目存取单元的RTP Timestamp对应的NPT值,和广播节目各存取单元PTS对应的NPT值进行比较,相同则同步展现;
2、快进快退处理:
在步骤3507为请求暂停、快进快退点处存取单元的PTS(x)对应的NPT值;
在步骤3508为响应下发PTS(x)对应的NPT(x)值;
可以省略步骤3509;
在步骤3514中在PTS(x)点停止广播节目的播放,进行宽带节目的播放;
实际过程中,可以留有时间余量进行请求响应。
3、切换处理:
在步骤3506和步骤3507之间加上如下处理:
终端已知切换时间点为PTS(x);
在步骤3507中请求PTS(x)对应的NPT(x);
在步骤3508中响应PTS(x)对应的NTP(x)值;
在步骤3510中终端请求从NPT(x)点开始播放宽带节目B;
在步骤3514中,在PTS(x)点停止广播节目的播放,进行宽带节目的播放;
实际实现的过程中,考虑到网络延时,可以在切换点之前的某一时刻进行时间点对应NTP时间的查询,和请求下发宽带节目;
图36为利用映射服务器承载对应关系的实施流程三示意图,如图所示,当时间对应关系为PTS和RTP Timestamp时间对应关系时,宽带服务提供商告知时间映射服务器宽带节目的时间映射关系,并对RTP流使用RTCP或RTSP进行控制。则可以按如下步骤实施:
步骤3601、广播服务提供商确定节目的PTS和NPT之间的时间对应关系;
步骤3602、广播服务提供商将广播节目A的时间对应关系(PTS和NPT)发送至时间映射服务器;
步骤3603、时间映射服务器保存广播节目A的时间映射关系;
步骤3604、宽带服务提供商将宽带节目B的时间对应关系(RTPTimestamp和NPT)发送至时间映射服务器;
步骤3605、时间映射服务器保存宽带节目B的时间映射关系;
步骤3606、以NPT为中间桥梁计算出PTS和RTP Timestamp的对应关系;
例如:原有的RTP Timestamp和NPT之间的对应关系为:(RTP(t)-RTP(0))/f1=NPT(t),原有的PTS和NPT之间的对应关系为(PTS(t)-PTS(0))/f2=NPT(t);变为(RTP(t)-RTP(0))/f1=(PTS(t)-PTS(0))/f2,其中f1为宽带节目B的负荷采样频率,RTP(0)可以根据NPT=0获知,f2为STC采样频率的300分之一,PTS(0)可以根据NPT=0获知;
步骤3607、广播服务提供商以TS协议封装广播节目A后,使用DVB S/C/T协议发送到终端;
步骤3608、终端获知广播节目A的PES包的PTS值;
步骤3609、终端插值计算获得各个存取单元的PTS;
步骤3610、终端向时间服务器请求下发广播节目A的时间对应关系(同步应用场景),或某一点的时间对应关系(节目切换应用场景);
步骤3611、时间映射服务器响应请求,下发广播节目A的时间对应关系(同步应用场景),或某一点对应的时间(节目切换应用场景);
步骤3612、宽带节目B下发至终端;
步骤3613、RTSP控制宽带节目B,并携带RTP Timestamp和NPT之间的对应关系至终端;或RTCP控制宽带节目B,并携带RTP Timestamp和NTP之间的对应关系至终端;
步骤3614、终端根据步骤3615中各存取单元的RTP Timestamp、及步骤3611所获知的RTP Timestamp和PTS之间的对应关系,计算处各个存取单元的PTS值;
具体的计算公式可以为:PTS(i)=PTS(i-k)+(RTP(i)-RTP(i-k))*(PTS(i+k)-PTS(i-k))/(RTP(i+k)-RTP(i-k));
或者,
PTS(i)=PTS(i-k)+(RTP(i)-RTP(i-k))*f2/f1;
步骤3615、终端在相应的应用场景下进行相应的处理,如:快进快退、同步、节目切换。
对于步骤3615中的各种操作具体可以按如下方式进行实施:
1、同步处理:
终端根据获得宽带节目存取单元的RTP Timestamp对应的PTS值,和广播节目各存取单元PTS进行比较,相同则同步展现。
2、切换处理:
在步骤3609和步骤3610之间加上:终端已知切换时间点为PTS(x);
在步骤3609中,请求PTS(x)对应的RTP(x);
在步骤3610中,响应PTS(x)对应的RTP(x)值;
在步骤3615中,根据步骤3614的结果获得宽带节目的RTP Timestamp对应的PTS值为PTS(x)时,在该PTS(x)点停止广播节目的播放,进行宽带节目的播放。
本发明实施例还提供了一种媒体流发送系统,下面结合附图对本系统的具体实施方式进行说明。
在媒体流发送系统中,包括向终端发送第一媒体流的第一媒体流服务器、向终端发送第二媒体流的第二媒体流服务器,还包括对应关系放置模块,用于在第一媒体流服务器向终端发送的第一媒体流、和/或第二媒体流服务器向终端发送的第二媒体流中放置对应关系信息,所述对应关系包括:第一媒体流数据包第一时间信息与第一显示时间的第一对应关系、第二媒体流数据包第二时间信息与第二显示时间的第二对应关系。
系统实施中,可以从时间对应关系源来获取PTS和NPT之间的对应关系或PTS(0)。
下面对系统的具体实施进行说明。
图37为发送系统一结构示意图,如图所示,系统中的对应关系放置模块包括第一放置单元、第二放置单元,图中广播服务提供商作为第一媒体流服务器,宽带服务提供商作为第二媒体流服务器,则易知,第一放置单元位于广播服务提供商侧,第二放置单元位于宽带服务提供商侧,其中:
第一放置单元,用于在第一媒体流中放置第一媒体流数据包第一时间信息与第一显示时间的第一对应关系信息;
第二放置单元,用于在第二媒体流中放置第二媒体流数据包第二时间信息与第二显示时间的第二对应关系信息。
所述第一放置单元还可以包括第一子单元、第二子单元、第三子单元之一或者其组合,其功能分别为:
第一子单元,用于将第一对应关系信息放置在第一媒体流的分组基本流包头中;
第二子单元,用于将所述第一对应关系信息放置在第一媒体流的传输流事件信息表中;
第三子单元,用于将所述第一对应关系信息放置在第一媒体流新建的时间映射关系表中。
图38为发送系统二结构示意图,如图所示,系统中的对应关系放置模块包括传输单元、第三放置单元,图中广播服务提供商作为第一媒体流服务器,宽带服务提供商作为第二媒体流服务器,其中:
传输单元与广播服务提供商、宽带服务提供商相连,用于从作为第一媒体流服务器的广播服务提供商获取第一媒体流数据包第一时间信息与第一显示时间的第一对应关系信息,并传输至位于宽带服务提供商侧的第三放置单元;第三放置单元将第一媒体流的第一时间对应关系信息、第二媒体流数据包第二时间信息与第二显示时间的第二对应关系信息放置到第二媒体流中。
图39为发送系统三结构示意图,如图所示,系统中的对应关系放置模块包括发送单元、第二放置单元、映射服务器,图中广播服务提供商作为第一媒体流服务器,宽带服务提供商作为第二媒体流服务器,发送单元与映射服务器、广播服务提供商相连,第二放置单元在作为第二媒体流服务器的宽带服务提供商侧,映射服务器与终端相连,其中:
发送单元,用于将第一媒体流数据包第一时间信息与第一显示时间的第一对应关系信息发送至映射服务器;
第二放置单元,用于在第二媒体流中放置第二媒体流数据包第二时间信息与第二显示时间的第二对应关系信息;
映射服务器,用于将第一对应关系信息发送至终端。
在上述发送系统中,还可以在终端中进一步包括对应关系处理模块,用于根据接收到的对应关系,在时间信息对应的第一显示时间与第二显示时间差小于阈值时,对第一媒体流数据包与第二媒体流数据包进行处理。
具体的,对应关系处理模块可以包括同步处理单元、第一切换单元、第二切换单元之一,其中:
同步处理单元,用于在第一显示时间和第二显示时间相同或相差小于阈值时,同时展现第一显示时间标识的第一媒体流的数据包和第二显示时间标识的第二媒体流的数据包;
第一切换单元,用于在第一显示时间和第二显示时间相同或相差小于阈值时,切换第一显示时间标识的第一媒体流的数据包成第二显示时间标识的第二媒体流的数据包;
第二切换单元,用于在第一显示时间和第二显示时间相同或相差小于阈值时,切换第二显示时间标识的第二媒体流的数据包成第一显示时间标识的第一媒体流的数据包。
现代以及未来社会中,技术的进步和用户的需求促进了流媒体应用的迅速发展。在远程教育、数字图书馆、电子商务、视频点播、交互电视、远程医疗、网络音/视频、实时多媒体会议等方面,流媒体技术都起到很重要的作用。随着流媒体应用的不断普及,流媒体技术及其应用必然会发挥更重要的作用,并将深刻的改变人们的生活方式。因此,通过本发明实施例解决的不同媒体流之间的同步问题具有重要的运用价值与意义。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (21)
1.一种不同媒体流间的同步方法,其特征在于,包括如下步骤:
建立第一媒体流数据包第一时间信息与第一显示时间的第一对应关系,所述第一媒体流是传输流时,所述第一时间信息是展现时间戳,所述第一显示时间是正常播放时间;
建立第二媒体流数据包第二时间信息与第二显示时间的第二对应关系,所述第二媒体流是实时传输协议流时,所述第二时间信息是实时传输协议时间戳,所述第二显示时间是正常播放时间;
根据所述第一对应关系和第二对应关系,在第一显示时间与第二显示时间差小于阈值时,将第一媒体流数据包与第二媒体流数据包同时显示;
其中:在任一时间t时,所述第一对应关系是:
根据t时刻的展现时间戳、通过在事件信息表EIT中添加节目的起始存储单元的展现时间戳标识符获知的节目的起始存储单元的展现时间戳以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系;
或,
根据t时刻的展现时间戳、节目起始存储单元的展现时间戳以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系;
或,
根据唯一标识节目表、t时刻的展现时间戳、唯一标识节目表中离t时刻最近的时刻的展现时间戳、唯一标识节目表中离t时刻最近的时刻展现时间戳的正常播放时间以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系,所述唯一标识节目表为节目的展现时间戳与节目正常播放时间的对应表;
或,
通过在扩展分组基本流包头加入正常播放时间戳,建立展现时间戳与正常播放时间的对应关系。
2.如权利要求1所述的方法,其特征在于,在任一时间t时,所述第一对应关系是:
NPT(t)=(PTS(t)-StartAU_PTS)*n/f1,
其中:NPT(t)是t时刻的正常播放时间,PTS(t)是t时刻的展现时间戳,StartAU_PTS是通过在EIT表中添加节目的起始存储单元的展现时间戳标识符获知的节目的起始存储单元的展现时间戳,f1是传输流系统时钟频率,展现时间戳被编码为系统时钟频率的1/n,n为正整数,根据活动图像专家组MPEG-2标准确定;
或,
NPT(t)=(PTS(t)-PTS(0))*n/f1,
其中:NPT(t)是t时刻的正常播放时间,PTS(t)是t时刻的展现时间戳,PTS(0)是节目起始存储单元的展现时间戳,f1是传输流系统时钟频率,展现时间戳被编码为系统时钟频率的1/n,n为正整数,根据活动图像专家组MPEG-2标准确定;
或,
根据唯一标识节目表,所述唯一标识节目表为节目的展现时间戳与节目正常播放时间的对应表,按公式:NPT(PTS(t))=(PTS(t)-PTS(i))*n/f1+NPT(PTS(i))得出的PTS对应的NPT时间,
其中:NPT(PTS(t))是t时刻展现时间戳的正常播放时间,PTS(t)是t时刻的展现时间戳,PTS(i)是离t时刻最近的i时刻的展现时间戳,NPT(PTS(i))是离t时刻最近的i时刻展现时间戳的正常播放时间,f1是传输流系统时钟频率,展现时间戳被编码为系统时钟频率的1/n,n为正整数,根据活动图像专家组MPEG-2标准确定。
3.如权利要求1所述的方法,其特征在于,在任一时间j时,所述第二对应关系是根据j时刻的实时传输协议包时间戳、实时传输协议流中媒体的采样频率、同一次请求响应后位于k时刻的实时传输协议包时间戳和同一次请求响应后位于k时刻的实时传输协议包的正常播放时间,建立实时传输协议时间戳与正常播放时间的对应关系,其中,k时刻为位于j时刻之前的时刻。
4.如权利要求3所述的方法,其特征在于,在任一时间j时,所述第二对应关系是:NPT(RTP(j))=(RTP(j)-RTP(k))/f2+NPT(RTP(k));
其中:NPT(RTP(j))是实时传输协议包j时刻的正常播放时间,RTP(j)是j时刻的实时传输协议包时间戳,RTP(k)是同一次请求响应后位于k时刻的实时传输协议包时间戳,f2是实时传输协议流中媒体的采样频率;NPT(RTP(k))是同一次请求响应后位于k时刻的实时传输协议包的正常播放时间。
5.如权利要求3所述的方法,其特征在于,所述实时传输协议包时间戳是根据RTSP实时流协议PLAY response中的Range header和RTP-Info header获取的。
6.如权利要求1所述的方法,其特征在于,在任一时间j时,所述第二对应关系是在根据j时刻的实时传输协议包时间戳、离j时刻最近的k时刻的实时传输协议包时间戳、离j时刻最近的k时刻网络时间协议的时间和实时传输协议流中媒体的采样频率得出j时刻网络时间协议的时间后,根据起始时刻网络时间协议的时间和j时刻网络时间协议的时间得出实时传输协议流包的正常播放时间。
7.如权利要求6所述的方法,其特征在于,在任一时间j时,所述第二对应关系是在按公式:NTP(j)=(RTP(j)-RTP(k))*n/f2+NTP(k)得出NTP(j)后,根据NPT(RTP(j))=NTP(j)-NTP(0)得出实时传输协议流包的NPT时间;
其中:NTP(j)是j时刻网络时间协议的时间,RTP(j)是j时刻的实时传输协议包时间戳,RTP(k)是k时刻的实时传输协议包时间戳,NTP(k)是k时刻网络时间协议的时间,NTP(0)是起始时刻网络时间协议的时间,NPT(RTP(j))是实时传输协议包j时刻的正常播放时间,f2是实时传输协议流中媒体的采样频率,展现时间戳被编码为系统时钟频率的1/n,n为正整数,根据活动图像专家组MPEG-2标准确定。
8.如权利要求6所述的方法,其特征在于,所述实时传输协议包时间戳与所述网络时间协议的时间是通过实时传输控制协议发送方报告包头获取的。
9.一种不同媒体流间的同步系统,其特征在于,包括:
第一对应模块,用于建立第一媒体流数据包第一时间信息与第一显示时间的第一对应关系,所述第一媒体流是传输流时,所述第一时间信息是展现时间戳,所述第一显示时间是正常播放时间;
第二对应模块,用于建立第二媒体流数据包第二时间信息与第二显示时间的第二对应关系,所述第二媒体流是实时传输协议流时,所述第二时间信息是实时传输协议时间戳,所述第二显示时间是正常播放时间;
显示模块,用于根据所述对应关系,在时间信息对应的第一显示时间与第二显示时间差小于阈值时,将第一媒体流数据包与第二媒体流数据包同时显示;
在任一时间t时,所述第一对应模块:
根据t时刻的展现时间戳、通过在事件信息表EIT中添加节目的起始存储单元的展现时间戳标识符获知的节目的起始存储单元的展现时间戳以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系;
或,
根据t时刻的展现时间戳、节目起始存储单元的展现时间戳以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系;
或,
根据唯一标识节目表、以及t时刻的展现时间戳、唯一标识节目表中离t时刻最近的时刻的展现时间戳、唯一标识节目表中离t时刻最近的时刻展现时间戳的正常播放时间以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系,所述唯一标识节目表为节目的展现时间戳与节目正常播放时间的对应表;
或,
通过在扩展分组基本流包头加入正常播放时间戳,建立展现时间戳与正常播放时间的对应关系。
10.如权利要求9所述的同步系统,其特征在于,所述第一对应模块中根据t时刻的展现时间戳、在EIT表中添加节目的起始存储单元的展现时间戳、传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系具体包括:
按NPT(t)=(PTS(t)-StartAU_PTS)*n/f1建立所述第一对应关系,
其中:NPT(t)是t时刻的正常播放时间,PTS(t)是t时刻的展现时间戳,StartAU_PTS是通过在EIT表中添加节目的起始存储单元的展现时间戳标识符获知的节目的起始存储单元的展现时间戳,f1是传输流系统时钟频率,展现时间戳被编码为系统时钟频率的1/n,n为正整数,根据活动图像专家组MPEG-2标准确定;
或所述第一对应模块中根据t时刻的展现时间戳、节目起始存储单元的展现时间戳、传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系具体包括,
按NPT(t)=(PTS(t)-PTS(0))*n/f1建立所述第一对应关系,
其中:NPT(t)是t时刻的正常播放时间,PTS(t)是t时刻的展现时间戳,PTS(0)是节目起始存储单元的展现时间戳,f1是传输流系统时钟频率,展现时间戳被编码为系统时钟频率的1/n,n为正整数,根据活动图像专家组MPEG-2标准确定;
或所述第一对应模块中根据唯一标识节目表、t时刻的展现时间戳、唯一标识节目表中离t时刻最近的时刻的展现时间戳、唯一标识节目表中离t时刻最近的时刻展现时间戳的正常播放时间以及传输流系统时钟频率,建立展现时间戳与正常播放时间的对应关系具体包括,
根据唯一标识节目表,所述唯一标识节目表为节目的展现时间戳和节目正常播放时间的对应表,按公式:NPT(PTS(t))=(PTS(t)-PTS(i))*n/f1+NPT(PTS(i))得出的PTS对应的RPT时间,建立所述第一对应关系,
其中:NPT(PTS(t))是t时刻展现时间戳的正常播放时间,PTS(t)是t时刻的展现时间戳,PTS(i)是离t时刻最近的i时刻的展现时间戳,NPT(PTS(i))是离t时刻最近的i时刻展现时间戳的正常播放时间,f1是传输流系统时钟频率,展现时间戳被编码为系统时钟频率的1/n,n为正整数,根据活动图像专家组MPEG-2标准确定。
11.如权利要求9所述的同步系统,其特征在于,在任一时间j时,所述第二对应模块按NPT(RTP(j))=(RTP(j)-RTP(k))/f2+NPT(RTP(k))建立所述第二对应关系,
其中:NPT(RTP(j))是实时传输协议包j时刻的正常播放时间,RTP(j)是j时刻的实时传输协议包时间戳,RTP(k)是同一次请求响应后位于k时刻的实时传输协议包时间戳,f2是实时传输协议流中媒体的采样频率;NPT(RTP(k))是同一次请求响应后位于k时刻的实时传输协议包的正常播放时间。
12.如权利要求9所述的同步系统,其特征在于,在任一时间j时,所述第二对应模块按公式:NTP(j)=(RTP(j)-RTP(k))*n/f2+NTP(k)得出NTP(k)后,根据NPT(RTP(j))=NTP(j)-NTP(0)得出实时传输协议流包的NPT时间,建立所述第二对应关系,
其中:NTP(j)是j时刻网络时间协议的时间,RTP(j)是j时刻的实时传输协议包时间戳,RTP(k)为k时刻的实时传输协议包时间戳,NTP(k)是k时刻网络时间协议的时间,NTP(0)是起始时刻网络时间协议的时间,NPT(RTP(j))是实时传输协议包j时刻的正常播放时间,f2是实时传输协议流中媒体的采样频率,n为正整数,根据活动图像专家组MPEG-2标准确定。
13.一种媒体流发送方法,其特征在于,包括如下步骤:
将第一对应关系放置到第一媒体流中,第二对应关系放置到第二媒体流中,并将所述第一媒体流和第二媒体流发送至终端,所述第一对应关系为第一媒体流数据包第一时间信息与第一显示时间,所述第二对应关系为第二媒体流数据包第二时间信息与第二显示时间;当所述第一媒体流为传输流TS,第二媒体流为实时流协议RTSP流时,所述第一对应关系为展现时间戳PTS和正常播放时间戳NPT之间的对应关系,或者所述第一对应关系为PTS和实时传输协议RTP时间戳之间的对应关系;当所述第一媒体流为TS,第二媒体流为实时传输控制协议RTCP流时,所述第一对应关系为PTS和网络时间协议NTP时间戳之间的对应关系;
或,将第一对应关系放置到第二媒体流中,第二对应关系放置到第二媒体流的控制流中,并将第一媒体流和第二媒体流发送至终端,所述第一对应关系为第一媒体流数据包第一时间信息与第一显示时间,所述第二对应关系为第二媒体流数据包第二时间信息与第二显示时间;当所述第二媒体流为RTP流或RTCP流时,所述第一对应关系为PTS和RTP时间戳之间的对应关系;当所述第二媒体流为RTCP流,所述第二媒体控制流为RTSP时,所述第一对应关系为PTS和NPT之间的对应关系;当所述第二媒体流为RTCP,所述第二媒体控制流为RTCP SR包时,所述第一对应关系为PTS和NTP之间的对应关系;
或,将第一对应关系放置在时间映射服务器上,第二对应关系放置在第二媒体流的控制流中,并将第一媒体流和第二媒体流发送至终端,所述映射服务器将第一对应关系信息发送至终端,所述第一对应关系为第一媒体流数据包第一时间信息与第一显示时间,所述第二对应关系为第二媒体流数据包第二时间信息与第二显示时间;当所述第二媒体流的控制流为RTCP流时,所述第一对应关系为PTS和NTP时间戳之间的对应关系;当所述第二媒体流的控制流为RTSP流时,所述第一对应关系为PTS和NPT时间戳之间的对应关系;当所述第二媒体流的控制流为RTCP或RTSP时,所述第一对应关系为PTS和RTP时间戳之间的对应关系;
所述将第一对应关系放置到第一媒体流中具体包括:
将所述第一对应关系信息放置在第一媒体流的分组基本流包头中;和/或,将所述第一对应关系信息放置在第一媒体流的传输流事件信息表中;和/或,将所述第一对应关系信息放置在第一媒体流新建的时间映射关系表中。
14.如权利要求13所述的方法,其特征在于,进一步包括如下步骤:
终端根据接收到的所述对应关系信息,在时间信息对应的第一显示时间与第二显示时间差小于阈值时,对第一媒体流数据包与第二媒体流数据包进行处理。
15.如权利要求14所述的方法,其特征在于,所述终端接收到所述对应关系信息后,根据第一对应关系,将第一媒体流中的第一时间信息映射成第一显示时间;根据第二对应关系,将第二媒体流中的第二时间信息映射成第二显示时间。
16.如权利要求14所述的方法,其特征在于,所述在时间信息对应的第一显示时间与第二显示时间差小于阈值时,对第一媒体流数据包与第二媒体流数据包进行处理,具体包括以下方式之一:
第一显示时间和第二显示时间相同或相差小于阈值时,同时展现第一显示时间标识的第一媒体流的数据包和第二显示时间标识的第二媒体流的数据包;
第一显示时间和第二显示时间相同或相差小于阈值时,切换第一显示时间标识的第一媒体流的数据包成第二显示时间标识的第二媒体流的数据包;
第一显示时间和第二显示时间相同或相差小于阈值时,切换第二显示时间标识的第二媒体流的数据包成第一显示时间标识的第一媒体流的数据包。
17.一种媒体流发送系统,包括向终端发送第一媒体流的第一媒体流服务器、向终端发送第二媒体流的第二媒体流服务器,其特征在于,还包括对应关系放置模块,用于在第一媒体流服务器向终端发送的第一媒体流、和/或第二媒体流服务器向终端发送的第二媒体流中放置对应关系信息,所述对应关系包括:第一媒体流数据包第一时间信息与第一显示时间的第一对应关系,第二媒体流数据包第二时间信息与第二显示时间的第二对应关系;
所述对应关系放置模块包括第一放置单元和第二放置单元,其中:
第一放置单元,用于在第一媒体流中放置第一媒体流数据包第一时间信息与第一显示时间的第一对应关系信息;
第二放置单元,用于在第二媒体流中放置第二媒体流数据包第二时间信息与第二显示时间的第二对应关系信息;
所述第一放置单元包括第一子单元、第二子单元或第三子单元之一,或者包括第一子单元、第二子单元或第三子单元的组合,其中:
第一子单元,用于将所述第一对应关系信息放置在第一媒体流的分组基本流PES包头中;
第二子单元,用于将所述第一对应关系信息放置在第一媒体流的传输流事件信息表中;
第三子单元,用于将所述第一对应关系信息放置在第一媒体流新建的时间映射关系表中。
18.如权利要求17所述的系统,其特征在于,所述对应关系放置模块包括传输单元和第三放置单元,其中:
传输单元,用于从第一媒体流服务器获取第一媒体流数据包第一时间信息与第一显示时间的第一对应关系信息,并传输至第三放置单元;
第三放置单元,用于将第一媒体流的第一时间对应关系信息和第二媒体流数据包第二时间信息与第二显示时间的第二对应关系信息放置到第二媒体流中。
19.如权利要求17所述的系统,其特征在于,所述对应关系放置模块包括发送单元、第二放置单元和映射服务器,其中:
发送单元,用于将第一媒体流数据包第一时间信息与第一显示时间的第一对应关系信息发送至映射服务器;
第二放置单元,用于在第二媒体流中放置第二媒体流数据包第二时间信息与第二显示时间的第二对应关系信息;
映射服务器,用于将第一对应关系信息发送至终端。
20.如权利要求17至19任一所述的系统,其特征在于,所述终端进一步包括对应关系处理模块,用于根据接收到的所述对应关系,在时间信息对应的第一显示时间与第二显示时间差小于阈值时,对第一媒体流数据包与第二媒体流数据包进行处理。
21.如权利要求20所述的系统,其特征在于,所述对应关系处理模块包括同步处理单元、第一切换单元或第二切换单元,其中:
同步处理单元,用于在第一显示时间和第二显示时间相同或相差小于阈值时,同时展现第一显示时间标识的第一媒体流的数据包和第二显示时间标识的第二媒体流的数据包;
第一切换单元,用于在第一显示时间和第二显示时间相同或相差小于阈值时,切换第一显示时间标识的第一媒体流的数据包成第二显示时间标识的第二媒体流的数据包;
第二切换单元,用于在第一显示时间和第二显示时间相同或相差小于阈值时,切换第二显示时间标识的第二媒体流的数据包成第一显示时间标识的第一媒体流的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007800024610A CN101371488B (zh) | 2006-11-09 | 2007-11-09 | 一种不同媒体流间的同步方法及系统 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101385882A CN101179484A (zh) | 2006-11-09 | 2006-11-09 | 一种不同媒体流间的同步方法及系统 |
CN200610138588.2 | 2006-11-09 | ||
CN2007800024610A CN101371488B (zh) | 2006-11-09 | 2007-11-09 | 一种不同媒体流间的同步方法及系统 |
PCT/CN2007/003176 WO2008055420A1 (fr) | 2006-11-09 | 2007-11-09 | Procédé de synchronisation entre différents flux de média et un système |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101371488A CN101371488A (zh) | 2009-02-18 |
CN101371488B true CN101371488B (zh) | 2013-01-30 |
Family
ID=39364180
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101385882A Pending CN101179484A (zh) | 2006-11-09 | 2006-11-09 | 一种不同媒体流间的同步方法及系统 |
CN2007800024610A Expired - Fee Related CN101371488B (zh) | 2006-11-09 | 2007-11-09 | 一种不同媒体流间的同步方法及系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101385882A Pending CN101179484A (zh) | 2006-11-09 | 2006-11-09 | 一种不同媒体流间的同步方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN101179484A (zh) |
WO (1) | WO2008055420A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819749B2 (en) * | 2008-06-11 | 2014-08-26 | Koninklijke Philips B.V. | Synchronization of media stream components |
CN101465996B (zh) * | 2008-12-31 | 2013-04-24 | 华为技术有限公司 | 一种网络电视显示时间的方法及设备和系统 |
US20120036277A1 (en) * | 2009-03-16 | 2012-02-09 | Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno | Modified Stream Synchronization |
EP2529531B1 (en) * | 2010-01-27 | 2019-10-09 | Koninklijke KPN N.V. | Method, system and device for synchronization of media streams |
CN102196479B (zh) | 2010-03-10 | 2014-01-08 | 华为技术有限公司 | 定时提前值的共享检测方法、用户设备、基站及系统 |
BR112013008587B1 (pt) * | 2010-10-15 | 2021-09-21 | Interdigital Ce Patent Holdings | Método para processar dados de multimídia em um dispositivo de recepção, e dispositivo de recepção |
WO2012094974A1 (zh) * | 2011-01-11 | 2012-07-19 | 中兴通讯股份有限公司 | 一种多个媒体流同步的方法、装置及系统 |
CN102821338B (zh) * | 2011-06-10 | 2015-02-25 | 冠捷投资有限公司 | 可消除异音的电路及其方法 |
CN102387401B (zh) * | 2011-10-17 | 2014-08-27 | 上海聚力传媒技术有限公司 | 一种调整音视频信息的播放时间点的方法、装置及设备 |
KR101974077B1 (ko) * | 2013-05-22 | 2019-08-23 | 한화테크윈 주식회사 | Rtp 패킷을 이용한 재생 영상의 시간 표시 방법 |
CN103684738B (zh) * | 2013-12-31 | 2017-06-13 | 曙光信息产业股份有限公司 | 一种防原消息干扰的方法及装置 |
US9560421B2 (en) * | 2014-03-27 | 2017-01-31 | Samsung Electronics Co., Ltd. | Broadcast and broadband hybrid service with MMT and DASH |
CN105812961B (zh) * | 2014-12-31 | 2019-09-10 | 中兴通讯股份有限公司 | 自适应流媒体处理方法及装置 |
CN107517401B (zh) * | 2016-06-15 | 2019-11-19 | 成都鼎桥通信技术有限公司 | 多媒体数据播放方法及装置 |
CN109565466B (zh) * | 2017-03-23 | 2020-11-06 | 华为技术有限公司 | 多设备间唇音同步方法及设备 |
CN109756744B (zh) * | 2017-11-02 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、电子设备及计算机存储介质 |
CN108462694A (zh) * | 2018-02-02 | 2018-08-28 | 深圳广信网络传媒有限公司 | 基于ts流封装的动态媒体标示方法、装置、编码结构及系统 |
JP6743931B2 (ja) * | 2019-03-26 | 2020-08-19 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
JP6828133B1 (ja) | 2019-12-27 | 2021-02-10 | 株式会社ドワンゴ | コンテンツ生成装置、コンテンツ配信サーバ、コンテンツ生成方法、および、コンテンツ生成プログラム |
CN111988641B (zh) * | 2020-07-28 | 2022-07-15 | 上海工程技术大学 | 传输流复用音视频时间同步方法 |
CN112130485A (zh) * | 2020-08-31 | 2020-12-25 | 南京理工大学 | 一种高速多通道同步采集装置及方法 |
EP4195673A1 (en) * | 2021-12-07 | 2023-06-14 | MediaTek Singapore Pte Ltd | Synchronization of media streams |
CN114173149A (zh) * | 2021-12-21 | 2022-03-11 | 杭州当虹科技股份有限公司 | 一种防插播的方法 |
CN115174979B (zh) * | 2022-06-20 | 2023-12-29 | 阿里巴巴(中国)有限公司 | 流媒体传输网络及传输控制方法、装置、设备及存储介质 |
WO2024032107A1 (en) * | 2022-08-08 | 2024-02-15 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for visual data processing |
CN117676219A (zh) * | 2022-08-29 | 2024-03-08 | 华为技术有限公司 | 一种数据传输方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1282068A (zh) * | 1999-07-21 | 2001-01-31 | 汤姆森许可公司 | 用于压缩的音频/视频信号接收机的同步装置 |
WO2005115009A1 (en) * | 2004-05-13 | 2005-12-01 | Qualcomm Incorporated | Synchronization of audio and video data in a wireless communication system |
CN1767601A (zh) * | 2005-10-21 | 2006-05-03 | 西安交通大学 | 一种支持多源流媒体的同步播放控制方法 |
-
2006
- 2006-11-09 CN CNA2006101385882A patent/CN101179484A/zh active Pending
-
2007
- 2007-11-09 CN CN2007800024610A patent/CN101371488B/zh not_active Expired - Fee Related
- 2007-11-09 WO PCT/CN2007/003176 patent/WO2008055420A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1282068A (zh) * | 1999-07-21 | 2001-01-31 | 汤姆森许可公司 | 用于压缩的音频/视频信号接收机的同步装置 |
WO2005115009A1 (en) * | 2004-05-13 | 2005-12-01 | Qualcomm Incorporated | Synchronization of audio and video data in a wireless communication system |
CN1767601A (zh) * | 2005-10-21 | 2006-05-03 | 西安交通大学 | 一种支持多源流媒体的同步播放控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101371488A (zh) | 2009-02-18 |
WO2008055420A1 (fr) | 2008-05-15 |
CN101179484A (zh) | 2008-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101371488B (zh) | 一种不同媒体流间的同步方法及系统 | |
US11245940B2 (en) | Method and apparatus for transmitting media data in multimedia transport system | |
JP4668515B2 (ja) | マルチメディアコンテンツに同期化されたメタデータ伝送装置及び方法 | |
CN100544439C (zh) | 一种支持多种编码格式的媒体数据的方法及系统 | |
EP2561664B1 (en) | Interface apparatus for transmitting and receiving media data | |
CN100568971C (zh) | 一种mpeg-4的传输码流到互联网流媒体联盟流的实时转换方法 | |
KR102000260B1 (ko) | 방송 시스템에서의 멀티미디어 프레임 송/수신장치 및 방법 | |
US7035295B2 (en) | Direct RTP delivery method and system over MPEG network | |
EP2628297B1 (en) | Method for synchronizing multimedia flows and corresponding device | |
CN102714754B (zh) | 传输流的远程再复用 | |
US20220131921A1 (en) | Multicast to unicast conversion | |
CN1327443C (zh) | 一种流媒体点播的音视频切换方法 | |
CN112272316B (zh) | 一种基于视频显示时间戳的多传输码流同步udp分发方法和系统 | |
US11445000B2 (en) | Multicast to unicast conversion | |
CN103281585A (zh) | Iptv的stb装置 | |
Setlur et al. | More: a mobile open rich media environment | |
Hai et al. | Research and application on dynamical media encapsulation technology based on extended mpeg-ts | |
JP2008187368A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130130 |