CN111629223B - 视频同步方法及装置、计算机可读存储介质以及电子设备 - Google Patents

视频同步方法及装置、计算机可读存储介质以及电子设备 Download PDF

Info

Publication number
CN111629223B
CN111629223B CN202010528624.6A CN202010528624A CN111629223B CN 111629223 B CN111629223 B CN 111629223B CN 202010528624 A CN202010528624 A CN 202010528624A CN 111629223 B CN111629223 B CN 111629223B
Authority
CN
China
Prior art keywords
video
animation
anchor
played
target image
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
Application number
CN202010528624.6A
Other languages
English (en)
Other versions
CN111629223A (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010528624.6A priority Critical patent/CN111629223B/zh
Publication of CN111629223A publication Critical patent/CN111629223A/zh
Application granted granted Critical
Publication of CN111629223B publication Critical patent/CN111629223B/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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例是关于一种视频同步方法及装置、计算机可读存储介质以及电子设备,涉及视频直播技术领域,该方法包括:当主播端接收拍照指令时,显示与所述拍照指令对应的提示动画;将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧;根据所述视频帧以及数据帧生成待播放视频流;将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步。该方法提高了待播放视频流的生成速度,同时也提高了直播视频的实时性。

Description

视频同步方法及装置、计算机可读存储介质以及电子设备
技术领域
本发明实施例涉及视频直播技术领域,具体而言,涉及一种视频同步方法、视频同步装置、计算机可读存储介质以及电子设备。
背景技术
在目前的直播平台上,主播进行视频直播时是通过RTMP(Real Time MessagingProtocol,实时消息传输协议)视频流将本地视频画面上传到服务端,再传输到用户端观看的,这个过程会存在一定的延时,且该延时是不可避免的,具体的延长时长在1-10秒之间。同时,在直播的过程中,当需要给主播拍照时,会先显示一个倒计时的动画,倒计时的过程中主播会摆个造型或姿势准备拍照,到倒计时结束的时候会截一张图作为相片。
但是,上述方案存在如下问题:当主播端收到服务端推送的拍照消息后,倒计时动画在主播端和用户端是同时显示的,但是主播看到的视频画面和用户的是存在延时的,在用户端情况是看到倒计时已经结束了,过了几秒才看到主播摆个造型或姿势,影响观看体验。
为了解决上述技术问题,现有技术通常是通过如下方法实现的:把倒计时动画合成到视频画面里,这种方法可以达到用户端视频画面和倒计时动画同步;但是,合成到视频流里会消耗额外的CPU,增加了系统的负担;并且,倒计时动画的清晰度会受到视频编码码率和分辨率的影响,进而使得倒计时动画的清晰度较低。
因此,需要提供一种新的视频同步方法及装置。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于提供一种视频同步方法、视频同步装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的系统负担增加的问题。
根据本公开的一个方面,提供一种视频同步方法,包括:
当主播端接收拍照指令时,显示与所述拍照指令对应的提示动画;
将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧;
根据所述视频帧以及数据帧生成待播放视频流;
将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步。
在本公开的一种示例性实施例中,所述视频同步方法还包括:
当检测到所述提示动画播放完成时,截取播放完成时刻的所述当前视频画面,并根据截取到的当前视频画面生成目标图像;其中,所述提示动画包括倒计时动画或者进度条;
将所述目标图像推送至所述服务器,以使得所述服务器将所述目标图像推送至所述用户端,进而实现所述目标图像在所述主播端以及用户端的同步。
在本公开的一种示例性实施例中,所述视频同步方法还包括:
将所述目标图像存储至图像列表中得到当前图像列表;
利用所述当前图像列表对服务器中与所述当前图像列表对应的历史图像列表进行更新,以便于用户端对所述当前图像列表中的目标图像进行查看。
在本公开的一种示例性实施例中,所述正在直播的当前视频画面中包括正在进行直播的主播;
其中,截取播放完成时刻的所述当前视频画面包括:
截取所述主播在所述播放完成时刻的姿态信息;其中,所述姿态信息包括所述主播的面部表情和/或肢体动作。
在本公开的一种示例性实施例中,将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧包括:
将正在直播的当前视频画面分别写入实时消息传输协议流的音频帧以及视频帧;
将所述提示动画写入所述实时消息传输协议流的数据帧。
根据本公开的一个方面,提供一种视频同步方法,包括:
接收服务器推送的待播放视频流,并对所述待播放视频流进行解码得到视频帧以及数据帧;其中,所述视频帧为正在直播的当前视频画面的视频;
通过预设的视频播放器对所述视频帧进行播放,并判断所述数据帧中是否包括与拍照指令对应的提示动画;
在判断所述数据帧中包括所述提示动画时,调用所述视频播放器中的动画播放模块对所述提示动画进行播放,以实现所述提示动画在主播端以及用户端的同步。
在本公开的一种示例性实施例中,所述视频同步方法还包括:
接收所述服务器推送的目标图像;其中,所述目标图像是主播端在检测到所述提示动画播放完成时,截取播放完成时刻的当前视频画面,并根据截取到的当前视频画面生成的;
对所述目标图像进行显示,进而实现所述目标图像在所述主播端以及用户端的同步。
根据本公开的一个方面,提供一种视频同步装置,包括:
提示动画显示模块,用于当主播端接收到拍照指令时,显示与所述拍照指令对应的提示动画;
数据写入模块,用于将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧;
视频流生成模块,用于根据所述视频帧以及数据帧生成待播放视频流;
视频流推送模块,用于将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的视频同步方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的视频同步方法。
本发明实施例提供的一种视频同步方法,一方面,当主播端接收拍照指令时,显示与所述拍照指令对应的提示动画;然后将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧;再根据所述视频帧以及数据帧生成待播放视频流;最后将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步,解决了现有技术中由于需要把倒计时动画面合成视频画面里,但是合成到视频流里会消耗额外的CPU,进而增加了系统的负担的问题,降低了系统的负担;另一方面,解决了现有技术中由于倒计时动画的清晰度会受到视频编码码率和分辨率的影响,进而使得倒计时动画的清晰度较低的问题,提高了倒计时动画的清晰度;再一方面,通过将倒计时动画写入数据帧,进而避免了需要将倒计时动画面合成视频画面里会消耗额外的CPU,进而使得视频合成速度较慢,导致视频延时的问题,提高了待播放视频流的生成速度,同时也提高了直播视频的实时性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出根据本发明示例实施例的一种视频同步方法的流程图。
图2示意性示出根据本发明示例实施例的一种视频同步系统的框图。
图3示意性示出根据本发明示例实施例的另一种视频同步方法的流程图。
图4示意性示出根据本发明示例实施例的另一种视频同步方法的流程图。
图5示意性示出根据本发明示例实施例的另一种视频同步方法的流程图。
图6示意性示出根据本发明示例实施例的一种视频同步装置的框图。
图7示意性示出根据本发明示例实施例的另一种视频同步装置的框图。
图8示意性示出根据本发明示例实施例的一种用于实现上述视频同步方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式中首先提供了一种视频方法,该方法可以运行于移动终端,尤其是主播端;当然,本领域技术人员也可以根据需求在其他平台运行本发明的方法,本示例性实施例中对此不做特殊限定。参考图1所示,该视频同步方法可以包括以下步骤:
步骤S110.当主播端接收拍照指令时,显示与所述拍照指令对应的提示动画。
步骤S120.将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧。
步骤S130.根据所述视频帧以及数据帧生成待播放视频流。
步骤S140.将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步。
上述视频同步方法中,一方面,当主播端接收拍照指令时,显示与所述拍照指令对应的提示动画;然后将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧;再根据所述视频帧以及数据帧生成待播放视频流;最后将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步,解决了现有技术中由于需要把倒计时动画面合成视频画面里,但是合成到视频流里会消耗额外的CPU,进而增加了系统的负担的问题,降低了系统的负担;另一方面,解决了现有技术中由于倒计时动画的清晰度会受到视频编码码率和分辨率的影响,进而使得倒计时动画的清晰度较低的问题,提高了倒计时动画的清晰度;再一方面,通过将倒计时动画写入实时消息传输协议流的数据帧,进而避免了需要将倒计时动画面合成视频画面里会消耗额外的CPU,进而使得视频合成速度较慢,导致视频延时的问题,提高了待播放视频流的生成速度,同时也提高了直播视频的实时性。
以下,将结合附图对本发明示例实施例视频同步方法中涉及的各步骤进行详细的解释以及说明。
首先,对本发明示例实施例的应用场景进行解释以及说明。
具体的,本发明示例实施例中所涉及的视频同步方法,应用视频直播场景,在该视频直播场景中,存在至少一个主播,当然,主播可以是人,也可以起是其他对象,譬如动物等等,本示例对此不做特殊限制。同时,由于在直播的过程中,会存在观看直播的观众给主播送礼的情况,因此,为了答谢送礼的观众,同时也为了可以给主播积攒更多的人气,可以在观众送礼以后,通过拍照的方式答谢观众。
进一步的,为了可以提高观众的用户体验,当主播开始拍照时,可以设置一个倒计时动画,该倒计时动画可以是五秒,也可以是三秒,本示例对此不做特殊限制。当然,该倒计时动画不能太长,如果太长会降低观众的用户体验,当然也不能太短,如果太短会使得主播不能有足够的时间摆好拍照的姿势。
在现有技术中,当需要给主播拍照时,服务端会推送一个拍照消息至主播端以及用户端,当主播端以及用户端收到该拍照消息时,会同时开始显示倒计时动画,但是,会存在用户端的倒计时动画播放完成后,间隔较长时间才会收到主播的照片,存在延时,进而降低用户的观看体验。为了解决该问题,提出了不在用户端进行倒计时显示,直接显示最终的拍摄照片的方法,但是,由于用户端并不知道主播端已经开始拍照,突然显示照片会进一步的影响用户端体验。
基于此,本发明提出如下技术方案:在主播端开始播放倒计时动画的同时,写一个“播放倒计时动画标志”到RTMP流的数据帧里,用户端收到这个“播放倒计时动画标志”的数据帧时播放倒计动画,这样可以达到画面和倒计时动画同步,倒计时动画效果不失真。
其次,对本发明示例实施例的视频同步系统进行解释以及说明。参考图2所示,该视频同步系统可以包括主播端210、服务器220以及用户端230。其中,主播端以及服务端均安装有直播软件,该直播软件中可以包括音频帧写入模块、视频帧写入模块、数据帧写入模块以及动画播放模块,客户端设置有预设的视频播放器(专用播放器),该专用播放器可以包括音视频播放块以及动画播放模块;其中,动画播放模块也就是倒计时动画播放模块,其在主播端、服务端以及客户端所起的作用是类似的,都适用于倒计时动画或者进度条进行播放。
其中,音频帧写入模块以及视频帧写入模块可以分别用于将正在直播的当前视频画面写入实时消息传输协议流的音频帧以及视频帧;
数据帧写入模块可以用于将倒计时动画写入实时消息传输协议流的数据帧。此处需要补充说明的是,实时消息传输协议流(RTMP,Real Time Messaging Protocol)中包括视频帧、音频帧以及数据帧,当没有提示动画播放时,数据帧中是空白的;当有提示动画播放时,才需要将该提示动画作为数据帧实时的写入实时消息传输协议流中的数据帧。通过该方法,以方便可以避免需要与音频帧以及视频帧进行融合进而导致的合成效率较低的问题,同时也可以避免提示动画的动画效果失真的问题。
以下,将对步骤S110-步骤S140进行解释以及说明。
在步骤S110中,当主播端接收拍照指令时,显示与所述拍照指令对应的提示动画。
在本示例实施例中,在主播进行直播的过程中,当服务端接收到用户的触发的送礼消息时,对该送礼消息进行送礼广播,即将该送礼的消息广播至主播端以及其他用户端,然后服务器再向主播端推送拍照指令的弹窗,当主播端接收到该拍照指令时,则显示与该拍照指令对应的提示动画,并对该提示动画进行播放;当然,该拍照指令也可以通过主播自行输入,譬如,当主播收到送礼消息以后,可以在对话框输入拍照指令,当点击发送以后,再显示对应的提示动画;其中,该提示动画可以包括倒计时动画,也可以包括进度条,当然,进度条的加载原理与倒计时动画是一致的,只是为了起到提示作用,并不需要重新浪费其他的资源对其进行加载。
在步骤S120中,将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧。
在本示例实施例中,首先,将正在直播的当前视频画面分别写入实时消息传输协议流的音频帧以及视频帧;然后,将所述提示动画写入所述实时消息传输协议流的数据帧。具体的,在正常的直播过程中,当未出现上述提示动画时,正在直播的当前视频画面是通过实时写入的方式分别写入至实时消息传输协议流的音频帧以及视频帧中的,当提示动画开始播放以后,还需要将该提示动画写入数据帧。因此,音频帧以及视频帧是在直播一开始就实时写入的,并不是在倒计时动画开始播放才开始写入的。此处通过该方式进行描述,只是为了进行说明在倒计时动画开始播放时,是分别将其写入视频帧、音频帧以及数据帧的,并无其他限制。并且,由于倒计时动画是通过主播端进行写入,然后再通过服务器进行推送的,并不是服务器直接进行推送的,因此,并不存在过于延时的问题。
在步骤S130中,根据所述视频帧以及数据帧生成待播放视频流。
此处需要补充说明的是,任何时刻的待播放视频流中均包括数据帧,只是在未进行倒计时动画播放的时刻,其所生成的待播放视频流中的数据帧是空白的。
在步骤S140中,将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步。
在本示例实施例中,当得到待播放视频流以后,可以将其推送至服务器,然后通过服务器将待播放视频流推送至用户端,当用户端接收到该待播放视频流以后,可以对其进行解码并播放,进而可以实现倒计时动画在主播端以及用户端的同步。
此处需要进一步补充说明的是,现有技术还存在如下技术问题:当主播端收到服务端推送的拍照消息后,倒计时动画在主播端和用户端是同时显示的,但是主播看到的视频画面和用户的是存在延时的,在用户端情况是看到倒计时已经结束了,过了几秒才看到主播摆个造型或姿势,影响观看体验。
为了解决该问题,该视频同步方法还可以包括:当检测到所述提示动画播放完成时,截取播放完成时刻的所述当前视频画面,并根据截取到的当前视频画面生成目标图像;将所述目标图像推送至所述服务器,以使得所述服务器将所述目标图像推送至所述用户端,进而实现所述目标图像在所述主播端以及用户端的同步。其中,所述正在直播的当前视频画面中包括正在进行直播的主播;因此,截取播放完成时刻的所述当前视频画面还可以包括:截取所述主播在所述播放完成时刻的姿态信息;其中,所述姿态信息包括所述主播的面部表情和/或肢体动作。进一步的,根据截取到的当前视频画面生成目标图像还可以包括:对截取到的当前视频画面进行图像处理,并对图像处理后的当前视频画面进行命名,得到所述目标图像。
其中,截取到姿态信息不仅可以包括主播的面部表情、肢体动作,还可以包括主播的妆发、衣着饰品等等,当然,主要还是为了截取主播的面部表情以及肢体动作。同时,为了可以更进一步的凸显主播的面部表情以及肢体动作,也就是为了使得主播更加突出,进而便于用户进行查看,还可以对截取到的当前视频画面进行图像处理,其具体的处理过程可以包括锐化、过滤、美颜等等,本示例对此不做特殊限制;进一步的,为了可以便于用户的查看,还可以对该处理后的当前视频画面进行命名,其命名规则可以包括主播的名称、主播ID、当前主播关键词以及当前日期等等,本示例对此不做特殊限制;当然,也可以根据赠送礼物的观众的昵称进行命名,以表示该图像是用户对该观众进行答谢的,进而可以进一步的提升用户体验。
进一步的,为了可以使得用户可以对该目标图像进行多次查看,该视频同步方法还可以包括:将所述目标图像存储至图像列表中得到当前图像列表;利用所述当前图像列表对服务器中与所述当前图像列表对应的历史图像列表进行更新,以便于用户端对所述当前图像列表中的目标图像进行查看。通过该方法,可以进一步的提升用户体验。
图3示意性示出根据本发明示例实施例的另一种视频同步方法,该视频同步方法可以应用于用户端,该用户端也就是观看直播的客户端。参考图3所示,该视频同步方法还可以包括步骤S310-步骤S330。其中:
在步骤S310中,接收服务器推送的待播放视频流,并对所述待播放视频流进行解码得到视频帧以及数据帧;其中,所述视频帧为主播端的正在直播的当前视频画面的视频。
其中,解码得到的视频帧中也包括了音频帧。
在步骤S320中,通过预设的视频播放器对所述视频帧进行播放,并判断所述数据帧中是否包括与拍照指令对应的提示动画。
其中,该拍照指令可以包括服务器推送的拍照指令,也可以包括主播自行输入的拍照指令,本示例对此不做特殊限制。
在步骤S330中,在判断所述数据帧中包括所述提示动画时,调用所述视频播放器中的动画播放模块对所述提示动画进行播放,以实现所述提示动画在主播端以及所述用户端的同步。
图3示意性示出的示例实施例中,由于提示动画是通过预设的视频播放器中的动画播放模块进行播放的,且提示动画是单独的从数据帧中解码出来的,因此避免了现有技术中由于倒计时动画的清晰度会受到视频编码码率和分辨率的影响,进而使得倒计时动画的清晰度较低的问题,提高倒计时东湖的清晰度,进而提升了用户的观看体验。
进一步的,为了避免主播端显示的目标图像与用户端显示的目标图像之间的延时过长的问题,该视频同步方法还包括:接收所述服务器推送的目标图像;其中,所述目标图像是主播端在检测到所述提示动画播放完成时,截取播放完成时刻的当前视频画面,并根据截取到的当前视频画面生成的;对所述目标图像进行显示,进而所述目标图像在所述主播端以及用户端的同步。
以下,结合图4以及图5对本发明示例实施例的视频同步方法进行进一步的解释以及说明。
首先,参考图4所示,该视频同步方法(主播端)可以包括以下步骤:
步骤S401,在主播直播过程中,收到服务端推送的一个拍照消息,主播端进入拍照流程;
步骤S402,在主播端播放一个倒计时动画;
步骤S403,主播看到这个动画,开始摆造型或姿势准备拍照;
步骤S404,把主播直播视频流中的视频帧和音频帧不断的写入RTMP流中,把“播放倒计时动画标志”作为数据帧写到RTMP流里,在用户端音视频和数据帧是一起收到的,所以视频画面和播放倒计时是同步的;
步骤S405,倒计时动画结束;
步骤S406,在倒计时动画结束的瞬间截一张图上传保存到服务端。
其次,参考图5所示,该视频同步方法(用户端)还可以包括以下步骤:
步骤S501,不断的解码收到的待播放视频流,根据RTMP的标准格式,解码得视频帧、音频帧以及数据帧;
步骤S502,播放视频画面和声音,如果数据帧里有“播放倒计时动画标志”,则开始播放倒计时动画;当用户看到倒计时动画后,就知道主播准备拍照了;同时,可以观看到主播摆造型或姿势,并且在倒计时为0时,用户看到的主播画面和主播拍照得到的相片是一样的。
步骤S503,拍照结束,用户可以从主播的相片列表里查看主播的相片。
本发明示例实施例提供的视频同步方法,至少具有以下优点:
一方面,在用户观看主播拍照时主播画面和倒计时动画是同步的,倒计时为0时的看到的主播视频画面正是拍照得到的相片是一样的;
另一方面,不用额外消耗CPU把倒计时动画合成到视频画面里,用户看到的倒计时动画清晰度不受主播开播码率和分辨率的影响,不失真;
再一方面,避免了需要直接显示最终的拍摄照片,但是,由于用户端并不知道主播端已经开始拍照,突然显示照片会进一步的影响用户端体验的问题,使得用户可以充分的参与到主播拍照的整个过程中,还可以及时的观看到主播最终拍得的照片;同时,也避免了由于用户端的倒计时动画播放完成后,间隔较长时间才会收到主播的照片,存在延时,进而降低用户的观看体验的问题。
本发明示例实施例还提供了一种视频同步装置,应用于主播端。参考图6所示,该视频同步装置可以包括提示动画显示模块610、数据写入模块620、视频流生成模块630以及视频流推送模块640。其中:
倒计时动画显示模块610可以用于当主播端接收拍照指令时,显示与所述拍照指令对应的提示动画;
数据写入模块620可以用于将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧;
视频流生成模块630可以用于根据所述视频帧以及数据帧生成待播放视频流;
视频流推送模块640可以用于将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步。
在本公开的一种示例性实施例中,所述视频同步装置还包括:
画面截取模块,可以用于当检测到所述提示动画播放完成时,截取播放完成时刻的所述当前视频画面,并根据截取到的当前视频画面生成目标图像;
目标图像推送模块,可以用于将所述目标图像推送至所述服务器,以使得所述服务器将所述目标图像推送至所述用户端,进而实现所述目标图像在所述主播端以及用户端的同步。
在本公开的一种示例性实施例中,所述视频同步装置还包括:
目标图像存储模块,可以用于将所述目标图像存储至图像列表中得到当前图像列表;
图像列表更新模块,可以用于利用所述当前图像列表对服务器中与所述当前图像列表对应的历史图像列表进行更新,以便于用户端对所述当前图像列表中的目标图像进行查看。
在本公开的一种示例性实施例中,所述正在直播的当前视频画面中包括正在进行直播的主播;
其中,截取播放完成时刻的所述当前视频画面包括:
截取所述主播在所述播放完成时刻的姿态信息;其中,所述姿态信息包括所述主播的面部表情和/或肢体动作。
在本公开的一种示例性实施例中,根据截取到的当前视频画面生成目标图像包括:
对截取到的当前视频画面进行图像处理,并对图像处理后的当前视频画面进行命名,得到所述目标图像。
在本公开的一种示例性实施例中,将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧包括:
将正在直播的当前视频画面分别写入实时消息传输协议流的音频帧以及视频帧;
将所述提示动画写入所述实时消息传输协议流的数据帧。
本发明示例实施例还提供另一种视频同步装置,应用于用户端。参考图7所示,所述视频同步装置可以包括视频流解码模块710、视频播放模块720以及倒计时动画播放模块730。其中:
频流解码模块710可以用于接收服务器推送的待播放视频流,并对所述待播放视频流进行解码得到视频帧以及数据帧;其中,所述视频帧为主播端的正在直播的当前视频画面的视频;
视频播放模块720可以用于通过预设的视频播放器对所述视频帧进行播放,并判断所述数据帧中是否包括与拍照指令对应的提示动画;
倒计时动画播放模块730可以用于在判断所述数据帧中包括所述提示动画时,调用所述视频播放器中的动画播放模块对所述提示动画进行播放,以实现所述提示动画在主播端以及所述用户端的同步。
在本公开的一种示例性实施例中,所述视频同步装置还包括:
目标图像接收模块,可以用于接收所述服务器推送的目标图像;其中,所述目标图像是主播端在检测到所述提示动画播放完成时,截取播放完成时刻的当前视频画面,并根据截取到的当前视频画面生成的;
目标图像显示模块,可以用于对所述目标图像进行显示,进而所述目标图像在所述主播端以及用户端的同步。
上述视频同步装置中各模块的具体细节已经在对应的视频同步方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图8来描述根据本发明的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830以及显示单元840。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图1中所示的步骤S110:当主播端接收拍照指令时,显示与所述拍照指令对应的提示动画;S120:将正在直播的当前视频画面写入视频帧,并将所述提示动画写入数据帧;步骤S130:根据所述视频帧以及数据帧生成待播放视频流;步骤S140:将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步。
同时,所述处理单元810还可以执行如图3中所示的步骤S310:接收服务器推送的待播放视频流,并对所述待播放视频流进行解码得到视频帧以及数据帧;其中,所述视频帧为正在直播的当前视频画面的视频;步骤S320:通过预设的视频播放器对所述视频帧进行播放,并判断所述数据帧中是否包括与拍照指令对应的提示动画;步骤S330:在判断所述数据帧中包括所述提示动画时,调用所述视频播放器中的动画播放模块对所述提示动画进行播放,以实现所述提示动画在主播端以及所述用户端的同步。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本发明实施方式的方法。
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。

Claims (6)

1.一种视频同步方法,其特征在于,包括:
当主播端接收拍照指令时,显示与所述拍照指令对应的提示动画;
将正在直播的当前视频画面分别写入实时消息传输协议流的音频帧以及视频帧,并将所述提示动画写入所述实时消息传输协议流的数据帧;
根据所述音频帧、视频帧以及数据帧生成待播放视频流;
将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步;
当检测到所述提示动画播放完成时,截取播放完成时刻的所述当前视频画面,并对截取到的当前视频画面进行图像处理和命名,以及根据截取到的当前视频画面生成目标图像;其中,所述提示动画包括倒计时动画或者进度条;所述当前视频画面包括正在进行直播的主播,所述当前视频画面包括所述主播在所述播放完成时刻的姿态信息;所述姿态信息包括所述主播的面部表情和/或肢体动作以及所述主播的妆发和衣着饰品;
将所述目标图像推送至所述服务器,以使得所述服务器将所述目标图像推送至所述用户端,进而实现所述目标图像在所述主播端以及用户端的同步。
2.根据权利要求1所述的视频同步方法,其特征在于,所述视频同步方法还包括:
将所述目标图像存储至图像列表中得到当前图像列表;
利用所述当前图像列表对服务器中与所述当前图像列表对应的历史图像列表进行更新,以便于用户端对所述当前图像列表中的目标图像进行查看。
3.一种视频同步方法,其特征在于,包括:
接收服务器推送的待播放视频流,并对所述待播放视频流进行解码得到音频帧、视频帧以及数据帧;其中,所述视频帧为正在直播的当前视频画面的视频;
通过预设的视频播放器对所述视频帧进行播放,并判断所述数据帧中是否包括与拍照指令对应的提示动画;
在判断所述数据帧中包括所述提示动画时,调用所述视频播放器中的动画播放模块对所述提示动画进行播放,以实现所述提示动画在主播端以及用户端的同步;
接收所述服务器推送的目标图像;其中,所述目标图像是主播端在检测到所述提示动画播放完成时,截取播放完成时刻的当前视频画面,并根据截取到的当前视频画面进行图像处理和命名生成的;其中,所述当前视频画面包括正在进行直播的主播,所述当前视频画面包括所述主播在所述播放完成时刻的姿态信息;所述姿态信息包括所述主播的面部表情和/或肢体动作以及所述主播的妆发和衣着饰品;
对所述目标图像进行显示,进而实现所述目标图像在所述主播端以及用户端的同步。
4.一种视频同步装置,其特征在于,包括:
提示动画显示模块,用于当主播端接收到拍照指令时,显示与所述拍照指令对应的提示动画;
数据写入模块,用于将正在直播的当前视频画面分别写入实时消息传输协议流的音频帧以及视频帧,并将所述提示动画写入所述实时消息传输协议流的数据帧;
视频流生成模块,用于根据所述音频帧、视频帧以及数据帧生成待播放视频流;
视频流推送模块,用于将所述待播放视频流推送至服务器,以使得服务器将所述待播放视频流推送至观看直播的用户端,以实现所述提示动画在所述主播端以及用户端的同步;
画面截取模块,用于当检测到所述提示动画播放完成时,截取播放完成时刻的所述当前视频画面,并对截取到的当前视频画面进行图像处理和命名,以及根据截取到的当前视频画面生成目标图像根据截取到的当前视频画面生成目标图像;其中,所述提示动画包括倒计时动画或者进度条;所述当前视频画面包括正在进行直播的主播,所述当前视频画面包括所述主播在所述播放完成时刻的姿态信息;所述姿态信息包括所述主播的面部表情和/或肢体动作以及所述主播的妆发和衣着饰品;
目标图像推送模块,用于将所述目标图像推送至所述服务器,以使得所述服务器将所述目标图像推送至所述用户端,进而实现所述目标图像在所述主播端以及用户端的同步。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-3任一项所述的视频同步方法。
6.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-3任一项所述的视频同步方法。
CN202010528624.6A 2020-06-11 2020-06-11 视频同步方法及装置、计算机可读存储介质以及电子设备 Active CN111629223B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010528624.6A CN111629223B (zh) 2020-06-11 2020-06-11 视频同步方法及装置、计算机可读存储介质以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010528624.6A CN111629223B (zh) 2020-06-11 2020-06-11 视频同步方法及装置、计算机可读存储介质以及电子设备

Publications (2)

Publication Number Publication Date
CN111629223A CN111629223A (zh) 2020-09-04
CN111629223B true CN111629223B (zh) 2022-09-13

Family

ID=72272721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010528624.6A Active CN111629223B (zh) 2020-06-11 2020-06-11 视频同步方法及装置、计算机可读存储介质以及电子设备

Country Status (1)

Country Link
CN (1) CN111629223B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019927B (zh) * 2020-09-23 2023-01-06 Oppo广东移动通信有限公司 视频直播方法、连麦设备、直播系统及存储介质
CN112437316A (zh) * 2020-10-15 2021-03-02 北京三快在线科技有限公司 即时消息与直播视频流同步播放的方法、装置
WO2024108431A1 (zh) * 2022-11-23 2024-05-30 广州酷狗计算机科技有限公司 直播互动方法、装置、设备、存储介质及程序产品

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546766B (zh) * 2013-11-14 2017-02-08 腾讯科技(成都)有限公司 视频处理方法和相关设备及通信系统
CN106303662B (zh) * 2016-08-29 2019-09-20 网易(杭州)网络有限公司 视频直播中的图像处理方法和装置
CN109874043B (zh) * 2017-12-01 2021-07-27 腾讯科技(深圳)有限公司 视频流发送方法、播放方法及装置

Also Published As

Publication number Publication date
CN111629223A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
CN111131851B (zh) 游戏直播控制方法及装置、计算机存储介质、电子设备
CN112714330B (zh) 基于连麦直播的礼物赠送方法、装置及电子设备
CN111629223B (zh) 视频同步方法及装置、计算机可读存储介质以及电子设备
EP2940940B1 (en) Methods for sending and receiving video short message, apparatus and handheld electronic device thereof
CN109107167B (zh) 游戏中的交互控制方法、电子设备及存储介质
WO2019134235A1 (zh) 一种直播互动方法、装置、终端设备及存储介质
CN112637622A (zh) 一种直播演唱方法、装置、设备及介质
CN108924661A (zh) 基于直播间的数据交互方法、装置、终端和存储介质
CN112135160A (zh) 直播中虚拟对象控制方法及装置、存储介质和电子设备
CN111583952B (zh) 音频处理方法、装置、电子设备及存储介质
CN111629253A (zh) 视频处理方法及装置、计算机可读存储介质、电子设备
CN111163330A (zh) 直播视频的渲染方法、装置、系统、设备及存储介质
CN112291498B (zh) 音视频数据传输的方法、装置和存储介质
CN115423905A (zh) 数字人驱动方法、系统、设备和存储介质
CN110933485A (zh) 一种视频字幕生成方法、系统、装置和存储介质
CN112055227B (zh) 云游戏交互方法、系统、装置、存储介质与电子设备
CN107493478B (zh) 编码帧率设置方法及设备
WO2023116090A1 (zh) 视频同步播放方法及装置、存储介质、电子设备
CN115086729B (zh) 一种连麦展示方法、装置、电子设备、计算机可读介质
CN112804551B (zh) 一种直播方法、装置、计算机设备及存储介质
CN112714331B (zh) 信息提示方法和装置、存储介质、电子设备
CN115514989A (zh) 一种数据传输方法、系统及存储介质
CN112019858B (zh) 一种视频播放方法、装置、计算机设备和存储介质
CN113395531A (zh) 播放切换方法、装置、电子设备及计算机可读存储介质
KR20170085781A (ko) 유무선 통신 네트워크 기반 가상 현실 영상 제공 및 이를 위한 예매 시스템

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