CN109194975B - 音视频直播追流方法及装置 - Google Patents

音视频直播追流方法及装置 Download PDF

Info

Publication number
CN109194975B
CN109194975B CN201811303447.0A CN201811303447A CN109194975B CN 109194975 B CN109194975 B CN 109194975B CN 201811303447 A CN201811303447 A CN 201811303447A CN 109194975 B CN109194975 B CN 109194975B
Authority
CN
China
Prior art keywords
video
audio
frame
audio frame
played
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201811303447.0A
Other languages
English (en)
Other versions
CN109194975A (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.)
Shenzhen Yunwon Iot Technology Co ltd
Original Assignee
Shenzhen Yunwon Iot Technology 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 Shenzhen Yunwon Iot Technology Co ltd filed Critical Shenzhen Yunwon Iot Technology Co ltd
Priority to CN201811303447.0A priority Critical patent/CN109194975B/zh
Publication of CN109194975A publication Critical patent/CN109194975A/zh
Application granted granted Critical
Publication of CN109194975B publication Critical patent/CN109194975B/zh
Expired - Fee Related 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/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/44012Processing 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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • 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/4402Processing 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 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • 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
    • 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)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例提供一种音视频直播追流方法及装置,应用于直播用户端,方法包括:接收待解码视频包,对待解码视频包进行解码以获取待播放视频帧和待播放音频帧;根据待解码视频包的数量和直播用户端的上层传递的参数计算出第一音频帧播放速度;判断直播用户端中当前播放音频帧的播放速度是否等于第一音频帧播放速度,若当前播放音频帧的播放速度不等于第一音频帧播放速度,则将当前播放音频帧的播放速度设置为与第一音频帧播放速度一致;基于直播用户端中当前播放视频帧的时间参数和当前播放音频帧的时间参数计算出第一间隔时间;等待第一间隔时间后对待播放视频帧进行渲染。如此,本申请提供实时性高、更流畅的音视频直播。

Description

音视频直播追流方法及装置
技术领域
本申请涉及直播技术领域,具体而言,涉及一种音视频直播追流方法及装置。
背景技术
随着信息技术的迅速发展,直播技术与各行各业不断融合,受到了越来越多人的喜好,在一定程度上带动了经济发展。直播具有实时性,然而在目前的直播技术中,存在直播不流畅、实时性低的问题。如何提升直播的实时性有待解决。
发明内容
有鉴于此,本申请实施例提供了一种音视频直播追流方法及装置。
本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种音视频直播追流方法,应用于直播用户端,所述方法包括:
接收待解码视频包,对所述待解码视频包进行解码以获取待播放视频帧和待播放音频帧。
根据所述待解码视频包的数量和所述直播用户端的上层传递的参数计算出第一音频帧播放速度。
获取所述直播用户端中当前播放音频帧的播放速度。
判断所述当前播放音频帧的播放速度是否等于所述第一音频帧播放速度,若所述当前播放音频帧的播放速度不等于所述第一音频帧播放速度,则将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致。
获取所述直播用户端中的当前播放音频帧的时间参数和当前播放视频帧的时间参数,基于所述当前播放视频帧的时间参数和所述当前播放音频帧的时间参数计算出第一间隔时间。
等待所述第一间隔时间后对所述待播放视频帧进行渲染。
可选地,根据所述待解码视频包的数量和所述直播用户端的上层传递的参数计算出第一音频帧播放速度的步骤,包括:
获取所述直播用户端中上层传递的直播类型参数、速度调节系数和单位时间内实时传输的视频帧数,对所述待解码视频包的数量、所述单位时间内实时传输的视频帧数、所述直播类型参数和所述速度调节系数进行运算,获得音频修正率。
根据所述直播用户端存储的各音频修正率与各音频帧播放速度的映射关系,得到与所获得的音频修正率对应的音频速度作为第一音频帧播放速度。
可选地,对所述待解码视频包的数量、所述单位时间内实时传输的视频帧数、所述直播类型参数和所述速度调节系数进行运算,获得音频修正率的步骤,包括:
采用第一函数对所述待解码视频包的数量、所述直播类型参数、所述单位时间内实时传输的视频帧数和所述速度调节系数进行运算,获得音频修正率。
所述第一函数为:
Figure DEST_PATH_IMAGE001
其中,f为所述音频修正率,n为所述待解码视频包的数量,λ为所述速度调节系数,Fps为所述单位时间内实时传输的视频帧数,Type为所述直播类型参数。
可选地,将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致的步骤,包括:
若采用重采样方式将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致,则改变对所述待播放音频帧采样的采样频率,以将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致。
若不采用重采样方式将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致,则采用所述直播用户端自带的系统调速方式将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致。
可选地,获取所述直播用户端中的当前播放音频帧的时间参数和当前播放视频帧的时间参数,基于所述当前播放视频帧的时间参数和所述当前播放音频帧的时间参数计算出第一间隔时间的步骤,包括:
获取所述当前播放视频帧的第一时钟和所述直播用户端中当前播放音频帧的第二时钟,基于所述第一时钟和所述第二时钟计算出第一间隔时间。
可选地,基于所述第一时钟和所述第二时钟计算出第一间隔时间的步骤,包括;
采用第二函数对所述单位时间内实时传输的视频帧数、所述第一时钟和所述第二时钟进行运算处理,计算出第一间隔时间。
所述第二函数为:
Figure 826301DEST_PATH_IMAGE002
其中,delay为所述第一间隔时间,Fps为所述单位时间内实时传输的视频帧数,t1为所述第一时钟,t2为所述第二时钟,diff为所述第一时钟t1和所述第二时钟t2的差值。
可选地,在根据所述待解码视频包的数量和所述直播用户端的上层传递的参数计算出第一音频帧播放速度之前,所述方法还包括:
判断是否需要对所述待播放视频帧进行丢弃处理。
若不需要对所述待播放视频帧进行丢弃处理,则根据所述待解码视频包的数量和所述直播用户端的上层参数计算出第一音频帧播放速度。
若需要对所述待播放视频帧进行丢弃处理,则进行视频帧丢弃处理。
可选地,进行视频帧丢弃处理的步骤,包括:
判断所述待播放视频帧的帧数是否大于1。
若解码后的视频包中所述待播放视频帧的帧数大于1,则获取所述待播放视频帧的时间戳和所述直播用户端中当前播放音频帧的时间戳,将所述待播放视频帧的时间戳落后于所述当前播放音频帧的时间戳的所述待播放视频帧丢弃。
若解码后的视频包中所述待播放视频帧的帧数不大于1,则结束丢弃所述待播放视频帧。
可选地,等待所述第一间隔时间后对所述待播放视频帧进行渲染之后,所述方法还包括,播放渲染后的所述待播放视频帧。
第二方面,本申请实施例还提供了一种音视频直播追流装置,所述音视频直播追流装置包括接收模块、解码模块、第一处理模块、第二处理模块、第三处理模块和渲染模块。
所述接收模块用于接收待解码视频包。
所述解码模块用于对所述待解码视频包进行解码以获取待播放视频帧和待播放音频帧。
所述第一处理模块用于根据所述待解码视频包的数量和所述直播用户端的上层传递的参数计算出第一音频帧播放速度。
所述第二处理模块用于获取所述直播用户端中当前播放音频帧的播放速度,并判断所述当前播放音频帧的播放速度是否等于所述第一音频帧播放速度,若所述当前播放音频帧的播放速度不等于所述第一音频帧播放速度,则所述第二处理模块将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致。
所述第三处理模块用于获取所述当前播放音频帧的时间参数和所述直播用户端中当前播放视频帧的时间参数,并基于所述当前播放视频帧的时间参数和所述当前播放音频帧的时间参数计算出第一间隔时间。
所述渲染模块用于等待所述第一间隔时间后对所述待播放视频帧进行渲染。
本申请实施例提供一种音视频直播追流方法及装置,通过对待解码视频包进行解码以获取待播放视频帧和待播放音频帧,根据待解码视频包的数量和直播用户端的上层传递的参数计算出第一音频帧播放速度。在当前播放音频帧的播放速度不等于第一音频帧播放速度时,则将当前播放音频帧的播放速度设置为与第一音频帧播放速度一致。再基于直播用户端中当前播放视频帧的时间参数和当前播放音频帧的时间参数计算出第一间隔时间,等待第一间隔时间后对待播放视频帧进行渲染,以实时改变当前播放音频帧的播放速度,实现直播追流,使得直播中的音视频更为流畅,实时性更高,给直播观看者良好的观影感受。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的一种音视频直播追流方法的流程示意图。
图2为本申请实施例提供的另一种音视频直播追流方法的流程示意图。
图3为本申请实施例提供的又一种音视频直播追流方法的流程示意图。
图4为本申请实施例提供的一种音视频直播追流装置的功能模块示意图之。
图标:100-音视频直播追流装置;10-接收模块;20-解码模块;31-第一处理模块;32-第二处理模块;33-第三处理模块;40-渲染模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在常见的直播中,由于网络不稳定或者网络延迟高,导致直播观看者无法获取实时的音视频数据包,进而无法观看实时的音视频。此外,网络卡顿时间过长或者卡顿次数过多,在缺少相应的播放调整机制或者重连机制的情况下,直播观看者不能看到实时的音视频,从而给直播观看者带来不好的观影感受。
基于上述技术问题的发现,本申请发明人提出下述技术方案以解决或者改善上述问题,需要注意的是,以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是发明人在本申请过程中对本申请做出的贡献。
本申请发明人在解决上述技术问题的过程中,经过长期研究,提出了通过对待解码视频包进行解码以获取待播放视频帧和待播放音频帧,根据待解码视频包的数量和直播用户端的上层传递的参数计算出第一音频帧播放速度。在当前播放音频帧的播放速度不等于第一音频帧播放速度时,则将当前播放音频帧的播放速度设置为与第一音频帧播放速度一致。再基于直播用户端中当前播放视频帧的时间参数和当前播放音频帧的时间参数计算出第一间隔时间,等待第一间隔时间后对待播放视频帧进行渲染,以实时改变当前播放音频帧的播放速度,实现直播追流,使得直播中的音视频更为流畅,实时性更高,从而给直播观看者良好的观影感受。
可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的电子设备、服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
在本申请实施例中,所述直播用户端可以是任意终端。例如手机(mobile phone)、平板电脑(Pad)、虚拟现实(Virtual Reality,VR)终端设备、增强现实(AugmentedReality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smartgrid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smartcity)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对应用场景不做限定。
请结合参阅图1,为本申请实施例提供的一种音视频直播追流方法的流程示意图,应用于直播用户端。应当说明的是,本申请实施例提供的音视频直播追流方法不以图1及以下所述的具体顺序为限制。所述方法的具体流程如下:
步骤S10,接收待解码视频包,对所述待解码视频包进行解码以获取待播放视频帧和待播放音频帧。
步骤S20,根据所述待解码视频包的数量和所述直播用户端的上层传递的参数计算出第一音频帧播放速度。
作为一种实施方式,所述步骤S20可以通过如下方式实现:
首先,获取所述直播用户端中上层传递的直播类型参数、速度调节系数和单位时间内实时传输的视频帧数,对所述待解码视频包的数量、所述单位时间内实时传输的视频帧数、所述直播类型参数和所述速度调节系数进行运算,获得音频修正率。
然后,根据所述直播用户端存储的各音频修正率与各音频帧播放速度的映射关系,得到与所获得的音频修正率对应的音频速度作为第一音频帧播放速度。
作为一种实施方式,所述对所述待解码视频包的数量、所述单位时间内实时传输的视频帧数、所述直播类型参数和所述速度调节系数进行运算,获得音频修正率的步骤,可以通过如下方式实现:
采用第一函数对所述待解码视频包的数量、所述直播类型参数、所述单位时间内实时传输的视频帧数和所述速度调节系数进行运算,获得音频修正率。
所述第一函数为:
Figure 648764DEST_PATH_IMAGE001
其中,f为所述音频修正率,n为所述待解码视频包的数量,λ为所述速度调节系数,Fps为所述单位时间内实时传输的视频帧数,Type为所述直播类型参数。应当理解的是,不同的直播类型对应的直播类型参数是不一样的。例如,卡拉OK类的秀场类直播偏向实时性,其直播类型参数值相对小些,游戏类直播偏向流畅性,其值相对大些。
由此,所述第一函数获取的音频修正率与所述单位时间内实时传输的视频帧数直接相关。从而,在根据所述直播用户端存储的各音频修正率与各音频帧播放速度的映射关系,得到与所获得的音频修正率对应的音频速度作为第一音频帧播放速度时,获得的第一音频帧播放速度和所述单位时间内实时传输的视频帧数相关,从而使得第一音频帧播放速度具有实时性。
步骤S30,获取所述直播用户端中当前播放音频帧的播放速度。
步骤S40,判断所述当前播放音频帧的播放速度是否等于所述第一音频帧播放速度。若所述当前播放音频帧的播放速度不等于所述第一音频帧播放速度,则执行步骤S401。
步骤S401,将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致。
作为一种实施方式,所述步骤S401可以通过如下方式实现:
首先,判断是否采样方式将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致。
若采用重采样方式将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致,则改变对所述待播放音频帧采样的采样频率,以将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致。
若不采用重采样方式将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致,则采用所述直播用户端自带的系统调速方式将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致。
步骤S50,获取所述直播用户端中的当前播放音频帧的时间参数和当前播放视频帧的时间参数。
进一步地,获取所述直播用户端中的当前播放视频帧的第一时钟和当前播放音频帧的第二时钟。
步骤S60,基于所述当前播放视频帧的时间参数和所述当前播放音频帧的时间参数计算出第一间隔时间。
作为一种实施方式,所述步骤S60可以通过如下方式实现:
采用第二函数对所述单位时间内实时传输的视频帧数、所述第一时钟和所述第二时钟进行运算处理,计算出第一间隔时间。
所述第二函数为:
Figure 915797DEST_PATH_IMAGE003
其中,delay为所述第一间隔时间,Fps为所述单位时间内实时传输的视频帧数,t1为所述第一时钟,t2为所述第二时钟,diff为所述第一时钟t1和所述第二时钟t2的差值。应当说明的是,
Figure 911435DEST_PATH_IMAGE004
为一参考时间(正数)。当第一时钟t1和所述第二时钟t2的差值小于或等于该参考时间的负值时,可以理解为直播用户端中的视频帧的播放远落后于音频帧的播放,则应当立即对视频帧进行渲染。当第一时钟t1和所述第二时钟t2的差值大于或等于该参考时间的正值,可以理解为直播用户端中的视频帧的播放远快于音频帧的播放,则等待两倍的参考时间再对视频帧进行渲染。当第一时钟t1和所述第二时钟t2的差值介于该参考时间的负值和正值之间时,则等待该参考时间后对视频帧进行渲染。从而,根据音频帧和视频帧的实时播放情况,来调整视频帧的渲染。
步骤S70,等待所述第一间隔时间后对所述待播放视频帧进行渲染。
请结合参阅图2和图3,在步骤S20之前,所述方法还包括以下步骤:
步骤S80,判断是否需要对所述待播放视频帧进行丢弃处理。若不需要对所述待播放视频帧进行丢弃处理,则执行步骤S20,若需要对所述待播放视频帧进行丢弃处理,则执行步骤S801。
步骤S801,视频帧丢弃处理。
作为一种实施方式,所述步骤S801可以通过如下方式实现:
步骤S8011,判断所述待播放视频帧的帧数是否大于1。若解码后的视频包中所述待播放视频帧的帧数大于1,则执行步骤S8012,若解码后的视频包中所述待播放视频帧的帧数不大于1,则结束丢弃所述待播放视频帧。
步骤S8012,获取所述待播放视频帧的时间戳和所述直播用户端中当前播放音频帧的时间戳。
步骤S8013,将所述待播放视频帧的时间戳落后于所述当前播放音频帧的时间戳的所述待播放视频帧丢弃。
请结合参阅图4,本申请实施例还提供了一种音视频直播追流装置100,所述音视频直播追流装置100包括:接收模块10、解码模块20、第一处理模块31、第二处理模块32、第三处理模块33和渲染模块40。
所述接收模块10用于接收待解码视频包。
所述解码模块20用于对所述待解码视频包进行解码以获取待播放视频帧和待播放音频帧。
所述第一处理模块31用于根据所述待解码视频包的数量和所述直播用户端的上层传递的参数计算出第一音频帧播放速度。
所述第二处理模块32用于获取所述直播用户端中当前播放音频帧的播放速度,并判断所述当前播放音频帧的播放速度是否等于所述第一音频帧播放速度,若所述当前播放音频帧的播放速度不等于所述第一音频帧播放速度,则所述第二处理模块32将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致。
所述第三处理模块33用于获取所述当前播放音频帧的时间参数和所述直播用户端中当前播放视频帧的时间参数,并基于所述当前播放视频帧的时间参数和所述当前播放音频帧的时间参数计算出第一间隔时间。
所述渲染模块40用于等待所述第一间隔时间后对所述待播放视频帧进行渲染。
综上所述,本申请实施例提供的音视频直播追流方法及装置,通过对待解码视频包进行解码以获取待播放视频帧和待播放音频帧,根据待解码视频包的数量和直播用户端的上层传递的参数计算出第一音频帧播放速度。在当前播放音频帧的播放速度不等于第一音频帧播放速度时,则将当前播放音频帧的播放速度设置为与第一音频帧播放速度一致。再基于直播用户端中当前播放视频帧的时间参数和当前播放音频帧的时间参数计算出第一间隔时间,等待第一间隔时间后对待播放视频帧进行渲染,以实时改变当前播放音频帧的播放速度,实现直播追流,使得直播中的音视频流畅,从而给直播观看者以良好的观影感受。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,在本文中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (9)

1.一种音视频直播追流方法,应用于直播用户端,其特征在于,所述方法包括:
接收待解码视频包,对所述待解码视频包进行解码以获取待播放视频帧和待播放音频帧;
根据所述待解码视频包的数量和所述直播用户端的上层传递的参数计算出第一音频帧播放速度;
获取所述直播用户端中当前播放音频帧的播放速度;
判断所述当前播放音频帧的播放速度是否等于所述第一音频帧播放速度,若所述当前播放音频帧的播放速度不等于所述第一音频帧播放速度,则将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致;
获取所述直播用户端中的当前播放音频帧的时间参数和当前播放视频帧的时间参数,基于所述当前播放视频帧的时间参数和所述当前播放音频帧的时间参数计算出第一间隔时间;
等待所述第一间隔时间后对所述待播放视频帧进行渲染;
根据所述待解码视频包的数量和所述直播用户端的上层传递的参数计算出第一音频帧播放速度的步骤,包括:
获取所述直播用户端中上层传递的直播类型参数、速度调节系数和单位时间内实时传输的视频帧数,对所述待解码视频包的数量、所述单位时间内实时传输的视频帧数、所述直播类型参数和所述速度调节系数进行运算,获得音频修正率;
根据所述直播用户端存储的各音频修正率与各音频帧播放速度的映射关系,得到与所获得的音频修正率对应的音频速度作为第一音频帧播放速度。
2.根据权利要求1所述音视频直播追流方法,其特征在于,对所述待解码视频包的数量、所述单位时间内实时传输的视频帧数、所述直播类型参数和所述速度调节系数进行运算,获得音频修正率的步骤,包括:
采用第一函数对所述待解码视频包的数量、所述直播类型参数、所述单位时间内实时传输的视频帧数和所述速度调节系数进行运算,获得音频修正率;
所述第一函数为:
Figure 579764DEST_PATH_IMAGE001
其中,f为所述音频修正率,n为所述待解码视频包的数量,λ为所述速度调节系数,Fps为所述单位时间内实时传输的视频帧数,Type为所述直播类型参数。
3.根据权利要求1所述音视频直播追流方法,其特征在于,将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致的步骤,包括:
若采用重采样方式将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致,则改变对所述待播放音频帧采样的采样频率,以将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致;
若不采用重采样方式将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致,则采用所述直播用户端自带的系统调速方式将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致。
4.根据权利要求1所述音视频直播追流方法,其特征在于,获取所述直播用户端中的当前播放音频帧的时间参数和当前播放视频帧的时间参数,基于所述当前播放视频帧的时间参数和所述当前播放音频帧的时间参数计算出第一间隔时间的步骤,包括:
获取所述当前播放视频帧的第一时钟和所述直播用户端中当前播放音频帧的第二时钟,基于所述第一时钟和所述第二时钟计算出第一间隔时间。
5.根据权利要求4所述音视频直播追流方法,其特征在于,基于所述第一时钟和所述第二时钟计算出第一间隔时间的步骤,包括;
采用第二函数对所述单位时间内实时传输的视频帧数、所述第一时钟和所述第二时钟进行运算处理,计算出第一间隔时间;
所述第二函数为:
Figure 573128DEST_PATH_IMAGE002
其中,delay为所述第一间隔时间,Fps为所述单位时间内实时传输的视频帧数,t1为所述第一时钟,t2为所述第二时钟,diff为所述第一时钟t1和所述第二时钟t2的差值。
6.根据权利要求1所述音视频直播追流方法,其特征在于,在根据所述待解码视频包的数量和所述直播用户端的上层传递的参数计算出第一音频帧播放速度之前,所述方法还包括:
判断是否需要对所述待播放视频帧进行丢弃处理;
若不需要对所述待播放视频帧进行丢弃处理,则根据所述待解码视频包的数量和所述直播用户端的上层参数计算出第一音频帧播放速度;
若需要对所述待播放视频帧进行丢弃处理,则进行视频帧丢弃处理。
7.根据权利要求6所述音视频直播追流方法,其特征在于,进行视频帧丢弃处理的步骤,包括:
判断所述待播放视频帧的帧数是否大于1;
若解码后的视频包中所述待播放视频帧的帧数大于1,则获取所述待播放视频帧的时间戳和所述直播用户端中当前播放音频帧的时间戳,将所述待播放视频帧的时间戳落后于所述当前播放音频帧的时间戳的所述待播放视频帧丢弃;
若解码后的视频包中所述待播放视频帧的帧数不大于1,则结束丢弃所述待播放视频帧。
8.根据权利要求1所述音视频直播追流方法,其特征在于,等待所述第一间隔时间后对所述待播放视频帧进行渲染之后,所述方法还包括,播放渲染后的所述待播放视频帧。
9.一种音视频直播追流装置,其特征在于,应用于直播用户端,所述音视频直播追流装置包括接收模块、解码模块、第一处理模块、第二处理模块、第三处理模块和渲染模块;
所述接收模块用于接收待解码视频包;
所述解码模块用于对所述待解码视频包进行解码以获取待播放视频帧和待播放音频帧;
所述第一处理模块用于根据所述待解码视频包的数量和所述直播用户端的上层传递的参数计算出第一音频帧播放速度;
所述第二处理模块用于获取所述直播用户端中当前播放音频帧的播放速度,并判断所述当前播放音频帧的播放速度是否等于所述第一音频帧播放速度,若所述当前播放音频帧的播放速度不等于所述第一音频帧播放速度,则所述第二处理模块将所述当前播放音频帧的播放速度设置为与所述第一音频帧播放速度一致;
所述第三处理模块用于获取所述当前播放音频帧的时间参数和所述直播用户端中当前播放视频帧的时间参数,并基于所述当前播放视频帧的时间参数和所述当前播放音频帧的时间参数计算出第一间隔时间;
所述渲染模块用于等待所述第一间隔时间后对所述待播放视频帧进行渲染;
所述第一处理模块用于获取所述直播用户端中上层传递的直播类型参数、速度调节系数和单位时间内实时传输的视频帧数,对所述待解码视频包的数量、所述单位时间内实时传输的视频帧数、所述直播类型参数和所述速度调节系数进行运算,获得音频修正率;根据所述直播用户端存储的各音频修正率与各音频帧播放速度的映射关系,得到与所获得的音频修正率对应的音频速度作为第一音频帧播放速度。
CN201811303447.0A 2018-11-02 2018-11-02 音视频直播追流方法及装置 Expired - Fee Related CN109194975B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811303447.0A CN109194975B (zh) 2018-11-02 2018-11-02 音视频直播追流方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811303447.0A CN109194975B (zh) 2018-11-02 2018-11-02 音视频直播追流方法及装置

Publications (2)

Publication Number Publication Date
CN109194975A CN109194975A (zh) 2019-01-11
CN109194975B true CN109194975B (zh) 2021-04-20

Family

ID=64941814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811303447.0A Expired - Fee Related CN109194975B (zh) 2018-11-02 2018-11-02 音视频直播追流方法及装置

Country Status (1)

Country Link
CN (1) CN109194975B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704015B (zh) * 2019-09-29 2020-10-02 珠海格力电器股份有限公司 音频播放的调速方法、存储介质及电子设备
CN112752109B (zh) 2019-10-30 2022-05-17 上海哔哩哔哩科技有限公司 视频播放控制方法和系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394469A (zh) * 2008-10-29 2009-03-25 北京创毅视讯科技有限公司 一种音视频同步方法、装置及一种数字电视芯片
CN101662676A (zh) * 2009-09-30 2010-03-03 四川长虹电器股份有限公司 流媒体缓冲的处理方法
CN102271280A (zh) * 2011-07-20 2011-12-07 宝利微电子系统控股公司 一种数字音视频变速播放的方法和装置
CN102665131A (zh) * 2012-04-27 2012-09-12 山东省计算中心 一种网络视频服务系统接收端的视频缓冲方法
CN103888813A (zh) * 2012-12-21 2014-06-25 北京计算机技术及应用研究所 一种音视频同步的实现方法及系统
CN104079955A (zh) * 2013-03-26 2014-10-01 华为技术有限公司 越顶ott直播的方法、装置及系统
CN105100876A (zh) * 2015-08-28 2015-11-25 北京奇艺世纪科技有限公司 一种流媒体的播放方法及装置
CN105376607A (zh) * 2015-10-29 2016-03-02 深圳云聚汇数码有限公司 一种网络抖动环境下的视频直播方法及装置
CN107396171A (zh) * 2017-07-24 2017-11-24 广州酷狗计算机科技有限公司 网络直播方法、装置和存储介质
CN107484009A (zh) * 2017-09-12 2017-12-15 上海脉淼信息科技有限公司 一种适用于网络直播的流媒体播放方法和装置
CN108259964A (zh) * 2018-01-23 2018-07-06 浙江国视科技有限公司 一种视频播放速率调整方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101473249B1 (ko) * 2012-10-30 2014-12-17 주식회사 케이티 콘텐츠 재생 속도 테이블 생성 서버, 디바이스 및 방법

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394469A (zh) * 2008-10-29 2009-03-25 北京创毅视讯科技有限公司 一种音视频同步方法、装置及一种数字电视芯片
CN101662676A (zh) * 2009-09-30 2010-03-03 四川长虹电器股份有限公司 流媒体缓冲的处理方法
CN102271280A (zh) * 2011-07-20 2011-12-07 宝利微电子系统控股公司 一种数字音视频变速播放的方法和装置
CN102665131A (zh) * 2012-04-27 2012-09-12 山东省计算中心 一种网络视频服务系统接收端的视频缓冲方法
CN103888813A (zh) * 2012-12-21 2014-06-25 北京计算机技术及应用研究所 一种音视频同步的实现方法及系统
CN104079955A (zh) * 2013-03-26 2014-10-01 华为技术有限公司 越顶ott直播的方法、装置及系统
CN105100876A (zh) * 2015-08-28 2015-11-25 北京奇艺世纪科技有限公司 一种流媒体的播放方法及装置
CN105376607A (zh) * 2015-10-29 2016-03-02 深圳云聚汇数码有限公司 一种网络抖动环境下的视频直播方法及装置
CN107396171A (zh) * 2017-07-24 2017-11-24 广州酷狗计算机科技有限公司 网络直播方法、装置和存储介质
CN107484009A (zh) * 2017-09-12 2017-12-15 上海脉淼信息科技有限公司 一种适用于网络直播的流媒体播放方法和装置
CN108259964A (zh) * 2018-01-23 2018-07-06 浙江国视科技有限公司 一种视频播放速率调整方法及系统

Also Published As

Publication number Publication date
CN109194975A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
US10049702B2 (en) Digital video recorder options for editing content
US20200107083A1 (en) Methods And Systems For Providing Content
US10638180B1 (en) Media timeline management
CN110858827B (zh) 启播加速方法、装置及计算机可读取存储介质
US10681104B1 (en) Handling media timeline offsets
CN112752109B (zh) 视频播放控制方法和系统
WO2013110042A1 (en) Social video network
CN106330912B (zh) 视频直播与双向通话融合的系统及方法
US10021433B1 (en) Video-production system with social-media features
CN110740386B (zh) 直播切换方法、装置及存储介质
EP3767958A1 (en) System and method for providing a customized manifest representing a video channel
CN109194975B (zh) 音视频直播追流方法及装置
US10200732B1 (en) Output-aligned avail blanking for video streams
CN108882010A (zh) 一种多屏播放的方法及系统
US11310554B2 (en) Processing video and audio streaming data
EP2341680A1 (en) Method and apparatus for adaptation of a multimedia content
CN111835988B (zh) 字幕的生成方法、服务器、终端设备及系统
US11777871B2 (en) Delivery of multimedia components according to user activity
KR102051985B1 (ko) 이질적인 네트워킹 환경들에서 미디어 렌더링의 동기화
CN104780389A (zh) 一种视频处理方法及装置
EP3362913A1 (en) Methods, systems, and media for media guidance
US10893331B1 (en) Subtitle processing for devices with limited memory
US11856242B1 (en) Synchronization of content during live video stream
EP3032766A1 (en) Method and device for generating personalized video programs
WO2022005618A1 (en) Processing video and audio streaming data

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210420

Termination date: 20211102