CN110113621B - 媒体信息的播放方法和装置、存储介质、电子装置 - Google Patents

媒体信息的播放方法和装置、存储介质、电子装置 Download PDF

Info

Publication number
CN110113621B
CN110113621B CN201810103252.5A CN201810103252A CN110113621B CN 110113621 B CN110113621 B CN 110113621B CN 201810103252 A CN201810103252 A CN 201810103252A CN 110113621 B CN110113621 B CN 110113621B
Authority
CN
China
Prior art keywords
video
frame
video frame
media information
playing
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
CN201810103252.5A
Other languages
English (en)
Other versions
CN110113621A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810103252.5A priority Critical patent/CN110113621B/zh
Publication of CN110113621A publication Critical patent/CN110113621A/zh
Application granted granted Critical
Publication of CN110113621B publication Critical patent/CN110113621B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • 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/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • 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
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Abstract

本发明公开了一种媒体信息的播放方法和装置、存储介质、电子装置。其中,该方法包括:在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息;在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,其中,对部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟。本发明解决了相关技术中媒体信息的播放延迟较大的技术问题。

Description

媒体信息的播放方法和装置、存储介质、电子装置
技术领域
本发明涉及互联网领域,具体而言,涉及一种媒体信息的播放方法和装置、存储介质、电子装置。
背景技术
随着科学技术的不断发展,通信技术也得到了飞速的发展,通信产品的各种网上娱乐方式也越来越多,人们也享受到了科技发展带来的各种新型的娱乐方式。例如,微博、网络游戏、网络直播、网络视频等等,都是通信技术发展形成的网上娱乐方式,用户可以利用通信设备在网络直播平台上享受各种类型的网络娱乐方式。
如网络直播,是不同用户在同一时刻透过网络系统在交流平台实现直播互动的一种娱乐方式,直播的内容可以是个人秀、游戏、电影等等,网络直播大多数都是直播个人秀,通常情况下,可把直播个人秀的用户称为主播或者网络主播。
随着视频直播的持续火热,主播和观众端的互动需求日益强烈,主播连麦功能应运而生,主播在进行个人秀时,主播端设备会实时和观众端设备通信进行互动,主播端设备将自身摄像头采集到的直播媒体流实时传送给观众端设备;同时,被主播选中的连麦端也可将自己的媒体流实时传送给主播端。
无论是网络直播,还是网络游戏通讯、网络视频通讯或语音通讯,都受限于传输网络的带宽等原因,存在媒体信息的播放时刻与对端采集媒体信息的时刻之间延迟较大的问题,而连麦功能需要主播和连麦端之间的交互延迟控制在0.6S内才能达到一个较好的交互体验,所以播放延迟优化极为关键;同理,对于游戏通讯、网络视频通讯或语音通讯亦是如此。
针对相关技术中媒体信息的播放延迟较大的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种媒体信息的播放方法和装置、存储介质、电子装置,以至少解决相关技术中媒体信息的播放延迟较大的技术问题。
根据本发明实施例的一个方面,提供了一种媒体信息的播放方法,包括:在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息;在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,其中,仅对部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟。
根据本发明实施例的另一方面,还提供了一种媒体信息的播放装置,包括:获取单元,用于在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息;播放单元,用于在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,其中,仅对部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本发明实施例中,在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息;在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,对部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟,相当于缩短了对第一媒体信息的播放时间,可以解决相关技术中媒体信息的播放延迟较大的技术问题,进而达到降低媒体信息的播放延迟的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的媒体信息的播放方法的硬件环境的示意图;
图2是根据本发明实施例的一种可选的媒体信息的播放方法的流程图;
图3是根据本发明实施例的一种可选的媒体信息帧队列的示意图;
图4是根据本发明实施例的一种可选的媒体信息帧队列的示意图;
图5是根据本发明实施例的一种可选的媒体信息帧队列的示意图;
图6是根据本发明实施例的一种可选的媒体信息帧队列的示意图;
图7是根据本发明实施例的一种可选的媒体信息帧队列的示意图;
图8是根据本发明实施例的一种可选的媒体信息帧队列的示意图;
图9是根据本发明实施例的一种可选的媒体信息的播放方法的流程图;
图10是根据本发明实施例的一种可选的播放方式的示意图;
图11是根据本发明实施例的一种可选的媒体信息帧队列的示意图;
图12是根据本发明实施例的一种可选的媒体信息帧队列的示意图;
图13是根据本发明实施例的一种可选的媒体信息的播放方法的流程图;
图14是根据本发明实施例的一种可选的媒体信息的播放装置的示意图;以及,
图15是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
连麦:指的是两个人不在同一个地方,能把声音和/或视频合到一起。
GOP,英文全称为Group of Pictures,其策略影响编码质量,所谓GOP,意思是画面组,一个GOP就是一组连续的画面。
根据本发明实施例的一方面,提供了一种媒体信息的播放方法的方法实施例。
可选地,在本实施例中,上述媒体信息的播放方法可以应用于如图1所示的由服务器101和终端(包括主播终端105、连麦终端107以及观众终端103中的一个或多个)所构成的硬件环境中。如图1所示,服务器101通过网络与终端进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端并不限定于PC、手机、平板电脑等。本发明实施例的媒体信息的播放方法可以由服务器101来执行,也可以由终端来执行,还可以是由服务器101和终端共同执行。其中,终端执行本发明实施例的媒体信息的播放方法也可以是由安装在其上的客户端来执行。
步骤S11至步骤S16为实时执行的步骤,并无先后顺序之分,下面以将本申请的方法应用于直播场景为例进行描述:
步骤S11,主播终端105(可简称主播端)在进行摄像头预览(如主播的个人秀)的同时,播放连麦终端107(可简称连麦端)的流媒体信息,如连麦观众与主播进行视频和/或语音交互的流媒体信息。
主播终端的具体的播放方式如下:在与对端进行通讯的过程中,获取对端发送的第一流媒体信息;在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,仅对部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟。
步骤S12,主播终端105与服务器101(此处以一个服务器的形式示出,具体可以为位于同一局域网或的多个服务器多个局域网的多个服务器)之间的传输流媒体信息,具体包括主播终端105接收服务器转发的连麦终端107的流媒体信息,还可包括主播终端105通过服务器发送主播终端105的流媒体信息至连麦终端107。
步骤S13,连麦终端107在进行摄像头预览的同时,播放主播终端的流媒体信息,如主播与连麦观众进行视频和/或语音交互的流媒体信息。
连麦终端的具体的播放方式如下:在与对端终端进行通讯的过程中,获取对端终端发送的通讯流媒体信息;对第一流媒体信息中的部分流媒体信息帧进行连续播放,第一流媒体信息为当前获取到的通讯流媒体信息。
步骤S14,连麦终端107与服务器101之间的传输流媒体信息,具体包括连麦终端107接收服务器转发的主播终端105的流媒体信息,还可包括连麦终端107通过服务器发送连麦终端107的流媒体信息至主播终端105。
步骤S15,服务器101发送流媒体信息至观众终端103,具体此处传输的流媒体信息可为对主播终端105和连麦终端107的流媒体信息进行混流处理后的流媒体信息。
步骤S16,在观众终端103上播放混流后的流媒体,如在直播界面上播放主播端流媒体信息,并在直播界面上开辟的小窗口播放连麦端流媒体信息。
本申请的方法可以应用于上述的主播终端105和连麦终端107上,还可应用在观众终端103上,下面结合图2详述本申请的方法:
图2是根据本发明实施例的一种可选的媒体信息的播放方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息。
执行本申请的方法的主体可为第二终端(安装有第二客户端),第二终端和第一终端(安装有第一客户端)为进行通讯的两端,如视频电话的两端,直播中的主播端和连麦端,游戏通讯中的通讯两端(具体可以是多个终端)。
对于直播而言,若第一终端是主播端,则第二终端是连麦端;若第一终端是连麦端,则第二终端是主播端。
步骤S204,在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,对部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟。
上述的播放延迟是指流媒体信息帧从产生(如在主播端录制到该帧时)到播放(如在连麦端播放)之间所经历的时间。
可选地,对第一流媒体信息中的部分流媒体信息帧进行连续播放包括以下之一:
对第一视频中的部分视频帧进行连续播放,第一流媒体信息包括第一视频(记为播放方案一);
对第一音频中的部分音频帧进行连续播放,第一流媒体信息包括第一音频(记为播放方案二);
在对第一视频中的部分视频帧进行连续播放的同时,播放第一音频中与当前播放的视频帧对应的音频帧,第一流媒体信息包括第一视频和第一音频(记为播放方案三)。
需要说明的是,对于第一视频中的每个视频帧,是分别设置有相应的播放时间的(相邻视频帧的播放时间是连续的),仅第一视频中的部分视频帧,则相当于删除(或称为丢弃)了第一视频中的一部分视频帧(即未被播放的视频帧),此时,第一视频中的相邻视频帧的播放时间可能不再连续,正常播放时,会在系统时间到达了相应的播放时间才会播放该播放时间对应的视频帧,从而造成卡顿;而在本申请的技术方案中,删除了第一视频中的一部分视频帧,对第一视频中剩下的视频帧仍然采用连续播放的方式播放。
对于第一音频而言,采用与上述类似的方式进行播放。
由于删除了第一媒体信息(包括第一视频和/或第一音频)中的一部分视频帧,相对于完整的播放第一媒体信息而言,仅对第一流媒体信息中的部分流媒体信息帧进行连续播放,相当于缩短了对第一媒体信息的播放时间,从而降低了媒体信息的播放延迟。
通过上述步骤S202至步骤S204,在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息;在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,对部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟,相当于缩短了对第一媒体信息的播放时间,可以解决相关技术中媒体信息的播放延迟较大的技术问题,进而达到降低媒体信息的播放延迟的技术效果。
在步骤S204提供的技术方案中,“对第一流媒体信息中的部分流媒体信息帧进行连续播放”包括前述的三种技术方案,下面逐一进行详述。
可选地,本申请的“丢弃第一视频(或称为视频帧队列中)中的一部分视频帧”可在第一视频的发送端或者接收端执行,若在发送端执行,既能降低对传输带宽的要求,也能减少播放端的播放时长,从而可以从这两个维度降低播放时延;若在接收端执行,便于减少播放端的播放时长,要播放端可以选择性对对播放视频帧进行丢弃,增加了操作的灵活性。下面以在播放端执行“丢弃第一视频中的一部分视频帧”为例进行说明:
(1)对于播放方案一
如图3所示,对于视频帧队列中的连续视频帧(以序号1至P表示),在丢弃视频帧队列中的视频帧时,可以随机选择一个或多个视频帧(如视频帧1、视频帧8、视频帧10等)进行丢弃。
为了保证播放质量,优先选择不为关键帧的视频帧进行丢弃,如对第一视频中的部分视频帧进行连续播放可通过如下方式实现:
步骤S21,在视频帧队列中的视频帧的数量高于第一阈值的情况下,丢弃视频帧队列中至少一个不为关键帧的视频帧,视频帧队列用于缓存第一视频的视频帧。
可选地,为了保证播放的连续性和及时性,可以在视频帧队列中的视频帧的数量高于第二阈值(第二阈值的值低于第一阈值)的情况下,开始播放;在视频帧队列中的视频帧的数量高于第二阈值且不高于第一阈值的情况下,由于视频帧队列中视频帧数量较少,可不执行上述的丢弃操作;在视频帧队列中的视频帧的数量高于第一阈值的情况下,再执行丢弃操作。
在执行上述的丢弃时,可以整个视频帧队列为单位,若视频帧队列中,存在多个关键视频帧,对于任意两个关键视频帧之间的非关键视频帧,均可以删除其中的一个或多个。
如图3所示,若关键帧是视频帧5,那么就可丢弃视频帧1至视频帧4中的一个或多个,甚至删除视频帧5之前的全部视频帧(视频帧1至视频帧4)。若视频帧13也是关键帧,则还可删除视频帧6至视频帧12之间的至少一个视频帧,甚至是全部。
可选地,在执行上述的丢弃时,可以视频帧队列中的视频画面组GOP为单位,丢弃视频帧队列中至少一个不为关键帧的视频帧可包括:在多个视频帧中存在关键帧的情况下,丢弃多个视频帧中在为关键帧的第M个视频帧之前的至少一个不为关键帧的视频帧,多个视频帧为视频帧队列中属于同一个视频画面组的连续视频帧,M为正整数。
如图4所示,对于GOPi,多个视频帧中存在关键帧,关键帧为视频帧4(即M=4),此时可丢弃视频帧1至视频帧3中的一个或多个;对于GOPj,若关键帧为视频帧7(即M=7),此时可丢弃视频帧1至视频帧6中的一个或多个。
可选地,若上述视频画面组(即第一视频画面组)是视频帧队列中的第一个视频画面组,那么丢弃多个视频帧中在为关键帧的第M个视频帧之前的至少一个不为关键帧的视频帧中的“第M个视频帧之前的视频帧”是指队列初始的视频帧至第(M-1)个视频帧,可从其中任意进行选择;若上述视频画面组不是视频帧队列中的第一个视频画面组,那么“第M个视频帧之前的视频帧”具体是第M个视频帧与前一关键帧之间的视频帧,如GOPi中的视频帧4与GOPj的视频帧7之间的视频帧。
可选地,丢弃多个视频帧中在第M个视频帧之前的至少一个不为关键帧的视频帧还可包括:丢弃多个视频帧中在第M个视频帧之前的所有视频帧,多个视频帧中在第M个视频帧之前的视频帧均不为关键帧。
如图4所示,对于GOPj,若关键帧为视频帧7(即M=7),此时可丢弃视频帧1至视频帧6;还可丢弃GOPj中的视频帧1至视频帧6和GOPi中的视频帧5。
需要说明的是,在以视频帧队列中的视频画面组GOP为单位进行丢弃时,可以进丢弃其中一个视频画面组(即上述的第一视频画面组)中的非关键视频帧,若多个视频帧属于第一视频画面组,在多个视频帧中不存在关键帧的情况下,可以继续搜寻其余视频画面组,进行非关键帧的丢弃,具体如下:
丢弃第三视频画面组的连续视频帧中第K个视频帧之前的至少一个不为关键帧的视频帧,视频帧队列中保存有多个视频画面组的连续视频帧,多个视频画面组包括第一视频画面组和第三视频画面组,第K个视频帧为第三视频画面组的连续视频帧中为关键帧的视频帧,多个视频帧中的视频帧未被丢弃。
具体的丢弃方式与上述第一视频画面组中的丢弃方式类似,在此不再赘述。
可选地,在以视频帧队列中的视频画面组GOP为单位进行丢弃时,还可丢弃多个视频画面组中的非关键视频帧。具体如下:
多个视频帧属于第一视频画面组,其中,丢弃视频帧队列中至少一个不为关键帧的视频帧还包括:在视频帧队列中保存有多个视频画面组的连续视频帧的情况下,丢弃第二视频画面组的连续视频帧中第N个视频帧之前的至少一个不为关键帧的视频帧,其中,第N个视频帧为第二视频画面组的连续视频帧中为关键帧的视频帧,多个视频画面组包括第一视频画面组和第二视频画面组,N为正整数。
上述的第二视频画面组为视频帧队列除第一视频画面组之外的视频画面组,具体数量可以为一个或多个。删除方式与对第一视频画面组的视频帧的删除方式相同,不再赘述。
步骤S22,连续播放视频帧队列中的视频帧。
可选地,连续播放视频帧队列中的视频帧包括:
步骤S221,将视频帧队列中第二视频帧的播放时间从第一播放时间调整为第二播放时间,第二视频帧为视频帧队列中被丢弃的第一视频帧之后的视频帧,第一播放时间与第一视频帧的播放时间相邻,第二播放时间与视频帧队列中第三视频帧的播放时间相邻,第三视频帧为第一视频帧之前的为关键帧的视频帧或为关键帧的视频帧与第二视频帧之间的视频帧;
步骤S222,按照为视频帧队列中视频帧调整后的播放时间对视频帧队列中的视频帧进行播放。
如图3所示,若关键帧是视频帧5,那么就可丢弃视频帧1至视频帧4中的一个或多个,如丢弃了视频帧3,那么对于视频帧3之后的视频帧4至视频帧P均需要调整播放时间,如视频帧4的播放时间由80us调整为60us,视频帧5的播放时间由100us调整为80us,之后的视频帧也按此进行调整。
若删除视频帧5之前的全部视频帧(视频帧1至视频帧4),则从视频帧5开始调整,如视频帧5的播放时间由100us调整为20us,之后的视频帧也按此进行调整。
若视频帧13也是关键帧,则还可删除视频帧6至视频帧12之间的至少一个视频帧,如删除了视频帧8,同时也删除了视频帧3,那么视频帧4至视频帧P均需要进行调整,如视频帧4的播放时间由80us调整为60us,视频帧5的播放时间由100us调整为80us,视频帧6至视频帧7也相应调整;视频帧9调整的播放时间由180us调整为140us,视频帧9之后的视频帧也相应调整。
如图4所示,对于GOPi,关键帧为视频帧4,对于GOPj,若关键帧为视频帧7,此时若丢弃了GOPi中的视频帧2和GOPj中的视频帧5。
按照上述方法调整了播放时间后的视频帧序列如图5所示。
(2)对于播放方案二
若第一流媒体信息仅包括第一音频,也可按照上述方式来丢弃其中符合要求的音频帧。
对第一音频中的部分音频帧进行连续播放可包括:在音频帧队列中的音频帧的数量高于第三阈值的情况下,丢弃音频帧队列中至少一个不为关键帧的音频帧,音频帧队列用于缓存第一音频的音频帧;连续播放音频帧队列中的音频帧。
可选地,若音频帧队列中存在多个关键帧,则可对两个关键帧之间的非关键帧进行丢弃,丢弃的数量为一个或多个。
可选地,连续播放音频帧队列中的音频帧的实现方式与“连续播放视频帧队列中的视频帧”相类似。
如图6所示,在删除了一个或多个视频帧之后,可按照前述方式对音频帧的播放时间进行调整。
(3)对于播放方案三
在对第一视频中的部分视频帧进行连续播放的同时,播放第一音频中与当前播放的视频帧对应的音频帧,其中,第一流媒体信息包括第一视频和第一音频。
可选地,“对第一视频中的部分视频帧进行连续播放”与播放方案一种相同;播放第一音频中与当前播放的视频帧对应的音频帧可包括:丢弃音频帧队列中的第一音频帧,其中,音频帧队列用于缓存第一音频的音频帧,第一音频帧是音频帧队列中与第一视频帧具有相同播放时间的音频帧,第一视频帧为视频帧队列中被丢弃的视频帧;连续播放音频帧队列中的音频帧。
如图7和图8所示,对于GOPi,关键帧为视频帧4,对于GOPj,若关键帧为视频帧7,此时若丢弃了GOPi中的视频帧2和GOPj中的视频帧5;那么需要相应丢弃视频帧2对应的音频帧10。
对于直播场景而言,在第二客户端上对第一流媒体信息中的部分流媒体信息帧进行连续播放的同时或之后,可发送第二客户端上的第二流媒体信息至服务器和/或第一客户端;第一客户端对第二流媒体信息中的部分流媒体信息帧进行连续播放,服务器将接收到的第一客户端的第一流媒体信息和第二客户端的第二流媒体信息混流为第三流媒体信息,并将第三流媒体信息发送给至少一个第三客户端(即观众终端),第三客户端为观看第一客户端或第二客户端进行直播的终端。
对于网络游戏通讯、网络视频通讯或语音通讯而言,实现本申请的技术方案时,与上述介绍类似,在此不再赘述。
作为一种可选的实施例,下面以直播为例进一步详述本申请的技术方案。
如图1所示,直播连麦功能在产品侧,主播端拉取连麦端的流进行小窗播放,连麦端拉取主播端的流小窗播放,观众端拉取主播端和连麦端混流后的流进行播放,利用本申请的技术方案可实现对播放端(可为主播端、连麦端和观众端)的低延迟处理。下面结合图9进行详述:
步骤S902,主播端通过私有TCP推流到主播端缓存LiveReceive。
执行步骤S902的同时,执行步骤S904,连麦端私有TCP推流到连麦端缓存LiveReceive。
步骤S906,IDC数据分发集群从LiveReceive分别拉取主播端和连麦端的流。
步骤S908,主播端从IDC数据分发集群拉取连麦端的流(可为HTTPFLV)进行小窗播放。
执行步骤S908的同时,步骤S910,连麦端从IDC数据分发集群拉取主播端的的流(可为HTTP FLV)进行小窗播放。
步骤S912,连麦混流服务从LiveReceive分别拉取主播端和连麦端的流进行混流出一路流。
步骤S914,分发器Distribute和CDN对HTTP FLV流进行分发。观众端播放器拉取CDN的HTTP FLV流进行播放,播放方式如图10所示:
1)读包线程ReadPacketThread读取FLV流,并把音频包数据存入音频队列(如音频帧队列),视频包存入视频帧队列(如视频帧队列);
2)音频解码线程从音频队列读取音频包解码,视频解码线程从视频帧队列读取视频包解码;
3)解码后的视音频数据终端进行播放显示。
音视频帧队列如图11所示:
1)播放器音视频帧队列可设计为最大可以缓存120帧数据的队列;
2)为了减少播放器数据的缓存(延迟降低),音视频任何一个队列缓冲数据满N帧(第二阈值,如设置为15帧)后,缓冲结束,开始播放;
3)播放过程中,读包线程继续读包写入音视频帧队列,解码线程从音视频帧队列读取数据解码渲染;
4)当音视频帧队列中数据都小于K帧(如设置为2)时候,暂停解码,开始二次缓冲,继续步骤2;
5)当音视频帧队列中帧个数超过M帧(即第一阈值,如设置为25帧),开始启用检测逻辑,检测是否需要丢帧,如果视频帧队列中有满足丢弃条件的帧,则丢弃相应的视频帧,并同时丢弃音频对应中对应的音频帧,达到播放缓存数据较少,减少延迟的效果。
对于音视频帧队列的丢帧逻辑,为了保证丢帧后的播放正常,不会播放花屏,丢帧以丢到缓存中的关键帧为止,如图12所示:
P表示普通帧(也即非关键帧),I表示关键帧,丢数据丢到找到关键帧为止;丢视频帧数据的同时,通过时间戳的比较找到相应的音频帧来丢掉。
处理流程如图13所示
步骤S1302,读包线程读取音视频包。
步骤S1304,将读取的音视频包分别加入音视频帧队列。
步骤S1306,判断队列中的帧数是否大于25(25仅用于示意性说明,也可为其余数值),若是则执行步骤S1308,否则执行步骤S1316。
步骤S1308,判断在视频帧队列中是否找到关键帧,若是则执行步骤S1310,否则执行步骤S1316。
步骤S1310,丢弃视频帧队列中关键帧前的视频帧。
步骤S1312,丢弃音频帧队列中相应的音频帧,即播放时间小于关键帧的时间戳的音频帧。
步骤S1314,调整解码系统的解码时间戳。
步骤S1316,进行解码显示。
这里调整解码系统时间戳主要是丢掉GOP数据后,解码参考的系统时间要调整,否则播放需要卡着等待丢弃的时间后才能播放;利用本申请的技术方案,不需要将音频和视频分开传输,在网络较差的情况下,也不需要丢弃视频来保留音频,无需依赖于音频和视频分开传输,在视频直播流都是音视频统一传输(这样做的好处是所有的平台比较统一,分开传输在H5播放的时候还需要再合并视音频流)的情况下也可使用本申请的技术方案实现,使用该技术方案后,连麦主播端和连麦的交互延迟大概是0.5S,满足了连麦的播放体验。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述媒体信息的播放方法的媒体信息的播放装置。图14是根据本发明实施例的一种可选的媒体信息的播放装置的示意图,如图14所示,该装置可以包括:
获取单元1401,用于在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息;
播放单元1403,用于在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,其中,对第一流媒体信息中的部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟。
需要说明的是,该实施例中的获取单元1401可以用于执行本申请实施例中的步骤S202,该实施例中的播放单元1403可以用于执行本申请实施例中的步骤S204。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息;在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,对部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟,相当于缩短了对第一媒体信息的播放时间,可以解决相关技术中媒体信息的播放延迟较大的技术问题,进而达到降低媒体信息的播放延迟的技术效果。
上述的播放单元可包括:第一播放模块,用于对第一视频中的部分视频帧进行连续播放,其中,第一流媒体信息包括第一视频;第二播放模块,用于对第一音频中的部分音频帧进行连续播放,其中,第一流媒体信息包括第一音频;第三播放模块,用于在对第一视频中的部分视频帧进行连续播放的同时,播放第一音频中与当前播放的视频帧对应的音频帧,其中,第一流媒体信息包括第一视频和第一音频。
可选地,第三播放模块可包括:丢弃子模块,用于在视频帧队列中的视频帧的数量高于第一阈值的情况下,丢弃视频帧队列中至少一个不为关键帧的视频帧,其中,视频帧队列用于缓存第一视频的视频帧;播放子模块,用于连续播放视频帧队列中的视频帧。
可选地,丢弃子模块还可用于:在多个视频帧中存在关键帧的情况下,丢弃多个视频帧中在为关键帧的第M个视频帧之前的至少一个不为关键帧的视频帧,多个视频帧为视频帧队列中属于同一个视频画面组的连续视频帧,M为正整数。
可选地,丢弃子模块还可用于:丢弃多个视频帧中在第M个视频帧之前的所有视频帧,多个视频帧中在第M个视频帧之前的视频帧均不为关键帧。
可选地,多个视频帧属于第一视频画面组,其中,丢弃子模块还可用于:在视频帧队列中保存有多个视频画面组的连续视频帧的情况下,丢弃第二视频画面组的连续视频帧中第N个视频帧之前的至少一个不为关键帧的视频帧,其中,第N个视频帧为第二视频画面组的连续视频帧中为关键帧的视频帧,多个视频画面组包括第一视频画面组和第二视频画面组,N为正整数。
可选地,在多个视频帧中不存在关键帧的情况下,丢弃子模块还可用于:丢弃第三视频画面组的连续视频帧中第K个视频帧之前的至少一个不为关键帧的视频帧,其中,视频帧队列中保存有多个视频画面组的连续视频帧,多个视频画面组包括第一视频画面组和第三视频画面组,第K个视频帧为第三视频画面组的连续视频帧中为关键帧的视频帧,多个视频帧中的视频帧未被丢弃。
可选地,播放子模块还可用于:将视频帧队列中第二视频帧的播放时间从第一播放时间调整为第二播放时间,其中,第二视频帧为视频帧队列中被丢弃的第一视频帧之后的视频帧,第一播放时间与第一视频帧的播放时间相邻,第二播放时间与视频帧队列中第三视频帧的播放时间相邻,第三视频帧为第一视频帧之前的为关键帧的视频帧或为关键帧的视频帧与第二视频帧之间的视频帧;按照为视频帧队列中视频帧调整后的播放时间对视频帧队列中的视频帧进行播放。
可选地,第三播放模块还可用于:丢弃音频帧队列中的第一音频帧,其中,音频帧队列用于缓存第一音频的音频帧,第一音频帧是音频帧队列中与第一视频帧具有相同播放时间的音频帧,第一视频帧为视频帧队列中被丢弃的视频帧;连续播放音频帧队列中的音频帧。
本申请的装置还可包括:发送单元:用于在第二客户端上对第一流媒体信息中的部分流媒体信息帧进行连续播放的同时或之后,发送第二客户端的第二流媒体信息至服务器和/或第一客户端,其中,第一客户端用于对第二流媒体信息中的部分流媒体信息帧进行连续播放,服务器用于将接收到的第一客户端的第一流媒体信息和第二客户端的第二流媒体信息混流为第三流媒体信息,并将第三流媒体信息发送给至少一个第三客户端,第三客户端为观看第一客户端或第二客户端进行直播的终端。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本发明实施例的另一个方面,还提供了一种用于实施上述媒体信息的播放方法的服务器或终端。
图15是根据本发明实施例的一种终端的结构框图,如图15所示,该终端可以包括:一个或多个(图15中仅示出一个)处理器1501、存储器1503、以及传输装置1505(如上述实施例中的发送装置),如图15所示,该终端还可以包括输入输出设备1507。
其中,存储器1503可用于存储软件程序以及模块,如本发明实施例中的媒体信息的播放方法和装置对应的程序指令/模块,处理器1501通过运行存储在存储器1503内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的媒体信息的播放方法。存储器1503可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1503可进一步包括相对于处理器1501远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1505用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1505包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1505为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1503用于存储应用程序。
处理器1501可以通过传输装置1505调用存储器1503存储的应用程序,以执行下述步骤:
在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息;
在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,其中,对第一流媒体信息中的部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟。
处理器1501还用于执行下述步骤:
将视频帧队列中第二视频帧的播放时间从第一播放时间调整为第二播放时间,其中,第二视频帧为视频帧队列中被丢弃的第一视频帧之后的视频帧,第一播放时间与第一视频帧的播放时间相邻,第二播放时间与视频帧队列中第三视频帧的播放时间相邻,第三视频帧为第一视频帧之前的为关键帧的视频帧或为关键帧的视频帧与第二视频帧之间的视频帧;
按照为视频帧队列中视频帧调整后的播放时间对视频帧队列中的视频帧进行播放。
采用本发明实施例,在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息;在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,对部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟,相当于缩短了对第一媒体信息的播放时间,可以解决相关技术中媒体信息的播放延迟较大的技术问题,进而达到降低媒体信息的播放延迟的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图15所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图15其并不对上述电子装置的结构造成限定。例如,终端还可包括比图15中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图15所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行媒体信息的播放方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S31,在与第一客户端进行通讯的过程中,获取第一客户端发送的第一流媒体信息;
S32,在第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,对第一流媒体信息中的部分流媒体信息帧进行连续播放,其中,对第一流媒体信息中的部分流媒体信息帧进行播放时部分流媒体信息帧的播放延迟小于对第一流媒体信息进行完整播放时部分流媒体信息帧的播放延迟。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S41,将视频帧队列中第二视频帧的播放时间从第一播放时间调整为第二播放时间,其中,第二视频帧为视频帧队列中被丢弃的第一视频帧之后的视频帧,第一播放时间与第一视频帧的播放时间相邻,第二播放时间与视频帧队列中第三视频帧的播放时间相邻,第三视频帧为第一视频帧之前的为关键帧的视频帧或为关键帧的视频帧与第二视频帧之间的视频帧;
S42,按照为视频帧队列中视频帧调整后的播放时间对视频帧队列中的视频帧进行播放。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (11)

1.一种媒体信息的播放方法,其特征在于,包括:
在直播界面与第一客户端进行直播连麦的过程中,获取所述第一客户端发送的第一流媒体信息;
在所述第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,在所述直播界面上播放第二客户端的流媒体信息,以及在所述直播界面上开辟的小窗口处对所述第一流媒体信息中的部分流媒体信息帧进行连续播放,其中,对所述第一流媒体信息中的部分流媒体信息帧进行播放时所述部分流媒体信息帧的播放延迟小于对所述第一流媒体信息进行完整播放时所述部分流媒体信息帧的播放延迟;
对所述第一流媒体信息中的部分流媒体信息帧进行连续播放包括:在对所述第一视频中的部分视频帧进行连续播放的同时,播放第一音频中与当前播放的视频帧对应的音频帧,其中,所述第一流媒体信息包括所述第一视频和所述第一音频;
其中,对所述第一视频中的部分视频帧进行连续播放包括:以视频帧队列中的视频画面组为单位,丢弃所述视频帧队列中属于同一个所述视频画面组的多个连续视频帧的至少一个不为关键帧的视频帧,直至丢帧至所述视频画面组中的关键帧为止,其中,所述视频帧队列用于缓存所述第一视频的视频帧;连续播放所述视频帧队列中的视频帧;
其中,所述连续播放所述视频帧队列中的视频帧包括:将所述视频帧队列中第二视频帧的播放时间从第一播放时间调整为第二播放时间,其中,所述第二视频帧为所述视频帧队列中被丢弃的第一视频帧之后的视频帧,所述第一播放时间与所述第一视频帧的播放时间相邻,所述第二播放时间与所述视频帧队列中第三视频帧的播放时间相邻,所述第三视频帧为所述第一视频帧之前的为关键帧的视频帧或所述第三视频帧为关键帧与所述第二视频帧之间的视频帧;按照为所述视频帧队列中视频帧调整后的播放时间对所述视频帧队列中的视频帧进行播放;
播放所述第一音频中与当前播放的视频帧对应的音频帧包括:丢弃音频帧队列中的第一音频帧,并调整所述音频帧队列中的音频帧的时间戳,其中,所述音频帧队列用于缓存所述第一音频的音频帧,所述第一音频帧是所述音频帧队列中播放时间小于所述关键帧的时间戳的音频帧,所述第一视频帧为视频帧队列中被丢弃的视频帧,调整后的时间戳不包括所述第一音频的播放时间;按照所述调整后的时间戳连续播放所述音频帧队列中的音频帧。
2.根据权利要求1所述的方法,其特征在于,所述以视频帧队列中的视频画面组为单位,丢弃所述视频帧队列中属于同一个所述视频画面组的多个连续视频帧的至少一个不为关键帧的视频帧,直至丢帧至所述视频画面组中的关键帧为止,包括:
在多个视频帧中存在关键帧的情况下,丢弃所述多个视频帧中在为关键帧的第M个视频帧之前的至少一个不为关键帧的视频帧,其中,所述多个视频帧为所述视频帧队列中属于同一个所述视频画面组的连续视频帧,M为正整数。
3.根据权利要求2所述的方法,其特征在于,丢弃所述多个视频帧中在所述第M个视频帧之前的至少一个不为关键帧的视频帧包括:
丢弃所述多个视频帧中在所述第M个视频帧之前的所有视频帧,其中,所述多个视频帧中在所述第M个视频帧之前的视频帧均不为关键帧。
4.根据权利要求2所述的方法,其特征在于,所述多个视频帧属于第一视频画面组,其中,丢弃所述视频帧队列中至少一个不为关键帧的视频帧还包括:
在所述视频帧队列中保存有多个视频画面组的连续视频帧的情况下,丢弃第二视频画面组的连续视频帧中第N个视频帧之前的至少一个不为关键帧的视频帧,其中,所述第N个视频帧为所述第二视频画面组的连续视频帧中为关键帧的视频帧,所述多个视频画面组包括所述第一视频画面组和所述第二视频画面组,N为正整数。
5.根据权利要求2所述的方法,其特征在于,所述多个视频帧属于第一视频画面组,其中,在所述多个视频帧中不存在关键帧的情况下,所述方法还包括:
丢弃第三视频画面组的连续视频帧中第K个视频帧之前的至少一个不为关键帧的视频帧,其中,所述视频帧队列中保存有多个视频画面组的连续视频帧,所述多个视频画面组包括所述第一视频画面组和所述第三视频画面组,所述第K个视频帧为所述第三视频画面组的连续视频帧中为关键帧的视频帧,所述多个视频帧中的视频帧未被丢弃。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,在第二客户端上对第一流媒体信息中的部分流媒体信息帧进行连续播放的同时或之后,所述方法还包括:
发送所述第二客户端的第二流媒体信息至服务器和/或所述第一客户端,其中,所述第一客户端用于对所述第二流媒体信息中的部分流媒体信息帧进行连续播放,所述服务器用于将接收到的所述第一客户端的第一流媒体信息和所述第二客户端的第二流媒体信息混流为第三流媒体信息,并将所述第三流媒体信息发送给至少一个第三客户端,所述第三客户端为观看所述第一客户端或所述第二客户端进行直播的终端。
7.一种媒体信息的播放装置,其特征在于,包括:
获取单元,用于在直播界面与第一客户端进行直播连麦的过程中,获取所述第一客户端发送的第一流媒体信息;
播放单元,用于在所述第一流媒体信息中的流媒体信息帧的帧数大于第一阈值的情况下,在所述直播界面上播放第二客户端的流媒体信息,以及在所述直播界面上开辟的小窗口处对所述第一流媒体信息中的部分流媒体信息帧进行连续播放,其中,对所述第一流媒体信息中的部分流媒体信息帧进行播放时所述部分流媒体信息帧的播放延迟小于对所述第一流媒体信息进行完整播放时所述部分流媒体信息帧的播放延迟;
所述播放单元包括:第三播放模块,用于在对所述第一视频中的部分视频帧进行连续播放的同时,播放第一音频中与当前播放的视频帧对应的音频帧,其中,所述第一流媒体信息包括所述第一视频和所述第一音频;
所述播放单元包括:第二播放模块,用于以视频帧队列中的视频画面组为单位,丢弃所述视频帧队列中属于同一个所述视频画面组的多个连续视频帧的至少一个不为关键帧的视频帧,直至丢帧至所述视频画面组中的关键帧为止,其中,所述视频帧队列用于缓存所述第一视频的视频帧;连续播放所述视频帧队列中的视频帧;
所述第二播放模块,还用于将所述视频帧队列中第二视频帧的播放时间从第一播放时间调整为第二播放时间,其中,所述第二视频帧为所述视频帧队列中被丢弃的第一视频帧之后的视频帧,所述第一播放时间与所述第一视频帧的播放时间相邻,所述第二播放时间与所述视频帧队列中第三视频帧的播放时间相邻,所述第三视频帧为所述第一视频帧之前的为关键帧的视频帧或所述第三视频帧为关键帧与所述第二视频帧之间的视频帧;按照为所述视频帧队列中视频帧调整后的播放时间对所述视频帧队列中的视频帧进行播放;
所述第一播放模块包括:所述第三播放模块,用于丢弃音频帧队列中的第一音频帧,并调整所述音频帧队列中的音频帧的时间戳,其中,所述音频帧队列用于缓存所述第一音频的音频帧,所述第一音频帧是所述音频帧队列中播放时间小于所述关键帧的时间戳的音频帧,所述第一视频帧为视频帧队列中被丢弃的视频帧,调整后的时间戳不包括所述第一音频的播放时间;按照所述调整后的时间戳连续播放所述音频帧队列中的音频帧。
8.根据权利要求7所述的装置,其特征在于,所述播放单元还包括:
第二播放模块,用于对第一音频中的部分音频帧进行连续播放,其中,所述第一流媒体信息包括所述第一音频。
9.根据权利要求8所述的装置,其特征在于,所述第三播放模块包括:
丢弃子模块,用于在视频帧队列中的视频帧的数量高于所述第一阈值的情况下,丢弃所述视频帧队列中至少一个不为关键帧的视频帧,其中,所述视频帧队列用于缓存所述第一视频的视频帧;
播放子模块,用于连续播放所述视频帧队列中的视频帧。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至6任一项中所述的方法。
11.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至6任一项中所述的方法。
CN201810103252.5A 2018-02-01 2018-02-01 媒体信息的播放方法和装置、存储介质、电子装置 Active CN110113621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810103252.5A CN110113621B (zh) 2018-02-01 2018-02-01 媒体信息的播放方法和装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810103252.5A CN110113621B (zh) 2018-02-01 2018-02-01 媒体信息的播放方法和装置、存储介质、电子装置

Publications (2)

Publication Number Publication Date
CN110113621A CN110113621A (zh) 2019-08-09
CN110113621B true CN110113621B (zh) 2023-03-03

Family

ID=67483186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810103252.5A Active CN110113621B (zh) 2018-02-01 2018-02-01 媒体信息的播放方法和装置、存储介质、电子装置

Country Status (1)

Country Link
CN (1) CN110113621B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110401845B (zh) * 2019-08-22 2021-08-20 北京视界云天科技有限公司 首屏播放方法、装置、计算机设备和存储介质
CN113115070B (zh) * 2021-06-15 2021-08-24 深圳市中鹏教育科技股份有限公司 一种在线教学视频的智能处理方法及系统
CN117837151A (zh) * 2021-08-10 2024-04-05 深圳Tcl新技术有限公司 流媒体数据传输方法、装置及终端设备
CN114189711A (zh) * 2021-11-16 2022-03-15 北京金山云网络技术有限公司 视频处理方法和装置、电子设备、存储介质
CN114071226B (zh) * 2022-01-14 2022-04-26 飞狐信息技术(天津)有限公司 视频预览图的生成方法及装置、存储介质及电子设备
CN114979712A (zh) * 2022-05-13 2022-08-30 北京字节跳动网络技术有限公司 视频起播方法、装置、设备及存储介质
CN116801034B (zh) * 2023-08-25 2023-11-03 海马云(天津)信息技术有限公司 客户端保存音视频数据的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864682A (en) * 1995-07-14 1999-01-26 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
CN105491393A (zh) * 2015-12-02 2016-04-13 北京暴风科技股份有限公司 多人视频直播业务的实现方法
CN106302375A (zh) * 2015-06-29 2017-01-04 成都鼎桥通信技术有限公司 去除流媒体播放器时延累积的方法及装置
CN106713947A (zh) * 2016-12-13 2017-05-24 飞狐信息技术(天津)有限公司 减少直播时延和卡顿的方法及装置、直播系统
CN106791956A (zh) * 2016-11-25 2017-05-31 百度在线网络技术(北京)有限公司 网络直播卡顿的处理方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938456B (zh) * 2009-06-30 2014-03-12 华为技术有限公司 一种减小媒体延迟的方法、设备及系统
CN102932667B (zh) * 2012-11-15 2015-06-03 掌赢信息科技(上海)有限公司 一种实时流媒体上传中的丢帧控制与续传方法及系统
CN106658113B (zh) * 2016-09-30 2019-09-13 腾讯科技(北京)有限公司 多媒体数据处理方法及装置
CN106488255B (zh) * 2016-10-24 2019-05-14 广州酷狗计算机科技有限公司 一种切换媒体流的方法及装置
CN106993239B (zh) * 2017-03-29 2019-12-10 广州酷狗计算机科技有限公司 直播过程中的信息显示方法
CN107147919B (zh) * 2017-06-19 2020-11-27 网宿科技股份有限公司 直播快速启播方法及系统
CN107333163A (zh) * 2017-06-29 2017-11-07 上海鋆创信息技术有限公司 一种视频处理方法及装置、一种终端及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864682A (en) * 1995-07-14 1999-01-26 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
CN106302375A (zh) * 2015-06-29 2017-01-04 成都鼎桥通信技术有限公司 去除流媒体播放器时延累积的方法及装置
CN105491393A (zh) * 2015-12-02 2016-04-13 北京暴风科技股份有限公司 多人视频直播业务的实现方法
CN106791956A (zh) * 2016-11-25 2017-05-31 百度在线网络技术(北京)有限公司 网络直播卡顿的处理方法及装置
CN106713947A (zh) * 2016-12-13 2017-05-24 飞狐信息技术(天津)有限公司 减少直播时延和卡顿的方法及装置、直播系统

