CN115314745B - 一种流媒体同步方法 - Google Patents
一种流媒体同步方法 Download PDFInfo
- Publication number
- CN115314745B CN115314745B CN202210904274.8A CN202210904274A CN115314745B CN 115314745 B CN115314745 B CN 115314745B CN 202210904274 A CN202210904274 A CN 202210904274A CN 115314745 B CN115314745 B CN 115314745B
- Authority
- CN
- China
- Prior art keywords
- receiving end
- module
- optimal
- time
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/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/43076—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 the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
-
- 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)
- Signal Processing (AREA)
- Multimedia (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
本发明提供了一种流媒体同步方法,能有效的解决现有技术的无法解决的媒体流同步的缺陷。包括服务端和接收端,所述服务端包含NTP服务模块,推流模块、消息服务模块、最优决策模块。本发明基于IP网络的多接收端在播放流媒体时,通过服务端下发配置信息,各接收端定期上报播放位置及接收端时间,服务端根据网络状态等因素优选最佳接收端,将最佳接收端上报的播放位置及系统时间下发给需要同步的接收端,各接收端根据视频帧率和收到的系统时间和视频位置,调整自身播放位置,以达到同步媒体流目的。
Description
技术领域
本发明涉及一种流媒体同步方法,属于媒体播放技术领域。
背景技术
在多屏直播场景,例如公交、地铁、办事大厅,商业广场等的显示屏上,需要进行正点新闻播放,赛事实时转播等,存在多个设备进行直播视频播放的场景,随着目前网络带宽不断提高,在网络带宽不是制约因素的情况下,因各个独立设备缓存差异,播放器播放设备的差异,即使是同样配置的终端设备,播放同样的直播内容存在一定的不同步的情况,尤其在同一场所内,如某大厅多台终端设备视频画面和声音的不同步,极大的影响人群的观感体验。针对以上的问题,较为通用同步方式是使用分屏器,这种分屏器可以使屏幕显示所有内容完全保持一致,但收到成本影响,以及现场因素的影响一般在较小的范围内使用,因各设备在一定周期进行直播等媒体播放的同时其余时间需要显示自身独特的展示内容,所以分屏器无法满足以上问题。
发明内容
本发明目的是提供了一种流媒体同步方法,能有效的解决现有技术的无法解决的媒体流同步的缺陷。
本发明为实现上述目的,通过以下技术方案实现:
一种流媒体同步方法,包括服务端和接收端,所述服务端包含NTP服务模块,推流模块、消息服务模块、最优决策模块;
包括以下步骤:
步骤1:各接收端通过NTP服务模块进行时间同步;
步骤2:推流模块提供SRT推流,接收端和服务器端SRT服务建立连接,接收端和服务端消息模块即MQ模块服务建立连接;
步骤3:MQ模块给当前需要同屏的接收端下发配置信息,包括直播的播放地址,播放时间段,播放周期,以及PTS上报周期;
步骤4:推流模块进行直播推流,所有接收端播放器在播放成功后每N秒上报当前视频的播放位置;
步骤5:在实时播放过程中,服务器根据接收端的网络延时状态确定最佳接收端;
步骤6:最优决策模块根据RTT获取到的最优接收端,并依据该接收端发送的其当前帧的PTS,以及终端系统时间,通过MQ模块同步到其他需要同步视频的其他接收端;
步骤7:其他接收端收到MQ模块发出的PTS后及系统时间后,根据当前时间及视频帧率,自动判断当前视频帧的PTS是否与服务器端同步,或是否在可接收的误差内;
步骤8:接收端根据当前时间及视频帧率,结合收到MQ信息,判断当前视频帧位置是否与最佳接收端是否同步,进行视频纠正,根据获得的PTS偏差数据对于视频落后播放的,对视频进行视频帧丢帧追赶,视频超前的则增加视频帧缓冲队列,降低播放速度,已达到终端同步显示。
优选的,所述接收端通过NTP服务模块同步系统时间。
优选的,所述上报当前视频的播放位置具体步骤为:接收端播放器获取当前视频帧渲染时,得到的当前帧的PTS,以及接收端的系统时间,数据分割拼接后上报到MQ模块。
优选的,所述确定最佳接收端具体为步骤为:内容服务器根据接收端信息数据包反馈的ACK控制数据包的RTT值,根据RTT的最佳往返时间,确定延时和抖动最佳者为最佳终端。
优选的,最优决策模块根据实际网络情况对于RTT返回时间进行判定,最优决策模块获取到所有接收端最近N秒内的往返时延RTT值,将N秒内所有的RTT的往返时间计算算数平均数以M表示,并将所有接收端获取到的M根据值的大小排序,若通信初期起始状态时间小于N秒则取所有RTT值,M值最小者视为当前的最佳终端,决定最佳接收端后,决策模块将该接收端发送的当前帧的PTS,以及接收端系统时间,通过MQ模块同步到其他需要同步视频的其他接收端。
优选的,所述步骤4, 步骤6 中N为3秒。
本发明的优点在于:本发明基于IP网络的多接收端在播放流媒体时,通过服务端下发配置信息,各接收端定期上报播放位置及接收端时间,服务端根据网络状态等因素优选最佳接收端,将最佳接收端上报的播放位置及系统时间下发给需要同步的接收端,各接收端根据视频帧率和收到的系统时间和视频位置,调整自身播放位置,以达到同步媒体流目的。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种多接收端媒体流同步播放的方法和装置,包括以下内容:
本发明提供一种媒体流同步方式,服务器端包括NTP服务模块,推流模块、消息服务模块、最优决策模块。各接收端首先通过NTP服务模块进行时间同步;
推流模块提供SRT推流,接收端和服务器端SRT服务建立连接。接收端和服务端消息模块即MQ模块(消息队列)服务建立连接;
MQ模块给当前需要同屏的接收端下发配置信息,包括直播的播放地址,播放时间段,播放周期,以及PTS上报周期等信息;
SRT推流模块进行直播推流,所有接收端播放器在播放成功后每N秒(根据配置获取,本方案为3秒)上报当前视频的播放位置,具体为接收端播放器获取当前视频帧渲染时,得到的当前帧的PTS,以及接收端的系统时间,数据分割拼接后上报到MQ模块;
在实时播放过程中,服务器根据接收端的网络延时状态确定最佳接收端,具体为内容服务器根据接收端信息数据包反馈的ACK控制数据包的RTT值,根据RTT的最佳往返时间等因素,确定延时和抖动最佳者为最佳终端,如选最小等方式;
最优决策模块根据RTT获取到的最优接收端,并依据该接收端发送的其当前帧的PTS,以及终端系统时间,通过MQ模块同步到其他需要同步视频的其他接收端;
其他接收端收到MQ模块发出的PTS后及系统时间后,根据当前时间及视频帧率,自动判断当前视频帧的PTS是否与服务器端同步,或是否在可接收的误差内;
接收端根据当前时间及视频帧率,结合收到MQ信息,判断当前视频帧位置是否与最佳接收端是否同步,进行视频纠正,根据获得的PTS偏差数据对于视频落后播放的,对视频进行视频帧丢帧追赶,视频超前的则增加视频帧缓冲队列,降低播放速度,已达到终端同步显示;
播放过程中,周期性按照上面步骤进行处理,以保证媒体源画面同步;
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种流媒体同步方法,其特征在于,应用于包括服务端和接收端的装置,所述服务端包含NTP服务模块,推流模块、消息服务模块、最优决策模块;
包括以下步骤:
步骤1:各接收端通过NTP服务模块进行时间同步;
步骤2:推流模块提供SRT推流,接收端和服务端SRT服务建立连接,接收端和服务端消息服务模块即MQ模块服务建立连接;
步骤3:MQ模块给当前需要同屏的接收端下发配置信息,包括直播的播放地址,播放时间段,播放周期,以及PTS上报周期;
步骤4:推流模块进行直播推流,所有接收端播放器在播放成功后每N秒上报当前视频的播放位置;
步骤5:在实时播放过程中,服务端根据接收端的网络延时状态确定最佳接收端;
所述确定最佳接收端具体为步骤为:服务端根据接收端信息数据包反馈的ACK控制数据包的RTT值,根据RTT的最佳往返时间,确定延时和抖动最佳者为最佳终端;
步骤6:最优决策模块根据RTT获取到的最佳接收端,并依据该接收端发送的其当前帧的PTS,以及终端系统时间,通过MQ模块同步到其他需要同步视频的其他接收端;
具体步骤如下:最优决策模块根据实际网络情况对于RTT返回时间进行判定,最优决策模块获取到所有接收端最近N秒内的往返时延RTT值,将N秒内所有的RTT的往返时间计算算数平均数以M表示,并将所有接收端获取到的M根据值的大小排序,若通信初期起始状态时间小于N秒则取所有RTT值,M值最小者视为当前的最佳终端,决定最佳接收端后,决策模块将该接收端发送的当前帧的PTS,以及接收端系统时间,通过MQ模块同步到其他需要同步视频的其他接收端;
步骤7:其他接收端收到MQ模块发出的PTS后及系统时间后,根据当前时间及视频帧率,自动判断当前视频帧的PTS是否与服务器端同步,或是否在可接收的误差内;
步骤8:接收端根据当前时间及视频帧率,结合收到MQ信息,判断当前视频帧位置是否与最佳接收端是否同步,进行视频纠正,根据获得的PTS偏差数据对于视频落后播放的,对视频进行视频帧丢帧追赶,视频超前的则增加视频帧缓冲队列,降低播放速度,已达到终端同步显示。
2.根据权利要求1所述的流媒体同步方法,其特征在于,所述接收端通过NTP服务模块同步系统时间。
3.根据权利要求1所述的流媒体同步方法,其特征在于,所述上报当前视频的播放位置具体步骤为:接收端播放器获取当前视频帧渲染时,得到当前帧的PTS,以及接收端的系统时间,数据分割拼接后上报到MQ模块。
4.根据权利要求1所述的流媒体同步方法,其特征在于,所述步骤4,步骤6中N为3秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210904274.8A CN115314745B (zh) | 2022-07-29 | 2022-07-29 | 一种流媒体同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210904274.8A CN115314745B (zh) | 2022-07-29 | 2022-07-29 | 一种流媒体同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115314745A CN115314745A (zh) | 2022-11-08 |
CN115314745B true CN115314745B (zh) | 2023-08-11 |
Family
ID=83858328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210904274.8A Active CN115314745B (zh) | 2022-07-29 | 2022-07-29 | 一种流媒体同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115314745B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110006188A (ko) * | 2009-07-13 | 2011-01-20 | 한국전자통신연구원 | 멀티미디어 재생 장치 및 그 재생 방법 |
WO2012122901A2 (zh) * | 2011-03-14 | 2012-09-20 | 华为技术有限公司 | 同步hs终端设备之间媒体播放的方法 |
CN103561356A (zh) * | 2013-05-31 | 2014-02-05 | 华为技术有限公司 | 多终端同步播放的方法及设备 |
CN107809685A (zh) * | 2017-11-03 | 2018-03-16 | 中广热点云科技有限公司 | 一种多终端同步播放的方法及设备 |
CN113179441A (zh) * | 2021-03-26 | 2021-07-27 | 卡莱特云科技股份有限公司 | 一种同步播放方法、装置、系统及计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9787523B2 (en) * | 2012-07-05 | 2017-10-10 | Eric Lazarus | Managing data in a data queue including synchronization of media on multiple devices |
-
2022
- 2022-07-29 CN CN202210904274.8A patent/CN115314745B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110006188A (ko) * | 2009-07-13 | 2011-01-20 | 한국전자통신연구원 | 멀티미디어 재생 장치 및 그 재생 방법 |
WO2012122901A2 (zh) * | 2011-03-14 | 2012-09-20 | 华为技术有限公司 | 同步hs终端设备之间媒体播放的方法 |
CN103561356A (zh) * | 2013-05-31 | 2014-02-05 | 华为技术有限公司 | 多终端同步播放的方法及设备 |
CN107809685A (zh) * | 2017-11-03 | 2018-03-16 | 中广热点云科技有限公司 | 一种多终端同步播放的方法及设备 |
CN113179441A (zh) * | 2021-03-26 | 2021-07-27 | 卡莱特云科技股份有限公司 | 一种同步播放方法、装置、系统及计算机设备 |
Non-Patent Citations (1)
Title |
---|
基于网络反馈的无线多终端音频同步方案;徐永键;无线互联科技;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115314745A (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5587435B2 (ja) | コンテンツ再生の同期方法及び同期装置 | |
JP4990762B2 (ja) | インターネットプロトコルに用いるストリーミングオーディオとストリーミングビデオとの同期保持 | |
US9237179B2 (en) | Method and system for synchronizing the output of terminals | |
US11758209B2 (en) | Video distribution synchronization | |
US7346698B2 (en) | Webcasting method and system for time-based synchronization of multiple, independent media streams | |
US8027560B2 (en) | System and method for synchronizing playback of audio and video | |
JP6317872B2 (ja) | 異なるネットワークを介して受信したコンテンツのレンダリングを同期するデコーダ及びそれにおける方法 | |
CN105491393A (zh) | 多人视频直播业务的实现方法 | |
US10778361B1 (en) | Stream synchronization | |
EP2485501B1 (en) | Fast channel change companion stream solution with bandwidth optimization | |
JP4345816B2 (ja) | ネットワークシステムおよび中継装置 | |
JPH11331813A (ja) | デジタルオ―ディオ・ビデオ信号の相互配給システム | |
Tobagi et al. | Performance evaluation of 10Base-T and 100Base-T Ethernets carrying multimedia traffic | |
CN113691847A (zh) | 一种多屏帧同步的方法和装置 | |
CN115314745B (zh) | 一种流媒体同步方法 | |
Din et al. | Synchronization techniques in distributed multimedia presentation | |
EP2479984A1 (en) | Device and method for synchronizing content received from different sources | |
US11503385B2 (en) | Live broadcast IP latency compensation | |
CN110177293A (zh) | 一种同步组播和视频转发方法、系统 | |
CN113645491A (zh) | 一种多个直播播放端实现实时同步播放的方法 | |
EP2164222A1 (en) | Method and system for synchronizing the output of a group of end-terminals | |
EP2068528A1 (en) | Method and system for synchronizing the output of end-terminals | |
Noronha | Synchronized Multistream Transport Using RIST | |
WO2009002304A1 (en) | Method and apparatus for remote stream reconstruction and monitoring | |
EP2164224A1 (en) | Method and system for synchronizing the output of end-terminals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |