CN103839558A - 同步播放方法及服务器、播放器 - Google Patents

同步播放方法及服务器、播放器 Download PDF

Info

Publication number
CN103839558A
CN103839558A CN201210480896.9A CN201210480896A CN103839558A CN 103839558 A CN103839558 A CN 103839558A CN 201210480896 A CN201210480896 A CN 201210480896A CN 103839558 A CN103839558 A CN 103839558A
Authority
CN
China
Prior art keywords
synchronous
message
play
time
curplaytime
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.)
Granted
Application number
CN201210480896.9A
Other languages
English (en)
Other versions
CN103839558B (zh
Inventor
刘洋
孙春红
朱春波
宋旼锡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
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 Samsung Electronics China R&D Center, Samsung Electronics Co Ltd filed Critical Samsung Electronics China R&D Center
Priority to CN201210480896.9A priority Critical patent/CN103839558B/zh
Priority to KR1020130131964A priority patent/KR20140066641A/ko
Priority to US14/086,528 priority patent/US20140149606A1/en
Priority to EP13194145.2A priority patent/EP2736263A1/en
Publication of CN103839558A publication Critical patent/CN103839558A/zh
Application granted granted Critical
Publication of CN103839558B publication Critical patent/CN103839558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明公开了同步播放方法、服务器及播放器。方法包括:从多台目标多媒体设备中任选一台作为主控设备,在主控设备上配置目标多媒体设备的总数;各设备播放器连接主控设备上的同步播放服务器,连接成功,向同步播放服务器发送播放开始请求消息;当同步播放服务器接收到所有设备播放器发来的播放开始请求消息时,根据自身维护的当前播放系统时钟curSysTick确定当前播放时刻curPlayTime,向所有设备播放器发送播放开始时钟消息,该消息携带curPlayTime,各设备播放器接收该播放开始时钟消息,根据该消息中的curPlayTime开始同步播放多媒体文件。本发明提高了多播发器同步播放的精确度。

Description

同步播放方法及服务器、播放器
技术领域
本发明涉及多媒体播放技术领域,具体涉及同步播放方法及服务器、播放器。
背景技术
现有的嵌入式多媒体设备中都提供了媒体播放器,播放器的核心是音视频(A/V)同步引擎,因此,要实现多播放器同步播放媒体的功能,必须在音视频(A/V)同步控制中加入多播放器同步播放的交互控制和时钟控制。
现有的多播放器同步播放媒体技术存在如下缺陷:
一、嵌入式多媒体设备中的播放器音视频(A/V)同步引擎大多使用本地设备的系统时钟,各设备上的系统时钟可能有差别,因此,无法保证多个设备播放器时钟的一致性,也就无法保证多播放器同步精确地播放。
二、当多个设备播放器进行播放时,操作其中一个设备的播放器,其它设备的播放器在没有外接硬件控制设备的情况下,无法做出同步响应,因此,操作也无法保证同步。
发明内容
本发明提供同步播放方法及服务器、播放器,以提高多播放器同步播放的精确度。
本发明的技术方案是这样实现的:
一种同步播放方法,该方法包括:
从多台目标多媒体设备中任选一台作为主控设备,在主控设备上配置目标多媒体设备的总数,在各目标多媒体设备上配置主控设备上的同步播放服务器的单播IP地址和端口、以及广播IP地址和端口;
各设备播放器连接主控设备上的同步播放服务器,连接成功,向同步播放服务器发送播放开始请求消息;
当同步播放服务器接收到所有设备播放器发来的播放开始请求消息时,根据自身维护的当前播放系统时钟curSysTick确定当前播放时刻curPlayTime,向所有设备播放器发送播放开始时钟消息,该消息携带curPlayTime,各设备播放器接收该播放开始时钟消息,根据该消息中的curPlayTime开始同步播放多媒体文件。
所述方法进一步包括:
在同步播放过程中,同步播放服务器周期性地向各设备播放器发送播放系统时钟通知消息,该消息中携带curPlayTime。
所述方法进一步包括:
在同步播放过程中,如果任一设备播放器根据同步播放服务器发来的curPlayTime,发现自身出现了音频延迟或者视频延迟,则向同步播放服务器发送同步播放延迟消息,该消息携带延迟时长latetime,同步播放服务器接收到该latetime后,调整当前播放系统时钟:curSysTick到curSysTick-latetime。
所述方法进一步包括:
在同步播放过程中,当一台设备播放器暂停播放时,该设备播放器向同步播放服务器发送同步播放暂停消息,同步播放服务器接收该消息,记录暂停播放时刻:pausedTime,将pausedTime作为curPlayTime,并记录暂停播放系统时钟:pausedTick;
当各设备播放器接收到同步播放服务器周期性发来的播放系统时钟通知消息时,发现该消息中的curPlayTime总是pausedTime时,暂停播放。
所述各设备播放器暂停播放之后进一步包括:
当唤醒了任一设备播放器时,被唤醒的设备播放器向同步播放服务器发送同步播放唤醒消息,同步播放服务器接收该消息,记录当前播放系统时钟curSysTick,根据记录的暂停播放系统时钟pausedTick以及起始播放系统时钟startPlayTick,计算出唤醒播放后的播放时刻curPlayTime=pausedTick-startPlayTick;
同步播放服务器随后周期性发出的播放系统时钟通知消息中的curPlayTime从pausedTick-startPlayTick开始依次增加,各设备播放器接收到该消息,发现curPlayTime增大,则由暂停变成播放。
所述方法进一步包括:
在同步播放过程中,当任一设备播放器进行时间搜索时,该设备播放器向同步播放服务器发送同步时间搜索消息,该消息携带同步时间搜索时长skiptime,同步播放服务器接收该消息,若发现当前不处于时间搜索状态,则向所有设备播放器转发该消息,各设备播放器接收该消息,从当前播放时刻curPlayTime跳到curPlayTime+skiptime位置进行播放,同时同步播放服务器调整当前播放时刻curPlayTime到curPlayTime+skiptime。
所述方法进一步包括:
在同步播放过程中,当任一设备播放器进行快进或快退播放时,该设备播放器向同步播放服务器发送同步快进快退消息,该消息携带快进或快退的速度trickspeed,同步播放服务器接收该消息,判断当前是否处于快进快退状态,若是,执行步骤B;否则,执行步骤A;
A、同步播放服务器向所有设备播放器转发同步快进快退消息,并将当前播放速度curPlaySpeed设置为trickspeed,各设备播放器接收该消息,按trickspeed进行快进或快退播放,转至步骤C;
B、同步播放服务器设置下一播放速度nextPlaySpeed为trickspeed;
C、当任一设备播放器完成一次向前或者向后时间搜索操作后,向同步播放服务器发送时间搜索完毕消息,同时阻塞等待;当同步播放服务器接收到所有设备播放器发来的时间搜索完毕消息时,确定快进快退过程中的一次时间搜索操作完成,判断curPlaySpeed和nextPlaySpeed是否一致,若是,直接执行步骤E;否则,执行步骤D;
D、同步播放服务器确定接收到了新的同步快进快退消息,则先向所有设备播放器发送下一播放速度通知消息,该消息中的nextPlaySpeed=trickspeed;
E、同步播放服务器向所有设备播放器发送时间搜索完毕响应消息;
F、任一设备播放器接收同步播放服务器发来的时间搜索完毕响应消息,进行下一次时间搜索操作。
所述方法进一步包括:
在同步播放过程中,若任一设备播放器停止播放,该设备播放器向同步播放服务器发送同步播放停止消息,同步播放服务器接收该消息,将该消息转发到各设备播放器,任一设备播放器接收该消息,停止自身的播放过程。
所述方法进一步包括:
在同步播放过程中,当主控设备出现死机或者网络断开情况时,各设备播放器将收不到同步播放服务器周期性发送的播放系统时钟通知消息,各设备播放器自动退出播放过程;
或者,在同步播放过程中,当任一被控设备出现网络断开情况时,该被控设备播放器将收不到同步播放服务器周期性发送的播放系统时钟通知消息,该被控设备播放器自动退出播放过程。
所述被控设备播放器自动退出播放过程之后进一步包括:
当该被控设备播放器重新启动时,根据同步播放服务器最新发来的当前播放时刻curPlayTime进行向前时间搜索,时间搜索长度为curPlayTime+a,时间搜索完毕,比较被控设备播放器的当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2,若curPlayTime1+10≤curPlayTime2,则被控设备播放器进行向前时间搜索,时间搜索长度为curPlayTime2+a秒,时间搜索完毕,转至所述比较被控设备播放器的当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2的动作;若curPlayTime1<curPlayTime2<curPlayTime1+10,则被控设备播放器向同步播放服务器发送同步播放延迟消息,该消息中的延迟时长latetime=curPlayTime2-curPlayTime 1;若curPlayTime 1≥curPlayTime2,则被控设备播放器等待curPlayTime1-curPlayTime2时长后再继续播放,其中,a为预设值。
所述方法进一步包括:
每个设备播放器在进行每帧音频或视频显示之前,将音频帧或视频帧的显示时间戳发送给同步播放服务器,同步播放服务器计算接收到的最大音频帧显示时间戳和最小的音频帧显示时间戳的差值,并计算接收到的最大视频帧显示时间戳和最小的视频帧时间戳的差值。
一种同步播放服务器,该同步播放服务器位于一台目标多媒体设备上,该服务器包括:
同步连接模块:与各目标多媒体设备播放器建立连接,连接成功,向同步播放处理模块发送连接成功指示;
同步播放处理模块:当接收到所有目标多媒体设备播放器发来的播放开始请求消息时,根据自身维护的当前播放系统时钟curSysTick确定当前播放时刻curPlayTime,向所有目标多媒体设备播放器发送播放开始时钟消息,该消息携带curPlayTime,以使得各目标多媒体设备播放器根据curPlayTime开始同步播放多媒体文件。
所述同步播放处理模块进一步包括:在同步播放过程中,周期性地向各目标多媒体设备播放器发送播放系统时钟通知消息,该消息中携带curPlayTime,该curPlaytime由curSysTick得到。
所述同步播放处理模块进一步包括:在同步播放过程中,如果接收到任一目标多媒体设备播放器发来的同步播放延迟消息,根据该消息携带的延迟时长latetime,调整当前播放系统时钟:curSysTick到curSysTick-latetime。
所述同步播放处理模块进一步包括:在同步播放过程中,当接收到任一目标多媒体设备播放器发来的同步播放暂停消息时,记录暂停播放时刻:pausedTime,将pausedTime作为curPlayTime,并记录暂停播放系统时钟:pausedTick;当接收到任一目标多媒体设备播放器发来的同步播放唤醒消息时,记录当前播放系统时钟curSysTick,根据记录的暂停播放系统时钟pausedTick以及起始播放系统时钟startPlayTick,计算出唤醒播放后的播放时刻curPlayTime=pausedTick-startPlayTick。
所述同步播放处理模块进一步包括:在同步播放过程中,当接收到任一目标多媒体设备播放器发来的携带同步时间搜索时长skiptime的同步时间搜索消息时,若发现当前不处于时间搜索状态,则调整当前播放时刻curPlayTime到curPlayTime+skiptime,并向所有目标多媒体设备播放器转发该消息,以便各目标多媒体设备播放器从当前播放时刻curPlayTime跳到curPlayTime+skiptime位置进行播放。
所述同步播放处理模块进一步包括:在同步播放过程中,当接收到任一目标多媒体设备播放器发来的携带快进或快退的速度trickspeed的同步快进快退消息时,判断当前是否处于快进快退状态,若是,设置下一播放速度nextPlaySpeed为trickspeed,否则,向所有目标多媒体设备播放器转发同步快进快退消息,并将当前播放速度curPlaySpeed设置为trickspeed;且,当接收到所有目标多媒体设备播放器发来的时间搜索完毕消息时,判断curPlaySpeed和nextPlaySpeed是否一致,若是,向所有目标多媒体设备播放器发送时间搜索完毕响应消息,否则,先向所有目标多媒体设备播放器发送下一播放速度通知消息,该消息中的nextPlaySpeed=trickspeed,然后向所有目标多媒体设备播放器发送时间搜索完毕响应消息。
所述同步播放处理模块进一步包括:在同步播放过程中,若接收到任一目标多媒体设备播放器发来的同步播放停止消息,将该消息转发到各目标多媒体设备播放器。
一种多媒体设备播放器,包括:
同步连接模块:与同步播放服务器建立连接,连接成功,向同步播放模块发送连接成功指示;
同步播放模块:当接收到所述连接成功指示后,向同步播放服务器发送播放开始请求消息,当接收到同步播放服务器发来的播放开始时钟消息时,根据该消息中的curPlayTime开始同步播放多媒体文件。
所述同步播放模块进一步包括:在同步播放过程中,若根据同步播放服务器周期性发来的curPlayTime,发现自身出现了音频延迟或者视频延迟,则向同步播放服务器发送同步播放延迟消息,该消息携带延迟时长latetime,以便同步播放服务器将当前播放系统时钟从curSysTick调整到curSysTick-latetime。
所述同步播放模块进一步包括:在同步播放过程中,若自身暂停播放,则向同步播放服务器发送同步播放暂停消息,且,当发现同步播放服务器周期性发来的播放系统时钟通知消息中的curPlayTime总是pausedTime时,暂停播放。
所述同步播放模块进一步包括:当发现自身被唤醒时,向同步播放服务器发送同步播放唤醒消息,且,当发现同步播放服务器随后周期性发来的播放系统时钟通知消息中的curPlayTime从pausedTick-startPlayTick开始依次增加时,由暂停变成播放。
所述同步播放模块进一步包括:在同步播放过程中,当进行时间搜索时,向同步播放服务器发送同步时间搜索消息,该消息携带同步时间搜索时长skiptime;且,当接收到同步播放服务器发来的同步时间搜索消息时,从当前播放时刻curPlayTime跳到curPlayTime+skiptime位置进行播放。
所述同步播放模块进一步包括:在同步播放过程中,当进行快进或快退播放时,向同步播放服务器发送同步快进快退消息,该消息携带快进或快退的速度trickspeed,当完成一次向前或者向后时间搜索操作后,向同步播放服务器发送时间搜索完毕消息,同时阻塞等待,当接收到同步播放服务器发来的时间搜索完毕响应消息时,进行下一次时间搜索操作。
所述同步播放模块进一步包括:在同步播放过程中,若停止播放,则向同步播放服务器发送同步播放停止消息。
所述同步播放模块进一步包括:在同步播放过程中,若收不到同步播放服务器周期性发送的播放系统时钟通知消息,则退出播放过程;当重新启动播放时,根据同步播放服务器最新发来的当前播放时刻curPlayTime进行向前时间搜索,时间搜索长度为curPlayTime+a,时间搜索完毕,比较自身当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2,若curPlayTime1+10≤curPlayTime2,则进行向前时间搜索,时间搜索长度为curPlayTime2+a秒,时间搜索完毕,转至所述比较自身当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2的动作;若curPlayTime1<curPlayTime2<curPlayTime1+10,则向同步播放服务器发送同步播放延迟消息,该消息中的延迟时长latetime=curPlayTime2-curPlayTime1;若curPlayTime1≥curPlayTime2,则等待curPlayTime1-curPlayTime2时长后再继续播放,其中,a为预设值。
与现有技术相比,本发明提高了多播放器同步播放的精确度,且,本发明没有额外硬件资源的要求,降低了成本;本发明容易移植到任何多媒体播放设备,比如:平板电脑,智能手机,电视墙。
另外,本发明可以为家庭数字电视提供更丰富的新特性和功能,各台家庭数字电视可以利用本发明方案组成大屏幕同步播放相同的视频文件,有类似家庭影院的作用,对未来超高清视频的播放提供了一个非常好的场景。
此外,本发明未对普通播放设备明显增加系统负荷。例如:将本发明应用于数字电视电视墙解决方案中,其中同时运行2、4、6或者8台数字电视播放器同步播放作为电视墙显示时,各性能数据的统计为:最大CPU使用率为18%,最大内存增加使用率为2%,各电视播放器之间最大同步播放误差在5毫秒以内。
附图说明
图1为本发明实施例一提供的多播放器同步开始播放多媒体文件的方法流程图;
图2为本发明实施例提供的多播放器同步暂停播放的方法流程图;
图3为本发明实施例提供的多播放器同步唤醒播放的方法流程图;
图4为本发明实施例提供的多播放器同步时间搜索方法流程图;
图5为本发明实施例提供的多播放器同步快进、快退播放方法流程图;
图6为本发明实施例提供的多播放器同步停止播放方法流程图;
图7为本发明实施例提供的播放过程中设备异常处理方法流程图;
图8为本发明实施例提供的播放过程中的同步检测方法流程图;
图9为本发明实施例提供的同步播放服务器的组成示意图;
图10为本发明实施例提供的多媒体设备播放器的组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
首先对本发明的组网环境进行说明:
多台目标多媒体设备连接到同一个内部网络,该内部网络可以是家庭,办公场所的局域网,也可以是未经任何配置的直连内网,网络内的交换机支持因特网组管理协议(IGMP,Internet Group Management Protocol)协议。
图1为本发明实施例一提供的多播放器同步开始播放多媒体文件的方法流程图,如图1所示,其具体步骤如下:
步骤101:从N(N≥2)台目标多媒体设备中任选一台作为主控设备,在主控设备上配置目标多媒体设备的总数:N,并配置主控设备上的同步播放服务器的启动参数:同步播放服务器的单播因特网协议(IP,InternetProtocol)地址、同步播放服务器的单播端口、同步播放服务器的广播IP地址、同步播放服务器的广播端口;同时,在各受控设备上配置主控设备上的同步播放服务器的启动参数:同步播放服务器的单播IP地址、同步播放服务器的单播端口、同步播放服务器的广播IP地址、同步播放服务器的广播端口。
步骤102:各设备播放器连接主控设备上的同步播放服务器,连接成功,向同步播放服务器发送传输控制协议(TCP,Transferring Control Protocol)消息:CMD_BAVE(播放开始请求消息)。
各设备播放器使用同步播放服务器的单播IP地址和端口作为目的IP地址和端口与同步播放服务器建立连接。
步骤103:当同步播放服务器接收到N个CMD_BAVE消息时,向所有设备播放器发送用户数据报协议(UDP,User Datagram Protocol)消息:C[curPlayTime][startPlayTime]E(播放开始时钟消息)。
其中,curPlayTime为多媒体文件的当前播放时刻;startPlayTime为多媒体文件的最起始播放时刻,通常取值为0。
同步播放服务器上维护着一个当前播放系统时钟curSysTick;同时同步播放服务器会记录起始播放系统时钟startPlayTick,即多媒体文件最起始播放时的时钟。当同步播放过程中未出现暂停等异常情况时,curPlayTime=curSysTick-startPlayTick。
步骤104:各设备播放器接收该UDP消息,根据该消息中的curPlayTime开始同步播放多媒体文件。
步骤105:在同步播放过程中,同步播放服务器通过UDP多播方式周期性地发送播放系统时钟通知消息,该消息中携带curPlayTime和startPlayTime。
这里,周期可取1毫秒。播放器音视频同步的系统时钟边界一般是10毫秒,尽管UDP方式存在丢包的可能性,也能保证各设备播放器正常播放,与使用本地设备播放时钟无异,因此,多个设备播放器的播放过程也是一致的。
另外,在同步播放过程中,如果任一设备播放器出现了音频延迟(AudioLate)或者视频延迟(Video Late),则向同步播放服务器发送TCP消息:L[latetime]E(同步播放延迟消息),同步播放服务器接收到该latetime后,调整当前播放系统时钟:curSysTick到curSysTick-latetime。其中,latetime为设备播放器的音频或视频延迟时长。这样就可以保证在出现Audio Late或者Video Late的情况下,各设备播放器仍然能够同步播放。
其中,设备播放器通过如下步骤判断是否出现了音频延迟或者视频延迟:
设备播放器比较当前正在播放的音频帧或视频帧中的显示时间戳与同步播放服务器发来的curPlayTime的差值,若发现该差值在预设范围内,则认为未出现音频延迟或者视频延迟;否则,认为出现了音频延迟或者视频延迟。
图2为本发明实施例提供的多播放器同步暂停播放的方法流程图,如图2所示,其具体步骤如下:
步骤201:在多台设备播放器同步播放的过程中,当一台设备播放器暂停播放时,该设备播放器向同步播放服务器发送TCP消息:CMD_PE(同步播放暂停消息)。
步骤202:同步播放服务器接收该CMD_PE消息,记录暂停播放时刻:pausedTime,将pausedTime作为curPlayTime,并记录暂停播放系统时钟:pausedTick。
步骤203:当各设备播放器接收到同步播放服务器周期性发来的播放系统时钟通知消息时,发现该消息中的curPlayTime总是pausedTime时,暂停播放。
这样,当pausedTime!=0(即暂停播放)的情况下同步播放服务器周期性发送的播放系统时钟通知消息中的curPlayTime总是pausedTime,所有设备播放器会因为curPlayTime一直不变化而暂停播放。
图3为本发明实施例提供的多播放器同步唤醒播放的方法流程图,如图3所示,其具体步骤如下:
步骤301:当所有设备播放器处于暂停播放状态时,若唤醒了任一设备播放器,被唤醒的设备播放器向同步播放服务器发送TCP消息:CMD_RE(同步播放唤醒消息)。
步骤302:同步播放服务器接收TCP消息:CMD_RE,记录当前播放系统时钟curSysTick,根据记录的暂停播放系统时钟pausedTick以及起始播放系统时钟startPlayTick,计算出唤醒播放后的播放时刻curPlayTime=(curSysTick-startPlayTick)-(curSysTick-pausedTick)=pausedTick-startPlayTick,同时将pausedTime设为0。
PausedTime=0表示为非暂停播放状态。
此后,同步播放服务器周期性发出的播放系统时钟通知消息中的curPlayTime从pausedTick-startPlayTick开始,随着系统时钟curSysTick的不停增加,各设备播放器会由暂停变成播放。
图4为本发明实施例提供的多播放器同步时间搜索方法流程图,如图4所示,其具体步骤如下:
步骤401:在多台设备播放器同步播放过程中,当任一设备播放器进行时间搜索(skip)时,该设备播放器向同步播放服务器发送TCP消息:S[skiptime]E(同步时间搜索消息),其中,skiptime是同步时间搜索时长。
步骤402:同步播放服务器接收TCP消息:S[skiptime]E,检查自身维护的时间搜索标记:isSeekingFlag的值,判断isSeekingFlag的值是否为1,若是,执行步骤403;否则,执行步骤404。
步骤403:同步播放服务器向该设备播放器返回时间搜索拒绝消息,本流程结束。
若isSeekingFlag=1,则说明上一次的同步时间搜索过程还未完成。
步骤404:同步播放服务器将isSeekingFlag置为1,并向所有设备播放器发送TCP消息:S[skiptime]E(同步时间搜索消息)。
步骤405:各设备播放器接收S[skiptime]E消息,从当前播放时刻curPlayTime跳到curPlayTime+skiptime位置进行播放,并向同步播放服务器返回TCP消息:FINISH_SKAE(音频搜索完毕消息)和/或FINISH_SKVE(视频搜索完毕消息),同时同步播放服务器调整当前播放时刻curPlayTime到curPlayTime+skiptime。
步骤406:同步播放服务器接收到N个TCP消息:FINISH_SKAE和/或FINISH_SKVE,将isSeekingFlag置为0,本次同步时间搜索过程结束。
图5为本发明实施例提供的多播放器同步快进、快退播放方法流程图,如图5所示,其具体步骤如下:
步骤501:在多台设备播放器同步播放过程中,当任一设备播放器进行快进或快退播放时,该设备播放器向同步播放服务器发送TCP消息:T[trickspeed]E(同步快进快退消息),其中,trickspeed表示快进或快退的速度。
步骤502:同步播放服务器接收该TCP消息:T[trickspeed]E,判断当前播放速度curPlaySpeed是否为1或2,若是,执行步骤503;否则,执行步骤505。
通常,播放器的正常播放状态有两种:一种是curPlaySpeed=1,此时,播放器以正常速度播放;另一种是curPlaySpeed=2,此时,播放器以2倍正常速度播放。
步骤503:同步播放服务器向所有设备播放器发送TCP消息:T[trickspeed]E,并将curPlaySpeed设置为trickspeed。
步骤504:各设备播放器接收TCP消息:T[trickspeed]E,按trickspeed进行快进或快退播放,转至步骤506。
快进或快退播放是启动一个快进快退播放线程,在该快进快退播放线程中,每隔固定时间进行一次向前时间搜索或者向后时间搜索。
步骤505:同步播放服务器设置下一播放速度nextPlaySpeed为trickspeed。
CurPlaySpeed不为1或2,说明当前已经是快进或快退状态,只需更改nextPlaySpeed为trickspeed即可。
步骤506:当任一设备播放器完成一次向前或者向后时间搜索操作后,向同步播放服务器发送TCP消息:NTE(时间搜索完毕消息),然后快进快退播放线程阻塞等待。
步骤507:当同步播放服务器接收到N个TCP消息:NTE时,确定快进快退过程中的一次时间搜索操作完成,判断curPlaySpeed和nextPlaySpeed是否一致,若是,直接执行步骤509;否则,执行步骤508。
步骤508:同步播放服务器确定接收到了新的T[trickspeed]E消息,则先向所有设备播放器发送TCP消息:T[nextPlaySpeed]E(下一播放速度通知消息),其中,nextPlaySpeed=trickspeed。
步骤509:同步播放服务器向所有设备播放器发送答复TCP消息:NTE。
步骤510:任一设备播放器接收同步播放服务器发来的TCP消息:NTE,唤醒快进快退播放线程进行下一次时间搜索操作。
图6为本发明实施例提供的多播放器同步停止播放方法流程图,如图6所示,其具体步骤如下:
步骤601:在多台设备播放器同步播放过程中,若任一设备播放器停止播放,则该设备播放器向同步播放服务器发送TCP消息:QTE(同步播放停止消息)。
步骤602:同步播放服务器接收该TCP消息:QTE,将该消息转发到各设备播放器。
步骤603:任一设备播放器接收该TCP消息:QTE,停止自身的播放过程。
图7为本发明实施例提供的播放过程中设备异常处理方法流程图,如图7所示,其具体步骤如下:
步骤701:在多台设备播放器同步播放过程中,若主控设备出现死机或者网络断开情况,则各设备播放器将收不到同步播放服务器周期性发送的播放系统时钟通知消息,各设备播放器会自动退出播放过程。
此时,只需重新配置网络环境,并启动主控设备以及同步播放服务器。
步骤702:在多台设备播放器同步播放过程中,若任一被控设备出现网络断开情况,则该被控设备播放器将收不到同步播放服务器周期性发送的播放系统时钟通知消息,该被控设备播放器会自动退出播放过程。
此后,若配置好该被控设备的网络环境,重新启动播放,根据同步播放服务器通过最新播放系统时钟通知消息发来的当前播放时刻curPlayTime进行向前时间搜索,时间搜索长度为curPlayTime+a秒,时间搜索完毕,做出如下处理:
1)比较被控设备播放器的当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2。
2)若curPlayTime1+10≤curPlayTime2,则被控设备播放器根据curPlayTime2进行向前时间搜索,时间搜索长度为curPlayTime2+a秒,时间搜索完毕,转至1)。
3)若curPlayTime1<curPlayTime2<curPlayTime1+10,则被控设备播放器向同步播放服务器发送TCP消息:L[latetime]E,latetime=curPlayTime2-curPlayTime1,本流程结束。
4)若curPlayTime1≥curPlayTime2,则被控设备播放器等待curPlayTime1-curPlayTime2时长后再继续播放,本流程结束。
其中,3≤a≤10,较佳地a=5,单位为秒。
图8为本发明实施例提供的播放过程中的同步检测方法流程图,如图8所示,其具体步骤如下:
步骤801:每个设备播放器在进行每帧音频或视频显示之前,将音频帧或视频帧的显示时间戳通过TCP消息发送给同步播放服务器。
其中,对于音频帧,发送的TCP消息为:APTS[audioPTS]E(音频帧显示时间戳消息),其中,audioPTS为音频帧的显示时间戳;对于视频帧,发送的TCP消息为:VPTS[videoPTS]E(视频帧显示时间戳消息),其中,videoPTS为视频帧的显示时间戳。
步骤802:当同步播放服务器接收到N个设备播放器发来的N个音频帧显示时间戳:audioPTS-1、audioPTS-2、…、audioPTS-N和N个视频帧显示时间戳:videoPTS-1、videoPTS-2、…、videoPTS-N时,找出其中最大的音频帧显示时间戳和最小的音频帧显示时间戳,分别为:MAX(audioPTS)、MIN(audioPTS),并找出其中最大的视频帧显示时间戳和最小的视频帧时间戳,分别为:MAX(videoPTS)、MIN(videoPTS)。
步骤803:同步播放服务器计算最大的音频帧显示时间戳和最小的音频帧显示时间戳的差值:MAX(audioPTS)–MIN(audioPTS),并计算最大的视频帧显示时间戳和最小的视频帧显示时间戳的差值:MAX(videoPTS)–MIN(videoPTS),得到同步播放的音频和视频同步精度。
在实际应用中,通过对8台设备播放器同步播放过程中同步检测实验结果表明:audioPTS-MAX-audioPTS-MIN<5毫秒,videoPTS-MAX-videoPTS-MIN<5毫秒。
图9为本发明实施例提供的同步播放服务器的组成示意图,该同步播放服务器位于主控设备上,该主控设备为从多台目标多媒体设备中任选出的,如图9所示,其主要包括:同步连接模块91和同步播放处理模块92,其中:
同步连接模块91:与各目标多媒体设备播放器建立连接,连接成功,向同步播放处理模块发送连接成功指示。
同步播放处理模块92:接收同步连接模块91发来的连接成功指示,当接收到所有目标多媒体设备播放器发来的播放开始请求消息时,根据自身维护的当前播放系统时钟curSysTick确定当前播放时刻curPlayTime,向所有目标多媒体设备播放器发送播放开始时钟消息,该消息携带curPlayTime,以使得各目标多媒体设备播放器根据curPlayTime开始同步播放多媒体文件;在同步播放过程中,周期性地向各目标多媒体设备播放器发送播放系统时钟通知消息,该消息中携带curPlayTime,该curPlaytime由curSysTick得到;在同步播放过程中,如果接收到任一目标多媒体设备播放器发来的同步播放延迟消息,根据该消息携带的延迟时长latetime,调整当前播放系统时钟:curSysTick到curSysTick-latetime;在同步播放过程中,当接收到任一目标多媒体设备播放器发来的同步播放暂停消息时,记录暂停播放时刻:pausedTime,将pausedTime作为curPlayTime,并记录暂停播放系统时钟:pausedTick;当接收到任一目标多媒体设备播放器发来的同步播放唤醒消息时,记录当前播放系统时钟curSysTick,根据记录的暂停播放系统时钟pausedTick以及起始播放系统时钟startPlayTick,计算出唤醒播放后的播放时刻curPlayTime=pausedTick-startPlayTick;在同步播放过程中,当接收到任一目标多媒体设备播放器发来的携带同步时间搜索时长skiptime的同步时间搜索消息时,若发现当前不处于时间搜索状态,则调整当前播放时刻curPlayTime到curPlayTime+skiptime,并向所有设备播放器转发该消息,以便各目标多媒体设备播放器从当前播放时刻curPlayTime跳到curPlayTime+skiptime位置进行播放;在同步播放过程中,当接收到任一目标多媒体设备播放器发来的携带快进或快退的速度trickspeed的同步快进快退消息时,判断当前是否处于快进快退状态,若是,设置下一播放速度nextPlaySpeed为trickspeed,否则,向所有目标多媒体设备播放器转发同步快进快退消息,并将当前播放速度curPlaySpeed设置为trickspeed;且,当接收到所有目标多媒体设备播放器发来的时间搜索完毕消息时,判断curPlaySpeed和nextPlaySpeed是否一致,若是,向所有目标多媒体设备播放器发送时间搜索完毕响应消息,否则,先向所有目标多媒体设备播放器发送下一播放速度通知消息,该消息中的nextPlaySpeed=trickspeed,然后向所有目标多媒体设备播放器发送时间搜索完毕响应消息;在同步播放过程中,若接收到任一目标多媒体设备播放器发来的同步播放停止消息,将该消息转发到各目标多媒体设备播放器。
图10为本发明实施例提供的多媒体设备播放器的组成示意图,如图10所示,其主要包括:同步连接模块101和同步播放模块102,其中:
同步连接模块101:与同步播放服务器建立连接,连接成功,向同步播放模块102发送连接成功指示。
同步播放模块102:当接收到同步连接模块101发来的连接成功指示后,向同步播放服务器发送播放开始请求消息,当接收到同步播放服务器发来的播放开始时钟消息时,根据该消息中的curPlayTime开始同步播放多媒体文件;在同步播放过程中,若根据同步播放服务器周期性发来的curPlayTime,发现自身出现了音频延迟或者视频延迟,则向同步播放服务器发送同步播放延迟消息,该消息携带延迟时长latetime,以便同步播放服务器将当前播放系统时钟从curSysTick调整到curSysTick-latetime;在同步播放过程中,若自身暂停播放,则向同步播放服务器发送同步播放暂停消息,且,当发现同步播放服务器周期性发来的播放系统时钟通知消息中的curPlayTime总是pausedTime时,暂停播放;当发现自身被唤醒时,向同步播放服务器发送同步播放唤醒消息,且,当发现同步播放服务器随后周期性发来的播放系统时钟通知消息中的curPlayTime从pausedTick-startPlayTick开始依次增加时,由暂停变成播放;在同步播放过程中,当进行时间搜索时,向同步播放服务器发送同步时间搜索消息,该消息携带同步时间搜索时长skiptime;且,当接收到同步播放服务器发来的同步时间搜索消息时,从当前播放时刻curPlayTime跳到curPlayTime+skiptime位置进行播放;在同步播放过程中,当进行快进或快退播放时,向同步播放服务器发送同步快进快退消息,该消息携带快进或快退的速度trickspeed,当完成一次向前或者向后时间搜索操作后,向同步播放服务器发送时间搜索完毕消息,同时阻塞等待,当接收到同步播放服务器发来的时间搜索完毕响应消息时,进行下一次时间搜索操作;在同步播放过程中,若停止播放,则向同步播放服务器发送同步播放停止消息;在同步播放过程中,若收不到同步播放服务器周期性发送的播放系统时钟通知消息,则退出播放过程;当重新启动播放时,根据同步播放服务器最新发来的当前播放时刻curPlayTime进行向前时间搜索,时间搜索长度为curPlayTime+a,时间搜索完毕,比较自身当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2,若curPlayTime1+10≤curPlayTime2,则进行向前时间搜索,时间搜索长度为curPlayTime2+a秒,时间搜索完毕,转至所述比较自身当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2的动作;若curPlayTime1<curPlayTime2<curPlayTime1+10,则向同步播放服务器发送同步播放延迟消息,该消息中的延迟时长latetime=curPlayTime2-curPlayTime1;若curPlayTime1≥curPlayTime2,则等待curPlayTime1-curPlayTime2时长后再继续播放,其中,a为预设值。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (26)