Also Published As

Publication number Publication date
CN110113621A (zh) 2019-08-09

Similar Documents

Publication Publication Date Title
CN110113621B (zh) 媒体信息的播放方法和装置、存储介质、电子装置
US10057662B2 (en) Flow controlled based synchronized playback of recorded media
CN110798698B (zh) 一种直播应用程序的多服务器推流方法、设备和存储介质
CA2466458C (en) Fast start-up for digital video streams
CN107690073B (zh) 一种视频直播方法及视频直播服务器
CN107566918B (zh) 一种视频分发场景下的低延时取流秒开方法
CN100429901C (zh) 音视频广播网络直播频道切换的方法及结构
CN101938456B (zh) 一种减小媒体延迟的方法、设备及系统
US20210029388A1 (en) Communication apparatus, communication data generation method, and communication data processing method
EP2924998A1 (en) Method, apparatus and system for acquiring playback data stream of real-time video communication
CN112752109B (zh) 视频播放控制方法和系统
CN106789976A (zh) 媒体文件的播放方法、服务端、客户端及系统
WO2015107784A1 (ja) 通信装置、通信データ生成方法、および通信データ処理方法
CN110267093A (zh) 直播视频推送方法、装置、存储介质、终端及直播镜
KR101668283B1 (ko) 레이턴시를 고려한 영상 출력 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템
CN106572383A (zh) 一种基于多屏互动的视频切换方法及系统
CN105142003A (zh) 电视节目播放方法及装置
US20160366453A1 (en) Communication apparatus, communication data generation method, and communication data processing method
US11265587B2 (en) Multimedia resource synchronous pushing method based on heterogeneous network
CA3026535C (en) Multimedia resource synchronous pushing method based on heterogeneous network
CN106937155B (zh) 接入设备、因特网协议电视iptv系统和频道切换方法
KR101678388B1 (ko) 레이턴시를 고려한 영상 처리 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템
CN111526390B (zh) 发送mmt包的方法及装置、接收mmt包的方法
CN107968950A (zh) 一种基于异构网络的多媒体资源同步推送方法
HASHEMIZADEHNAEINI Transcoding H. 264 Video via FFMPEG encoder

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