1.一种同步播放方法,其特征在于,该方法包括:
从多台目标多媒体设备中任选一台作为主控设备,在主控设备上配置目标多媒体设备的总数,在各目标多媒体设备上配置主控设备上的同步播放服务器的单播IP地址和端口、以及广播IP地址和端口;
各设备播放器连接主控设备上的同步播放服务器,连接成功,向同步播放服务器发送播放开始请求消息;
当同步播放服务器接收到所有设备播放器发来的播放开始请求消息时,根据自身维护的当前播放系统时钟curSysTick确定当前播放时刻curPlayTime,向所有设备播放器发送播放开始时钟消息,该消息携带curPlayTime,各设备播放器接收该播放开始时钟消息,根据该消息中的curPlayTime开始同步播放多媒体文件。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
在同步播放过程中,同步播放服务器周期性地向各设备播放器发送播放系统时钟通知消息,该消息中携带curPlayTime。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
在同步播放过程中,如果任一设备播放器根据同步播放服务器发来的curPlayTime,发现自身出现了音频延迟或者视频延迟,则向同步播放服务器发送同步播放延迟消息,该消息携带延迟时长latetime,同步播放服务器接收到该latetime后,调整当前播放系统时钟:curSysTick到curSysTick-latetime。
4.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
在同步播放过程中,当一台设备播放器暂停播放时,该设备播放器向同步播放服务器发送同步播放暂停消息,同步播放服务器接收该消息,记录暂停播放时刻:pausedTime,将pausedTime作为curPlayTime,并记录暂停播放系统时钟:pausedTick;
当各设备播放器接收到同步播放服务器周期性发来的播放系统时钟通知消息时,发现该消息中的curPlayTime总是pausedTime时,暂停播放。
5.根据权利要求4所述的方法,其特征在于,所述各设备播放器暂停播放之后进一步包括:
当唤醒了任一设备播放器时,被唤醒的设备播放器向同步播放服务器发送同步播放唤醒消息,同步播放服务器接收该消息,记录当前播放系统时钟curSys Tick,根据记录的暂停播放系统时钟pausedTick以及起始播放系统时钟startPlayTick,计算出唤醒播放后的播放时刻curPlayTime=pausedTick-startPlayTick;
同步播放服务器随后周期性发出的播放系统时钟通知消息中的curPlayTime从pausedTick-startPlayTick开始依次增加,各设备播放器接收到该消息,发现curPlayTime增大,则由暂停变成播放。
6.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
在同步播放过程中,当任一设备播放器进行时间搜索时,该设备播放器向同步播放服务器发送同步时间搜索消息,该消息携带同步时间搜索时长skiptime,同步播放服务器接收该消息,若发现当前不处于时间搜索状态,则向所有设备播放器转发该消息,各设备播放器接收该消息,从当前播放时刻curPlayTime跳到curPlayTime+skiptime位置进行播放,同时同步播放服务器调整当前播放时刻curPlayTime到curPlayTime+skiptime。
7.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
在同步播放过程中,当任一设备播放器进行快进或快退播放时,该设备播放器向同步播放服务器发送同步快进快退消息,该消息携带快进或快退的速度trickspeed,同步播放服务器接收该消息,判断当前是否处于快进快退状态,若是,执行步骤B;否则,执行步骤A;
A、同步播放服务器向所有设备播放器转发同步快进快退消息,并将当前播放速度curPlaySpeed设置为trickspeed,各设备播放器接收该消息,按trickspeed进行快进或快退播放,转至步骤C;
B、同步播放服务器设置下一播放速度nextPlaySpeed为trickspeed;
C、当任一设备播放器完成一次向前或者向后时间搜索操作后,向同步播放服务器发送时间搜索完毕消息,同时阻塞等待;当同步播放服务器接收到所有设备播放器发来的时间搜索完毕消息时,确定快进快退过程中的一次时间搜索操作完成,判断curPlaySpeed和nextPlaySpeed是否一致,若是,直接执行步骤E;否则,执行步骤D;
D、同步播放服务器确定接收到了新的同步快进快退消息,则先向所有设备播放器发送下一播放速度通知消息,该消息中的nextPlaySpeed=trickspeed;
E、同步播放服务器向所有设备播放器发送时间搜索完毕响应消息;
F、任一设备播放器接收同步播放服务器发来的时间搜索完毕响应消息,进行下一次时间搜索操作。
8.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
在同步播放过程中,若任一设备播放器停止播放,该设备播放器向同步播放服务器发送同步播放停止消息,同步播放服务器接收该消息,将该消息转发到各设备播放器,任一设备播放器接收该消息,停止自身的播放过程。
9.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
在同步播放过程中,当主控设备出现死机或者网络断开情况时,各设备播放器将收不到同步播放服务器周期性发送的播放系统时钟通知消息,各设备播放器自动退出播放过程;
或者,在同步播放过程中,当任一被控设备出现网络断开情况时,该被控设备播放器将收不到同步播放服务器周期性发送的播放系统时钟通知消息,该被控设备播放器自动退出播放过程。
10.根据权利要求9所述的方法,其特征在于,所述被控设备播放器自动退出播放过程之后进一步包括:
当该被控设备播放器重新启动时,根据同步播放服务器最新发来的当前播放时刻curPlayTime进行向前时间搜索,时间搜索长度为curPlayTime+a,时间搜索完毕,比较被控设备播放器的当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2,若curPlayTime1+10≤curPlayTime2,则被控设备播放器进行向前时间搜索,时间搜索长度为curPlayTime2+a秒,时间搜索完毕,转至所述比较被控设备播放器的当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2的动作;若curPlayTime1<curPlayTime2<curPlayTime1+10,则被控设备播放器向同步播放服务器发送同步播放延迟消息,该消息中的延迟时长latetime=curPlayTime2-curPlayTime1;若curPlayTime1≥curPlayTime2,则被控设备播放器等待curPlayTime1-curPlayTime2时长后再继续播放,其中,a为预设值。
11.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
每个设备播放器在进行每帧音频或视频显示之前,将音频帧或视频帧的显示时间戳发送给同步播放服务器,同步播放服务器计算接收到的最大音频帧显示时间戳和最小的音频帧显示时间戳的差值,并计算接收到的最大视频帧显示时间戳和最小的视频帧时间戳的差值。
12.一种同步播放服务器,其特征在于,该同步播放服务器位于一台目标多媒体设备上,该服务器包括:
同步连接模块:与各目标多媒体设备播放器建立连接,连接成功,向同步播放处理模块发送连接成功指示;
同步播放处理模块:当接收到所有目标多媒体设备播放器发来的播放开始请求消息时,根据自身维护的当前播放系统时钟curSysTick确定当前播放时刻curPlayTime,向所有目标多媒体设备播放器发送播放开始时钟消息,该消息携带curPlayTime,以使得各目标多媒体设备播放器根据curPlayTime开始同步播放多媒体文件。
13.根据权利要求12所述的服务器,其特征在于,所述同步播放处理模块进一步包括:在同步播放过程中,周期性地向各目标多媒体设备播放器发送播放系统时钟通知消息,该消息中携带curPlayTime,该curPlaytime由curSysTick得到。
14.根据权利要求13所述的服务器,其特征在于,所述同步播放处理模块进一步包括:在同步播放过程中,如果接收到任一目标多媒体设备播放器发来的同步播放延迟消息,根据该消息携带的延迟时长latetime,调整当前播放系统时钟:curSysTick到curSysTick-latetime。
15.根据权利要求13所述的服务器,其特征在于,所述同步播放处理模块进一步包括:在同步播放过程中,当接收到任一目标多媒体设备播放器发来的同步播放暂停消息时,记录暂停播放时刻:pausedTime,将pausedTime作为curPlayTime,并记录暂停播放系统时钟:pausedTick;当接收到任一目标多媒体设备播放器发来的同步播放唤醒消息时,记录当前播放系统时钟curSysTick,根据记录的暂停播放系统时钟pausedTick以及起始播放系统时钟startPlayTick,计算出唤醒播放后的播放时刻curPlayTime=pausedTick-startPlayTick。
16.根据权利要求13所述的服务器,其特征在于,所述同步播放处理模块进一步包括:在同步播放过程中,当接收到任一目标多媒体设备播放器发来的携带同步时间搜索时长skiptime的同步时间搜索消息时,若发现当前不处于时间搜索状态,则调整当前播放时刻curPlayTime到curPlayTime+skiptime,并向所有目标多媒体设备播放器转发该消息,以便各目标多媒体设备播放器从当前播放时刻curPlayTime跳到curPlayTime+skiptime位置进行播放。
17.根据权利要求13所述的服务器,其特征在于,所述同步播放处理模块进一步包括:在同步播放过程中,当接收到任一目标多媒体设备播放器发来的携带快进或快退的速度trickspeed的同步快进快退消息时,判断当前是否处于快进快退状态,若是,设置下一播放速度nextPlaySpeed为trickspeed,否则,向所有目标多媒体设备播放器转发同步快进快退消息,并将当前播放速度curPlaySpeed设置为trickspeed;且,当接收到所有目标多媒体设备播放器发来的时间搜索完毕消息时,判断curPlaySpeed和nextPlaySpeed是否一致,若是,向所有目标多媒体设备播放器发送时间搜索完毕响应消息,否则,先向所有目标多媒体设备播放器发送下一播放速度通知消息,该消息中的nextPlaySpeed=trickspeed,然后向所有目标多媒体设备播放器发送时间搜索完毕响应消息。
18.根据权利要求13所述的服务器,其特征在于,所述同步播放处理模块进一步包括:在同步播放过程中,若接收到任一目标多媒体设备播放器发来的同步播放停止消息,将该消息转发到各目标多媒体设备播放器。
19.一种多媒体设备播放器,其特征在于,包括:
同步连接模块:与同步播放服务器建立连接,连接成功,向同步播放模块发送连接成功指示;
同步播放模块:当接收到所述连接成功指示后,向同步播放服务器发送播放开始请求消息,当接收到同步播放服务器发来的播放开始时钟消息时,根据该消息中的curPlayTime开始同步播放多媒体文件。
20.根据权利要求19所述的播放器,其特征在于,所述同步播放模块进一步包括:在同步播放过程中,若根据同步播放服务器周期性发来的curPlayTime,发现自身出现了音频延迟或者视频延迟,则向同步播放服务器发送同步播放延迟消息,该消息携带延迟时长latetime,以便同步播放服务器将当前播放系统时钟从curSysTick调整到curSysTick-latetime。
21.根据权利要求19所述的播放器,其特征在于,所述同步播放模块进一步包括:在同步播放过程中,若自身暂停播放,则向同步播放服务器发送同步播放暂停消息,且,当发现同步播放服务器周期性发来的播放系统时钟通知消息中的curPlayTime总是pausedTime时,暂停播放。
22.根据权利要求21所述的播放器,其特征在于,所述同步播放模块进一步包括:当发现自身被唤醒时,向同步播放服务器发送同步播放唤醒消息,且,当发现同步播放服务器随后周期性发来的播放系统时钟通知消息中的curPlayTime从pausedTick-startPlayTick开始依次增加时,由暂停变成播放。
23.根据权利要求19所述的播放器,其特征在于,所述同步播放模块进一步包括:在同步播放过程中,当进行时间搜索时,向同步播放服务器发送同步时间搜索消息,该消息携带同步时间搜索时长skiptime;且,当接收到同步播放服务器发来的同步时间搜索消息时,从当前播放时刻curPlayTime跳到curPlayTime+skiptime位置进行播放。
24.根据权利要求19所述的播放器,其特征在于,所述同步播放模块进一步包括:在同步播放过程中,当进行快进或快退播放时,向同步播放服务器发送同步快进快退消息,该消息携带快进或快退的速度trickspeed,当完成一次向前或者向后时间搜索操作后,向同步播放服务器发送时间搜索完毕消息,同时阻塞等待,当接收到同步播放服务器发来的时间搜索完毕响应消息时,进行下一次时间搜索操作。
25.根据权利要求19所述的播放器,其特征在于,所述同步播放模块进一步包括:在同步播放过程中,若停止播放,则向同步播放服务器发送同步播放停止消息。
26.根据权利要求19所述的播放器,其特征在于,所述同步播放模块进一步包括:在同步播放过程中,若收不到同步播放服务器周期性发送的播放系统时钟通知消息,则退出播放过程;当重新启动播放时,根据同步播放服务器最新发来的当前播放时刻curPlayTime进行向前时间搜索,时间搜索长度为curPlayTime+a,时间搜索完毕,比较自身当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2,若curPlayTime1+10≤curPlayTime2,则进行向前时间搜索,时间搜索长度为curPlayTime2+a秒,时间搜索完毕,转至所述比较自身当前播放时刻curPlayTime1和同步播放服务器的当前播放时刻curPlayTime2的动作;若curPlayTime1<curPlayTime2<curPlayTime1+10,则向同步播放服务器发送同步播放延迟消息,该消息中的延迟时长latetime=curPlayTime2-curPlayTime1;若curPlayTime1≥curPlayTime2,则等待curPlayTime1-curPlayTime2时长后再继续播放,其中,a为预设值。
CN201210480896.9A 2012-11-23 2012-11-23 同步播放方法及服务器、播放器 Active CN103839558B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210480896.9A CN103839558B (zh) 2012-11-23 2012-11-23 同步播放方法及服务器、播放器
KR1020130131964A KR20140066641A (ko) 2012-11-23 2013-11-01 서버, 멀티미디어 기기 및 그들의 제어방법
US14/086,528 US20140149606A1 (en) 2012-11-23 2013-11-21 Server, multimedia apparatus and control method thereof for synchronously playing multimedia contents through a plurality of multimedia devices
EP13194145.2A EP2736263A1 (en) 2012-11-23 2013-11-22 Server, multimedia apparatus and control method thereof for synchronously playing multimedia contents through a plurality of multimedia devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210480896.9A CN103839558B (zh) 2012-11-23 2012-11-23 同步播放方法及服务器、播放器

Publications (2)

Publication Number Publication Date
CN103839558A true CN103839558A (zh) 2014-06-04
CN103839558B CN103839558B (zh) 2016-08-31

Family

ID=50802986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210480896.9A Active CN103839558B (zh) 2012-11-23 2012-11-23 同步播放方法及服务器、播放器

Country Status (2)

Country Link
KR (1) KR20140066641A (zh)
CN (1) CN103839558B (zh)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986944A (zh) * 2014-06-05 2014-08-13 西安诺瓦电子科技有限公司 显示终端集群播控方法、显示终端及显示终端集群管理端
CN104079957A (zh) * 2014-06-25 2014-10-01 广东欧珀移动通信有限公司 一种多媒体设备同步操作的方法及系统
CN104867513A (zh) * 2015-04-20 2015-08-26 广东欧珀移动通信有限公司 一种播放控制方法及设备
CN105120436A (zh) * 2015-07-16 2015-12-02 广东欧珀移动通信有限公司 一种蜂窝音响系统的实现方法及移动终端
CN105187689A (zh) * 2015-10-12 2015-12-23 国家电网公司 一种多终端共同播放超高清视频的同步方法
CN105392040A (zh) * 2015-11-05 2016-03-09 广东欧珀移动通信有限公司 一种多设备同步暂停和播放的控制方法及控制系统
CN105491432A (zh) * 2014-10-02 2016-04-13 三星电子株式会社 显示设备及其控制方法以及显示系统的控制方法
CN105657495A (zh) * 2015-12-31 2016-06-08 南京邮电大学 一种多智能终端同步播放方法及设备
CN106331825A (zh) * 2016-10-08 2017-01-11 广东欧珀移动通信有限公司 多媒体同步播放方法、装置、终端及系统
CN106411449A (zh) * 2016-10-08 2017-02-15 广东欧珀移动通信有限公司 播放控制方法、装置及终端
CN106411448A (zh) * 2016-10-08 2017-02-15 广东欧珀移动通信有限公司 播放控制方法、装置及终端
CN106412646A (zh) * 2015-07-27 2017-02-15 中兴通讯股份有限公司 一种实现同步播放的方法和装置
CN106448714A (zh) * 2016-10-08 2017-02-22 广东欧珀移动通信有限公司 一种播放设备的同步播放方法、装置及系统
CN107239253A (zh) * 2016-03-29 2017-10-10 扬智科技股份有限公司 同步播放速度的无线局域网播放器、系统及其方法
CN107566884A (zh) * 2017-08-24 2018-01-09 深圳创维-Rgb电子有限公司 一种连接方法、服务端和终端
CN107783748A (zh) * 2017-10-19 2018-03-09 广州三星通信技术研究有限公司 用于多个虚拟现实设备的同步播放的方法和虚拟现实设备
CN107835449A (zh) * 2017-11-06 2018-03-23 四川长虹电器股份有限公司 Android平台上基于网络实现多终端同步联屏的方法
CN108055564A (zh) * 2017-12-20 2018-05-18 广州小百合信息技术有限公司 多个播放终端播放内容同步播放方法及系统
CN108156498A (zh) * 2017-11-13 2018-06-12 青岛海信电器股份有限公司 一种音视频同步的方法及装置
CN108449630A (zh) * 2018-04-09 2018-08-24 歌尔股份有限公司 音频同步方法及系统
CN108696762A (zh) * 2017-04-12 2018-10-23 中兴通讯股份有限公司 一种同步播放方法、装置和系统
CN108882041A (zh) * 2018-07-09 2018-11-23 青岛海信电器股份有限公司 播放器状态获取方法及装置
CN109218795A (zh) * 2018-11-29 2019-01-15 青岛海信电器股份有限公司 一种多设备播放进度同步方法、装置及终端设备
CN109819302A (zh) * 2019-03-05 2019-05-28 北京奇艺世纪科技有限公司 多媒体文件播放控制方法及装置
CN110248047A (zh) * 2019-06-27 2019-09-17 深圳市拔超科技有限公司 一种视频矩阵的同步切换方法及系统
CN110266910A (zh) * 2019-06-27 2019-09-20 深圳市拔超科技有限公司 一种可实现视频矩阵同步切换的编码方法、设备及可读存储介质
TWI690878B (zh) * 2018-11-02 2020-04-11 緯創資通股份有限公司 同步播放系統及同步播放方法
CN111567053A (zh) * 2018-01-08 2020-08-21 迈斯恩赛斯特控股有限公司 用于实时同步的系统
CN111819858A (zh) * 2018-04-24 2020-10-23 谷歌有限责任公司 多个设备上的同步媒体内容回放的方法、系统和介质
CN112073791A (zh) * 2020-08-03 2020-12-11 上海商泰汽车信息系统有限公司 播放同步方法及装置、存储介质、用户端
CN112383795A (zh) * 2021-01-12 2021-02-19 北京清奇科技有限公司 一种视频同步播放系统
CN112702620A (zh) * 2020-12-29 2021-04-23 四川长虹电器股份有限公司 一种基于gstreamer的播放器实现多屏同步播放的方法
CN114143584A (zh) * 2021-09-29 2022-03-04 杭州当虹科技股份有限公司 在多终端之间实现同步播放的播出系统和方法
CN114339328A (zh) * 2021-12-31 2022-04-12 杭州当虹科技股份有限公司 时间戳同步服务实现方法和系统
CN114900710A (zh) * 2022-05-10 2022-08-12 北京奇艺世纪科技有限公司 多设备同步方法、装置、电子设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170251235A1 (en) * 2016-02-29 2017-08-31 Rovi Guides, Inc. Systems and methods for synchronizing media asset playback on multiple devices
KR20210007579A (ko) 2019-07-12 2021-01-20 삼성전자주식회사 전자 장치 및 그 제어 방법
CN111752695A (zh) * 2020-06-28 2020-10-09 北京百度网讯科技有限公司 下线方法、装置、设备以及存储介质
CN112188258B (zh) * 2020-09-22 2021-12-17 上海商泰汽车信息系统有限公司 暂停同步方法及装置、存储介质、用户端、多设备播放系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650278A (zh) * 2001-12-12 2005-08-03 诺基亚公司 同步媒体播放和消息传送系统
CN101064768A (zh) * 2006-04-29 2007-10-31 李明 一种动态图像同步播放系统和方法
CN101072359A (zh) * 2007-05-18 2007-11-14 腾讯科技(深圳)有限公司 实现网络媒体同步视听的方法、系统及用户端
CN101588476A (zh) * 2008-05-23 2009-11-25 索尼株式会社 内容服务器、信息处理装置/方法、网络设备、内容发布方法/系统
CN101977222A (zh) * 2010-10-28 2011-02-16 北京九华互联科技有限公司 一种多媒体终端进行同步的方法
CN102782669A (zh) * 2010-03-02 2012-11-14 微软公司 社交媒体回放

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650278A (zh) * 2001-12-12 2005-08-03 诺基亚公司 同步媒体播放和消息传送系统
CN101064768A (zh) * 2006-04-29 2007-10-31 李明 一种动态图像同步播放系统和方法
CN101072359A (zh) * 2007-05-18 2007-11-14 腾讯科技(深圳)有限公司 实现网络媒体同步视听的方法、系统及用户端
CN101588476A (zh) * 2008-05-23 2009-11-25 索尼株式会社 内容服务器、信息处理装置/方法、网络设备、内容发布方法/系统
CN102782669A (zh) * 2010-03-02 2012-11-14 微软公司 社交媒体回放
CN101977222A (zh) * 2010-10-28 2011-02-16 北京九华互联科技有限公司 一种多媒体终端进行同步的方法

Cited By (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986944A (zh) * 2014-06-05 2014-08-13 西安诺瓦电子科技有限公司 显示终端集群播控方法、显示终端及显示终端集群管理端
CN103986944B (zh) * 2014-06-05 2017-10-17 西安诺瓦电子科技有限公司 显示终端集群播控方法、显示终端及显示终端集群管理端
CN104079957A (zh) * 2014-06-25 2014-10-01 广东欧珀移动通信有限公司 一种多媒体设备同步操作的方法及系统
CN105491432A (zh) * 2014-10-02 2016-04-13 三星电子株式会社 显示设备及其控制方法以及显示系统的控制方法
US10203924B2 (en) 2014-10-02 2019-02-12 Samsung Electronics Co., Ltd. Display apparatus, controlling method thereof and controlling method of display system
CN104867513A (zh) * 2015-04-20 2015-08-26 广东欧珀移动通信有限公司 一种播放控制方法及设备
CN104867513B (zh) * 2015-04-20 2017-09-29 广东欧珀移动通信有限公司 一种播放控制方法及设备
CN105120436A (zh) * 2015-07-16 2015-12-02 广东欧珀移动通信有限公司 一种蜂窝音响系统的实现方法及移动终端
CN106412646A (zh) * 2015-07-27 2017-02-15 中兴通讯股份有限公司 一种实现同步播放的方法和装置
CN106412646B (zh) * 2015-07-27 2020-06-02 中兴通讯股份有限公司 一种实现同步播放的方法和装置
CN105187689A (zh) * 2015-10-12 2015-12-23 国家电网公司 一种多终端共同播放超高清视频的同步方法
CN105392040B (zh) * 2015-11-05 2019-02-19 Oppo广东移动通信有限公司 一种多设备同步暂停和播放的控制方法及控制系统
CN105392040A (zh) * 2015-11-05 2016-03-09 广东欧珀移动通信有限公司 一种多设备同步暂停和播放的控制方法及控制系统
CN105657495A (zh) * 2015-12-31 2016-06-08 南京邮电大学 一种多智能终端同步播放方法及设备
CN105657495B (zh) * 2015-12-31 2018-10-19 南京邮电大学 一种多智能终端同步播放方法及设备
CN107239253A (zh) * 2016-03-29 2017-10-10 扬智科技股份有限公司 同步播放速度的无线局域网播放器、系统及其方法
CN107239253B (zh) * 2016-03-29 2020-05-12 扬智科技股份有限公司 同步播放速度的无线局域网播放器、系统及其方法
CN106411448A (zh) * 2016-10-08 2017-02-15 广东欧珀移动通信有限公司 播放控制方法、装置及终端
CN106411449A (zh) * 2016-10-08 2017-02-15 广东欧珀移动通信有限公司 播放控制方法、装置及终端
CN106331825A (zh) * 2016-10-08 2017-01-11 广东欧珀移动通信有限公司 多媒体同步播放方法、装置、终端及系统
CN106411448B (zh) * 2016-10-08 2019-02-01 Oppo广东移动通信有限公司 播放控制方法、装置及终端
CN106411449B (zh) * 2016-10-08 2019-02-01 Oppo广东移动通信有限公司 播放控制方法、装置及终端
CN106448714A (zh) * 2016-10-08 2017-02-22 广东欧珀移动通信有限公司 一种播放设备的同步播放方法、装置及系统
CN108696762A (zh) * 2017-04-12 2018-10-23 中兴通讯股份有限公司 一种同步播放方法、装置和系统
CN107566884A (zh) * 2017-08-24 2018-01-09 深圳创维-Rgb电子有限公司 一种连接方法、服务端和终端
CN107566884B (zh) * 2017-08-24 2020-03-03 深圳创维-Rgb电子有限公司 一种连接方法、服务端和终端
CN107783748B (zh) * 2017-10-19 2021-01-26 广州三星通信技术研究有限公司 用于多个虚拟现实设备的同步播放的方法和虚拟现实设备
CN107783748A (zh) * 2017-10-19 2018-03-09 广州三星通信技术研究有限公司 用于多个虚拟现实设备的同步播放的方法和虚拟现实设备
CN107835449A (zh) * 2017-11-06 2018-03-23 四川长虹电器股份有限公司 Android平台上基于网络实现多终端同步联屏的方法
CN107835449B (zh) * 2017-11-06 2020-08-11 四川长虹电器股份有限公司 Android平台上基于网络实现多终端同步联屏的方法
CN108156498B (zh) * 2017-11-13 2020-11-20 海信视像科技股份有限公司 一种音视频同步的方法及装置
CN108156498A (zh) * 2017-11-13 2018-06-12 青岛海信电器股份有限公司 一种音视频同步的方法及装置
CN108055564B (zh) * 2017-12-20 2020-09-15 广州朗国电子科技有限公司 多个播放终端播放内容同步播放方法及系统
CN108055564A (zh) * 2017-12-20 2018-05-18 广州小百合信息技术有限公司 多个播放终端播放内容同步播放方法及系统
US11706477B2 (en) 2018-01-08 2023-07-18 Mysyncster Holding Oü System for real-time synchronization
CN111567053A (zh) * 2018-01-08 2020-08-21 迈斯恩赛斯特控股有限公司 用于实时同步的系统
CN108449630A (zh) * 2018-04-09 2018-08-24 歌尔股份有限公司 音频同步方法及系统
CN111819858A (zh) * 2018-04-24 2020-10-23 谷歌有限责任公司 多个设备上的同步媒体内容回放的方法、系统和介质
CN108882041B (zh) * 2018-07-09 2021-03-05 海信视像科技股份有限公司 播放器状态获取方法及装置
CN108882041A (zh) * 2018-07-09 2018-11-23 青岛海信电器股份有限公司 播放器状态获取方法及装置
TWI690878B (zh) * 2018-11-02 2020-04-11 緯創資通股份有限公司 同步播放系統及同步播放方法
CN109218795A (zh) * 2018-11-29 2019-01-15 青岛海信电器股份有限公司 一种多设备播放进度同步方法、装置及终端设备
CN109218795B (zh) * 2018-11-29 2021-09-24 海信视像科技股份有限公司 一种多设备播放进度同步方法、装置及终端设备
CN109819302A (zh) * 2019-03-05 2019-05-28 北京奇艺世纪科技有限公司 多媒体文件播放控制方法及装置
CN110266910B (zh) * 2019-06-27 2021-06-15 深圳市拔超科技有限公司 一种可实现视频矩阵同步切换的编码方法、设备及可读存储介质
CN110266910A (zh) * 2019-06-27 2019-09-20 深圳市拔超科技有限公司 一种可实现视频矩阵同步切换的编码方法、设备及可读存储介质
CN110248047A (zh) * 2019-06-27 2019-09-17 深圳市拔超科技有限公司 一种视频矩阵的同步切换方法及系统
CN110248047B (zh) * 2019-06-27 2021-06-15 深圳市拔超科技有限公司 一种视频矩阵的同步切换方法及系统
CN112073791A (zh) * 2020-08-03 2020-12-11 上海商泰汽车信息系统有限公司 播放同步方法及装置、存储介质、用户端
CN112702620A (zh) * 2020-12-29 2021-04-23 四川长虹电器股份有限公司 一种基于gstreamer的播放器实现多屏同步播放的方法
CN112383795B (zh) * 2021-01-12 2021-06-25 北京清奇科技有限公司 一种视频同步播放系统
CN112383795A (zh) * 2021-01-12 2021-02-19 北京清奇科技有限公司 一种视频同步播放系统
CN114143584A (zh) * 2021-09-29 2022-03-04 杭州当虹科技股份有限公司 在多终端之间实现同步播放的播出系统和方法
CN114143584B (zh) * 2021-09-29 2024-03-26 杭州当虹科技股份有限公司 在多终端之间实现同步播放的播出系统和方法
CN114339328A (zh) * 2021-12-31 2022-04-12 杭州当虹科技股份有限公司 时间戳同步服务实现方法和系统
CN114339328B (zh) * 2021-12-31 2023-09-01 杭州当虹科技股份有限公司 时间戳同步服务实现方法和系统
CN114900710A (zh) * 2022-05-10 2022-08-12 北京奇艺世纪科技有限公司 多设备同步方法、装置、电子设备及存储介质
CN114900710B (zh) * 2022-05-10 2023-07-25 北京奇艺世纪科技有限公司 多设备同步方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN103839558B (zh) 2016-08-31
KR20140066641A (ko) 2014-06-02

Similar Documents

Publication Publication Date Title
CN103839558A (zh) 同步播放方法及服务器、播放器
RU2620716C2 (ru) Синхронизация воспроизведения мультимедийного контента при групповом просмотре
US20140149606A1 (en) Server, multimedia apparatus and control method thereof for synchronously playing multimedia contents through a plurality of multimedia devices
US9509635B2 (en) Method and apparatus for allowing playback devices to perform synchronized playback of streaming content
EP2515501B1 (en) Media clock negotiation
CN102685554A (zh) 视频播放的处理方法和装置
CN110677611B (zh) 一种多设备录音同步方法、系统及会议系统
CN109005438B (zh) 视频播放方法及装置
CN103198851A (zh) 一种基于时间戳消息的多终端同步播放方法
CN112399219B (zh) 素材播放方法及系统、终端及介质、素材同步播放方法
CN110278457A (zh) 多主机多视频同步播放方法和系统
CN109618209A (zh) 视频同步播放方法、设备及计算机可读存储介质
WO2014110898A1 (zh) 一种基于dlna的媒体资源同步播放方法及系统
CN105227987B (zh) 同步播放方法和系统
CA3143942C (en) Methods, systems, and media for providing dynamic media sessions
JP2014003407A (ja) 通信装置、通信システム、および通信制御方法、並びにプログラム
CN105763933A (zh) 一种媒体文件当前播放位置的共享方法
JP2007166572A (ja) ネットワーク上に応用されるグループ再生方法およびコンピュータシステムおよびコンピュータ読取り可能媒体
CN101815205A (zh) 一种网络电视播放节目的录制方法、系统及终端
CN108495175A (zh) 一种智能电视互联外接设备时控制通讯消息的方法和装置
CN103533401A (zh) 流媒体数据切换播放方法和播放器
CN116506672A (zh) 内网设备的音视频同步播放方法
CN110166834B (zh) 一种数据播放方法、装置及存储介质
EP3089459A1 (en) Apparatus and method for implementing video-on-demand quick switching among multiple screens
CN111447398A (zh) 一种音视频实时对讲的多屏互动方法

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