CN109525852A - 直播视频流处理方法、装置、系统及计算机可读存储介质 - Google Patents

直播视频流处理方法、装置、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN109525852A
CN109525852A CN201811400924.5A CN201811400924A CN109525852A CN 109525852 A CN109525852 A CN 109525852A CN 201811400924 A CN201811400924 A CN 201811400924A CN 109525852 A CN109525852 A CN 109525852A
Authority
CN
China
Prior art keywords
destination multimedia
live video
video stream
data
multimedia data
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
CN201811400924.5A
Other languages
English (en)
Other versions
CN109525852B (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201811400924.5A priority Critical patent/CN109525852B/zh
Publication of CN109525852A publication Critical patent/CN109525852A/zh
Application granted granted Critical
Publication of CN109525852B publication Critical patent/CN109525852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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/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
    • H04N21/440236Processing 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 by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text

Landscapes

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

Abstract

本发明提供了一种直播视频流处理方法、装置、系统及计算机可读存储介质,属于网络技术领域。其中,发送端响应于多媒体插入指令,会获取目标多媒体数据,根据目标多媒体数据向直播视频流中视频帧的指定位置插入目标多媒体信息,最后对插入后的直播视频流进行编码,并发送给接收端,接收端可以对直播视频流进行解码播放。其中,该目标多媒体信息用于唯一表示目标多媒体数据,该指定位置为非数据体位置,本发明实施例中,由于不用将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,进而就不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。

Description

直播视频流处理方法、装置、系统及计算机可读存储介质
技术领域
本发明属于网络技术领域,特别是涉及一种直播视频流处理方法、装置、系统及计算机可读存储介质。
背景技术
随着网络技术的不断提升,网络直播逐渐成为一种主流的内容传播途径。为了丰富直播内容,以及直观表达观点和态度,主播往往会通过发送端向直播视频流中增加其他多媒体,例如,增加动画、图片或者音频,等等。然后对增加了多媒体的直播视频流编码,并发送给接收端,接收端对该增加了多媒体的直播视频流进行解码及渲染,即可使观众看到增加了多媒体的直播画面。
现有技术中,在需要向直播视频流中增加其他多媒体时,通常是由发送端先展示目标多媒体,然后在采集直播视频流的同时,采集目标多媒体的画面,使得显示有目标多媒体的画面对应的数据被写入直播视频流中视频帧的数据体中,进而实现将其作为直播视频流中的一部分内容,与直播视频流合成为一体,相应地,接收端对直播视频流进行播放时,显示的直播画面中可以呈现出增加的目标多媒体。
但是,受到直播场景的限制,直播视频流的每秒传输的帧数(FPS)值往往比较低,而为了保证目标多媒体能够与直播视频流正常合成,需要将目标多媒体的FPS值调整为与直播视频流的FPS值相适配的值,进而会降低直播画面中呈现出的目标多媒体的显示质量。
发明内容
本发明提供一种直播视频流处理方法、装置、系统及计算机可读存储介质,以便解决直播画面中呈现出的目标多媒体的显示质量较低的问题。
依据本发明的第一方面,提供了一种直播视频流处理方法,应用于包括发送端和接收端的系统,所述方法包括:
所述发送端响应于多媒体插入指令,获取目标多媒体数据;
所述发送端根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息;所述指定位置为非数据体位置,所述目标多媒体数据至少包括图片、动画及音频中的一种或多种;
所述发送端对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端;
所述接收端对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息;
所述接收端基于所述目标多媒体信息获取目标多媒体数据;
所述接收端对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
依据本发明的第二方面,提供了一种直播视频流处理方法,应用于发送端,所述方法包括:
响应于多媒体插入指令,获取目标多媒体数据;
根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息;所述指定位置为非数据体位置,所述目标多媒体数据至少包括图片、动画及音频中的一种或多种;
对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端。
可选的,所述根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息,包括:
在所述目标多媒体数据的数据量不大于所述指定位置的最大数据量时,将所述目标多媒体数据作为目标多媒体信息,或,对所述目标多媒体数据进行序列化,得到目标多媒体信息;
将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
可选的,所述根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息,包括:
在所述目标多媒体数据的数据量大于所述指定位置的最大数据量时,将所述目标多媒体数据存储至预设存储区域,并将所述目标多媒体数据的存储地址确定为目标多媒体信息;
将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
可选的,所述将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置,包括:
将接收到多媒体插入指令的时刻作为触发时刻,获取在所述触发时刻获取的直播视频流中的关键帧;
将所述目标多媒体信息插入所述关键帧的头部。
可选的,所述对所述目标多媒体数据进行序列化,得到目标多媒体信息,包括:
将所述目标多媒体数据转化为目标二进制字符串,得到目标多媒体信息。
可选的,所述目标多媒体数据为目标动画;
所述将所述目标多媒体数据转化为目标二进制字符串,包括:
将所述目标动画中包括的图片转化为第一二进制字符串;
将所述目标动画中包括的动画描述文件转化为第二二进制字符串;所述动画描述文件中定义目标动画中包括的每个图片的移动路径;
对所述第一二进制字符串与所述第二二进制字符串进行拼接,得到所述目标二进制字符串。
依据本发明的第三方面,提供了一种直播视频流处理方法,应用于接收端,所述方法包括:
接收发送端发送的直播视频流;
对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息;
基于所述目标多媒体信息获取目标多媒体数据;
对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
可选的,所述基于所述目标多媒体信息获取目标多媒体数据,包括:
在所述目标多媒体信息为目标多媒体数据时,将所述目标多媒体信息作为目标多媒体数据;或者,
在所述目标多媒体信息为目标二进制字符串时,将所述目标二进制字符串转化为目标多媒体数据;或者,
在所述目标多媒体信息为目标多媒体数据的存储地址时,从所述存储地址获取所述目标多媒体数据。
依据本发明的第四方面,提供了一种直播视频流处理系统,所述系统包括发送端和接收端;
所述发送端,用于响应于多媒体插入指令,获取目标多媒体数据;
所述发送端,用于根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息;所述指定位置为非数据体位置,所述目标多媒体数据至少包括图片、动画及音频中的一种或多种;
所述发送端,用于对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端;
所述接收端,用于对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息;
所述接收端,用于基于所述目标多媒体信息获取目标多媒体数据;
所述接收端,用于对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
依据本发明的第五方面,提供了一种直播视频流处理装置,应用于发送端,所述装置包括:
第一获取模块,用于响应于多媒体插入指令,获取目标多媒体数据;
插入模块,用于根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息;所述指定位置为非数据体位置,所述目标多媒体数据至少包括图片、动画及音频中的一种或多种;
发送模块,用于对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端。
可选的,所述插入模块,包括:
第一确定子模块,用于在所述目标多媒体数据的数据量不大于所述指定位置的最大数据量时,将所述目标多媒体数据作为目标多媒体信息,或,对所述目标多媒体数据进行序列化,得到目标多媒体信息;
第一插入子模块,用于将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
可选的,所述插入模块,包括:
第二确定子模块,用于在所述目标多媒体数据的数据量大于所述指定位置的最大数据量时,将所述目标多媒体数据存储至预设存储区域,并将所述目标多媒体数据的存储地址确定为目标多媒体信息;
第二插入子模块,用于将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
可选的,所述第二插入子模块,用于:
将接收到多媒体插入指令的时刻作为触发时刻,获取在所述触发时刻获取的直播视频流中的关键帧;
将所述目标多媒体信息插入所述关键帧的头部。
可选的,所述第一确定子模块,包括:
转化单元,用于将所述目标多媒体数据转化为目标二进制字符串,得到目标多媒体信息。
可选的,所述目标多媒体数据为目标动画;
所述转化单元,用于:
将所述目标动画中包括的图片转化为第一二进制字符串;
将所述目标动画中包括的动画描述文件转化为第二二进制字符串;所述动画描述文件中定义目标动画中包括的每个图片的移动路径;
对所述第一二进制字符串与所述第二二进制字符串进行拼接,得到所述目标二进制字符串。
依据本发明的第六方面,提供了一种直播视频流处理装置,应用于接收端,所述装置包括:
接收模块,用于接收发送端发送的直播视频流;
提取模块,用于对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息;
第二获取模块,用于基于所述目标多媒体信息获取目标多媒体数据;
播放模块,用于对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
可选的,所述第二获取模块,用于:
在所述目标多媒体信息为目标多媒体数据时,将所述目标多媒体信息作为目标多媒体数据;或者,
在所述目标多媒体信息为目标多媒体数据对应的目标二进制字符串时,将所述目标二进制字符串转化为目标多媒体数据;或者,
在所述目标多媒体信息为目标多媒体数据的存储地址时,从所述存储地址获取所述目标多媒体数据。
依据本发明的第七方面,提供了一种计算机可读存储介质,,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面、第二方面以及第三方面所述的直播视频流处理方法。
针对在先技术,本发明具备如下优点:
发送端响应于多媒体插入指令,会获取目标多媒体数据,然后,根据目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息,最后,对插入后的直播视频流进行编码,并发送给接收端,接收端可以对直播视频流进行解码,并从解码后的直播视频流中视频帧的指定位置提取目标多媒体信息,基于目标多媒体信息获取目标多媒体数据,最后对直播视频流进行渲染播放,并在对直播视频流中携带目标多媒体信息的视频帧进行渲染时,对目标多媒体数据进行渲染。其中,该目标多媒体信息用于唯一表示目标多媒体数据,该指定位置为非数据体位置,本发明实施例中,在将目标多媒体数据和直播视频流传输至接收端时,是将目标多媒体信息设置在直播视频流的非数据体位置进行传输的,由于不用将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,进而就不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例提供的一种直播视频流处理方法的步骤流程图;
图2是本发明实施例提供的另一种直播视频流处理方法的步骤流程图;
图3是本发明实施例提供的又一种直播视频流处理方法的步骤流程图;
图4-1是本发明实施例提供的再一种直播视频流处理方法的步骤流程图;
图4-2是本发明实施例提供的一种直播视频流处理方法的应用示意图
图5是本发明实施例提供的一种直播视频流处理系统的框图;
图6是本发明实施例提供的一种直播视频流处理装置的框图;
图7是本发明实施例提供的另一种直播视频流处理装置的框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例给出一种直播视频流处理方法,该直播视频流处理方法应用于包含发送端以及接收端的系统,其中,发送端可以将目标多媒体数据插入直播视频流中视频帧的指定位置,该指定位置可以为视频帧的非数据体位置。进一步地,直播视频流中的视频帧一般由数据体与非数据体组成,其中,数据体位置往往用于存储要传输的实际的数据,非数据体位置一般用于设置校验位、IP地址、类型等等,并不涉及传输的数据内容。
具体的,在向直播视频流中插入目标多媒体时,如果是将展示的目标多媒体作为直播视频的一部分进行采集,并将目标多媒体信息与直播数据流作为一个数据流写入数据体位置,就需要将目标多媒体的FPS值与直播视频流的FPS值调整为相适配的值,以保证两者共同被写进数据体的操作能够正常执行,而本发明实施例中,通过直接将目标多媒体插入非数据体位置,这样,由于无需将目标多媒体信息与直播数据流合成为同一数据流写入数据体位置,因此,就不用将目标多媒体的FPS值与直播视频流的FPS值调整为相适配的值,进而可以保证目标多媒体的显示质量。
下面对上述提到的直播视频流处理方法进行具体描述。
图1是本发明实施例提供的一种直播视频流处理方法的步骤流程图,应用于包括发送端和接收端的系统,如图1所示,该方法可以包括:
步骤101、所述发送端响应于多媒体插入指令,获取目标多媒体数据。
本发明实施例中,该多媒体插入指令可以是发送端用户通过触发发送端的多媒体插入功能向发送端发送的,示例的,该多媒体插入功能可以通过按钮触发,例如,可以在发送端的显示界面上显示多媒体插入按钮,其中,不同的多媒体插入按钮可以关联不同的多媒体数据的标识,进一步地,发送端用户可以通过点击多媒体插入按钮实现触发发送端的多媒体插入功能,进而实现向发送端发送多媒体插入指令,其中,发送的该多媒体插入指令中可以携带有用户触发的多媒体插入按钮所指示的多媒体数据的标识。相应地,发送端在接收到该多媒体插入指令之后,可以将该多媒体插入指令中携带的多媒体数据的标识对应的多媒体数据,确定为目标多媒体数据,并获取该目标多媒体数据,其中,该目标多媒体数据可以是发送端中预先存储的多媒体数据,也可以是从网络中下载的,该发送端可以是安装在终端、手机、计算机、平板电脑等电子设备上的用于进行直播的客户端。本发明实施例对此不作限定。
步骤102、所述发送端根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息。
本发明实施例中,该目标多媒体数据至少可以包括图片、动画及音频中的一种或多种,该目标多媒体信息可以是用于唯一表示目标多媒体数据的信息,即,根据该目标多媒体信息可以唯一确定出目标多媒体数据。示例的,该目标多媒体信息可以是目标多媒体数据本身,也可以是序列化之后的目标多媒体数据,或者是,唯一存储着目标多媒体数据的存储地址,等等,本发明实施例对此不作限定。
进一步地,该指定位置可以是视频帧的非数据体位置,一般,视频帧的数据体位置会携带该视频帧的具体内容对应的数据,如果将目标多媒体数据作为直播视频流的一部分,插入该直播视频流中视频帧的数据体位置,就需要根据直播视频流的FPS值对目标多媒体数据的FPS进行调整,进而会导致目标多媒体的显示质量降低,因此,本步骤中,通过将目标多媒体数据对应的目标多媒体信息插入直播视频流中视频帧的非数据体位置,使得目标多媒体数据能够与直播视频流一起传输至接收端的同时,可以省略对目标多媒体数据的FPS进行调整的操作,进而保证目标多媒体的显示质量。
步骤103、所述发送端对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端。
本发明实施例中,发送端可以对插入后的直播视频流进行编码,在完成编码之后,可以将直播视频流通过预设服务器发送给接收端,其中,该预设服务器可以是内容分发网络(Content Delivery Network,CDN)服务器,其中,CDN服务器能够根据网络流量和各节点的连接、负载状况以及到接收端的距离和响应时间等综合信息,将直播视频流导向离接收端最近的服务节点上,因此,发送端可以先将直播视频流发送给预设服务器,然后由预设服务器将直播视频流发送给接收端,以此来提高将直播视频流发送给接收端的效率。进一步地,由于本步骤中并未将目标多媒体信息作为直播视频流的一部分,与直播视频流一起写入视频帧的数据体中,因此,接收端可以从该直播视频流中提取出目标多媒体信息,进而可以基于提取出的目标多媒体信息显示目标多媒体,以及基于直播视频流中的信息显示直播视频流对应的画面。
步骤104、所述接收端对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息。
本发明实施例中,该指定位置可以为非数据体位置,该直播视频流可以是发送端通过预设服务器发送的,相应地,接收端可以通过预设服务器接收直播视频流,然后进行解码,并从解码后的直播视频流中提取目标多媒体信息。示例的,接收端可以先向预设服务器发送一直播视频流请求,相应地,预设服务器可以根据该直播视频流请求将发送端发送的直播视频流发送给接收端。其中,该接收端可以是安装在终端、手机、计算机、平板电脑等电子设备上的用于观看直播的客户端,该预设服务器可以是CDN服务器,其中,CDN服务器能够根据网络流量和各节点的连接、负载状况以及到接收端的距离和响应时间等综合信息,将插入后的直播视频流导向离接收端最近的服务节点上,因此,发送端通过将直播视频流先发送给预设服务器,然后由预设服务器发送给接收端,可以提高直播视频流的发送效率。。
步骤105、所述接收端基于所述目标多媒体信息获取目标多媒体数据。
本发明实施例中,该目标多媒体信息可以是用于唯一表示目标多媒体数据的信息,即,根据该目标多媒体信息可以唯一确定出目标多媒体数据。示例的,该目标多媒体信息可以是目标多媒体数据本身,也可以是序列化之后的目标多媒体数据,或者是,唯一存储着目标多媒体数据的存储地址,等等,相应地,接收端可以根据目标多媒体信息的具体形式获取对目标多媒体进行数据。
步骤106、所述接收端对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
本发明实施例中,接收端在对直播视频流进行渲染播放的同时,可以在对直播视频流中携带目标多媒体信息的视频帧进行渲染的时候,对目标多媒体数据进行渲染,以保证两者能够同步播放显示,进而实现目标多媒体与直播视频流中发送端用户想要插入目标多媒体的内容同步播放,保证目标多媒体播放的同步性。
综上所述,本发明实施例提供的直播视频流处理方法,发送端响应于多媒体插入指令,会获取目标多媒体数据,然后,发送端可以根据目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息,最后,对插入后的直播视频流进行编码,并发送给接收端,接收端可以对直播视频流进行解码,并从解码后的直播视频流中视频帧的指定位置提取目标多媒体信息,基于目标多媒体信息获取目标多媒体数据,最后对直播视频流进行渲染播放,并在对直播视频流中携带目标多媒体信息的视频帧进行渲染时,对目标多媒体数据进行渲染。其中,该目标多媒体信息用于唯一表示目标多媒体数据,该指定位置为非数据体位置,本发明实施例中,在将目标多媒体数据和直播视频流传输至接收端时,是将目标多媒体信息设置在直播视频流的非数据体位置进行传输的,由于不用将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,进而就不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。
图2是本发明实施例提供的另一种直播视频流处理方法的步骤流程图,应用于发送端,如图2所示,该方法可以包括:
步骤201、响应于多媒体插入指令,获取目标多媒体数据。
具体的,本步骤的实现方式可以参照上述步骤101,本发明实施例在此不做赘述。
步骤202、根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息。
具体的,本步骤的实现方式可以参照上述步骤102,本发明实施例在此不做赘述。
步骤203、对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端。
具体的,本步骤的实现方式可以参照上述步骤103,本发明实施例在此不做赘述。
综上所述,本发明实施例提供的一种直播视频流处理方法,发送端响应于多媒体插入指令,会获取目标多媒体数据,然后,根据目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息,最后,对插入后的直播视频流进行编码,并发送给接收端,以使接收端根据该直播视频流,对目标多媒体数据及直播视频流进行播放。其中,该目标多媒体信息用于唯一表示目标多媒体数据,该指定位置为非数据体位置,本发明实施例中,在将目标多媒体数据和直播视频流传输至接收端时,是将目标多媒体信息设置在直播视频流的非数据体位置进行传输的,由于不用将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,进而就不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。
图3是本发明实施例提供的又一种直播视频流处理方法的步骤流程图,应用于接收端,如图3所示,该方法可以包括:
步骤301、接收发送端发送的直播视频流。
具体的,本步骤的实现方式可以参照上述步骤104,本发明实施例在此不做赘述。
步骤302、对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息。
具体的,本步骤的实现方式可以参照上述步骤104,本发明实施例在此不做赘述。
步骤303、基于所述目标多媒体信息获取目标多媒体数据。
具体的,本步骤的实现方式可以参照上述步骤105,本发明实施例在此不做赘述。
步骤304、对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
具体的,本步骤的实现方式可以参照上述步骤106,本发明实施例在此不做赘述。
综上所述,本发明实施例提供的又一种直播视频流处理方法,接收端可以接收并对接收到的直播视频流进行解码,然后,从解码后的直播视频流中视频帧的指定位置提取目标多媒体信息,接着,基于目标多媒体信息获取目标多媒体数据,最后对直播视频流进行渲染播放,并在对直播视频流中携带目标多媒体信息的视频帧进行渲染时,对目标多媒体数据进行渲染。其中,该目标多媒体信息用于唯一表示目标多媒体数据,该指定位置为非数据体位置,本发明实施例中,发送端在将目标多媒体数据和直播视频流传输至接收端时,是将目标多媒体信息设置在直播视频流的非数据体位置进行传输的,由于未将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,因此不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。
图4-1是本发明实施例提供的再一种直播视频流处理方法的步骤流程图,如图4-1所示,该方法可以包括:
步骤401、发送端响应于多媒体插入指令,获取目标多媒体数据。
具体的,本步骤的实现方法可以参考上述步骤101,本发明实施例在此不做赘述。
步骤402、发送端根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息。
实际应用中,在直播视频流中视频帧的指定位置插入较大的目标多媒体信息时,可能会导致在传输直播视频流的过程中出现错误,进而影响直播视频流的正常传输。因此,本步骤中,发送端可以通过下述实现方式一或者实现方式二来实现根据目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息:
实现方式一
子步骤(1):发送端在所述目标多媒体数据的数据量不大于所述指定位置的最大数据量时,将所述目标多媒体数据作为目标多媒体信息,或,对所述目标多媒体数据进行序列化,得到目标多媒体信息。
本步骤中,该目标多媒体数据可以动画、图片,音频,等等,该目标多媒体信息可以用于唯一表示所述目标多媒体数据,该指定位置可以为非数据体位置,该指定位置的最大数据量可以是不影响直播视频流的正常传输的情况下,所能插入的最大数据量,具体的,该最大数据量可以由开发人员通过实验预先测量得到。进一步地,发送端可以先通过读取目标多媒体数据的属性参数,确定目标多媒体数据的数据量,如果目标多媒体数据的数据量不大于指定位置的最大数据量,则可以认为将该目标多媒体数据插入指定位置,不会对直播视频流的正常传输造成影响,此时,可以将目标多媒体数据作为目标多媒体信息。
进一步地,为了提高后续步骤中,对插入后的直播视频流的传输效率,尽可能减少传输所耗费的流量,发送端也可以对目标多媒体数据进行序列化,将序列化后的目标多媒体数据确定为目标多媒体信息。具体的,可以将目标多媒体数据序列化为目标二进制字符串,并将目标二进制字符串确定为目标多媒体信息。其中,序列化是指将目标多媒体的状态信息转换为可以存储或传输的形式的过程,该序列化可以是基于C#(C sharp)语言中提供的二进制流的序列化操作实现的,一般,目标多媒体数据本质上都是带格式和编码的二进制字符串,本步骤中,可以对目标多媒体数据的原始二进制字符串执行二进制流的序列化操作,进而得到目标二进制字符串。当然,也可以将目标多媒体数据序列化为其他形式,例如,十进制字符串,等,进一步地,也可以采取其他手段对将目标多媒体数据进行处理来获取目标多媒体信息,以降低传输时所耗费的流量,例如,对目标多媒体数据进行压缩,等等。
以目标多媒体数据为目标动画为例,发送端可以将目标动画中包括的图片,转化为第一二进制字符串,将目标动画中包括的动画描述文件,序转化为第二二进制字符串,其中,该动画描述文件中定义目标动画中包括的每个图片的移动路径,最后,对第一二进制字符串及第二二进制字符串进行拼接,得到目标二进制字符串。其中,在对第一二进制字符串及第二二进制字符串进行拼接时,可以将第一二进制字符串放在前边进行拼接,也可以将第二二进制字符串放在前边进行拼接,本发明实施例对此不作限定。
子步骤(2):发送端将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
本步骤中,发送端可以先将接收到多媒体插入指令的时刻作为触发时刻,获取在触发时刻获取的直播视频流中的关键帧,然后,将目标多媒体信息插入关键帧的头部。具体的,由于该触发时刻是接收到多媒体插入指令的时刻,因此可以认为在该触发时刻获取到的直播视频流数据是发送端用户想要插入目标多媒体的直播视频流数据,这样,通过将目标多媒体信息插入在触发时刻获取的直播视频流中的关键帧,可以使得接收端进行播放时,能够使目标多媒体与直播视频流中发送端用户想要插入目标多媒体的内容同步播放,保证了目标多媒体播放的同步性。
进一步地,该关键帧也称为I帧,表示无需参考其他信息便可独立进行解码渲染的,由于关键帧携带全部信息的独立帧,可以保证直播视频流能够正常解码渲染,因此,关键帧在直播视频流的传输过程中往往具有最高的优先级,在发送端由于网络不稳定出现丢帧问题时,往往都是丢弃其他类型的视频帧,例如,前向预测编码帧,双向差别帧,等等,本发明实施例中,通过将目标多媒体信息插入直播视频流中的关键帧,可以避免由于网络不稳定,导致目标多媒体信息丢失的问题,进而保证了目标多媒体信息的完整性。
进一步地,由于当前直播视频流协议中规定了可以向视频帧的头部添加其他信息,因此,本步骤中将目标多媒体信息插入关键帧的头部,可以无需对直播视频流协议进行更改,最大程度的与直播视频流协议相适配,进而可以减小插入操作所需的成本,当然,实际应用中,也可通过对当前直播视频流协议进行修改,实现在任何类型帧的任何位置插入信息,本发明实施例对此不作限定。需要说明的是,为了防止插入的目标多媒体信息与指定位置原有的内容混淆,在向指定位置插入目标多媒体信息时,还可以将该目标多媒体信息的标识也插入指定位置,这样,后续步骤中,基于该目标多媒体信息的标识即可区别出目标多媒体信息,进而提高从指定位置提取目标多媒体信息的便捷度。
实现方式二
子步骤(1):发送端在所述目标多媒体数据的数据量大于所述指定位置的最大数据量时,将所述目标多媒体数据存储至预设存储区域,并将所述目标多媒体数据的存储地址确定为目标多媒体信息。
本步骤中,如果目标多媒体数据的数据量大于指定位置的最大数据量,则可以认为将该目标多媒体数据插入指定位置,会对直播视频流的正常传输造成影响,此时,发送端可以将目标多媒体数据存储至预设存储区域,将该目标多媒体数据的存储地址确定为目标多媒体信息。其中,该预设存储区域可以是根据实际需求选取的,示例的,在发送端通过预设服务器将直播视频流发送给接收端时,该预设存储区域可以为该预设服务器中的存储区域,这样,由于接收端是从预设服务器接收直播视频流,会与预设服务器产生交互,因此将目标多媒体数据存储在预设服务器,可以方便接收端获取,提高接收端的获取效率。
子步骤(2):发送端将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
具体的,本步骤的实现方式可以参考上述实现方式一中的子步骤(2),本发明实施例在此不做赘述。进一步地,在实现方式二中,发送端通过在目标多媒体数据的数据量大于指定位置的最大数据量时,将目标多媒体数据的存储地址确定为目标多媒体信息,将目标多媒体信息插入直播视频流中关键帧的指定位置,避免了对直播视频流的正常传输造成影响,保证了直播视频流能够正常传输。
步骤403、发送端对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端。
具体的,本步骤的实现方式可以参考上述步骤103,本发明实施例在此不做赘述。
步骤404、接收端接收发送端发送的直播视频流。
具体的,本步骤的实现方式可以参考上述步骤104,本发明实施例在此不做赘述。
步骤405、接收端对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息。
具体的,本步骤的实现方式可以参考上述步骤104,本发明实施例在此不做赘述。
步骤406、接收端基于所述目标多媒体信息获取目标多媒体数据。
本步骤中,该目标多媒体信息可以为目标多媒体数据本身,也可能为序列化之后的目标多媒体信息,即,目标多媒体数据对应的目标二进制字符串,也可能为目标多媒体数据的存储地址,因此,接收端可以先对目标多媒体信息的类型进行检测,若检测到该目标多媒体信息为多媒体类型,则可以确定目标多媒体信息即为目标多媒体数据,相应地,接收端可以将该目标多媒体信息确定为目标多媒体数据,进一步地,若检测到该目标多媒体信息为字符串类型,则可以确定目标多媒体信息为序列化之后的目标多媒体数据,例如,为目标二进制字符串,相应地,接收端可以将该目标二进制字符串反序列化为目标多媒体数据,具体的,该反序列化可以是基于C#语言中提供的二进制流的反序列化操作实现的,进一步地,若检测到该目标多媒体信息为地址类型,则可以确定目标多媒体信息为目标多媒体数据的存储地址,相应地,接收端可以从该存储地址获取目标多媒体数据。
步骤407、对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
本步骤中,接收端通过在对直播视频流中携带目标多媒体信息的视频帧进行渲染时,对目标多媒体数据进行渲染,这样,通过同时渲染,可以保证两者能够同步播放显示,进而实现目标多媒体与直播视频流中发送端用户想要插入目标多媒体的内容同步播放,保证目标多媒体播放的同步性。进一步地,现有技术中由于将目标多媒体数据作为直播视频流的一部分,与直播视频流一起写入数据体中,这样,接收端播放时目标多媒体数据的显示界面只能局限于直播视频流的显示窗口中,而本发明实施例中,目标多媒体数据与直播视频流为独立的两种数据,因此,接收端可以根据实际需求,控制目标多媒体数据的显示界面显示在直播视频流的显示窗口之中或之外,提高了目标多媒体数据的显示灵活性。
进一步地,图4-2是本发明实施例提供的一种直播视频流处理方法的应用示意图,如图4-2所示,以目标多媒体数据为动画信息为例,发送端可以利用序列化模块对动画信息进行序列化,得到目标二进制字符串,利用摄像头采集直播视频流,然后利用HEADER植入模块将目标二进制字符串插入直播视频流中关键帧的头部,最后利用编码模块对插入后的直播视频流进行编码,在完成编码操作之后,可以利用直播云服务器将编码后的直播视频流发送给接收端,接收端可以利用解码模块,可以先对接收到的直播视频流进行解码,然后利用抽取HEADER信息模块,从解码后的直播视频流中视关键帧的头部提取目标多媒体信息,利用反序列化模块将目标多媒体信息转化为目标多媒体数据,最后,利用直播视频流展示模块对直播视频流进行渲染播放,且在对直播视频流中携带目标多媒体信息的视频帧进行渲染时,利用动画展示模块对目标多媒体数据进行渲染。
综上所述,本发明实施例提供的又一种直播视频流处理方法,发送端响应于多媒体插入指令,会获取目标多媒体数据,然后,发送端可以根据目标多媒体数据,向直播视频流中关键帧的头部插入目标多媒体信息,以避免由于网络不稳定,导致目标多媒体信息丢失的问题,进而保证了目标多媒体信息的完整性,最后,对插入后的直播视频流进行编码,并发送给接收端,接收端可以对该直播视频流进行解码,并从解码后的直播视频流中关键帧的头部提取目标多媒体信息,基于目标多媒体信息获取目标多媒体数据,最后对直播视频流进行渲染播放,并在对直播视频流中携带目标多媒体信息的视频帧进行渲染时,对目标多媒体数据进行渲染。其中,该目标多媒体信息用于唯一表示目标多媒体数据,该指定位置为非数据体位置,本发明实施例中,在将目标多媒体数据和直播视频流传输至接收端时,是将目标多媒体信息设置在直播视频流的非数据体位置进行传输的,由于不用将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,进而就不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。
图5是本发明实施例提供的一种直播视频流处理系统的框图,如图5所示,该系统50可以包括发送端501和接收端502;
所述发送端,用于响应于多媒体插入指令,获取目标多媒体数据;所述目标多媒体数据至少包括图片、动画及音频中的一种或多种;
所述发送端,用于根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息;所述指定位置为非数据体位置;
所述发送端,用于对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端;
所述接收端,用于对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息;
所述接收端,用于基于所述目标多媒体信息获取目标多媒体数据;
所述接收端,用于对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
综上所述,本发明实施例提供的直播视频流处理系统,发送端响应于多媒体插入指令,会获取目标多媒体数据,然后,发送端可以根据目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息,最后,对插入后的直播视频流进行编码,并发送给接收端,接收端可以对直播视频流进行解码,并从解码后的直播视频流中视频帧的指定位置提取目标多媒体信息,基于目标多媒体信息获取目标多媒体数据,最后对直播视频流进行渲染播放,并在对直播视频流中携带目标多媒体信息的视频帧进行渲染时,对目标多媒体数据进行渲染。其中,该目标多媒体信息用于唯一表示目标多媒体数据,该指定位置为非数据体位置,本发明实施例中,在将目标多媒体数据和直播视频流传输至接收端时,是将目标多媒体信息设置在直播视频流的非数据体位置进行传输的,由于不用将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,进而就不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。
图6是本发明实施例提供的一种直播视频流处理装置的框图,如图6所示,该装置60可以包括:
第一获取模块601,用于响应于多媒体插入指令,获取目标多媒体数据;所述目标多媒体数据至少包括图片、动画及音频中的一种或多种。
插入模块602,用于根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息;所述指定位置为非数据体位置。
发送模块603,用于对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端。
综上所述,本发明实施例提供的一种直播视频流处理装置,第一获取模块响应于多媒体插入指令,会获取目标多媒体数据,然后,插入模块会根据目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息,最后,发送模块会对插入后的直播视频流进行编码,并发送给接收端,以使接收端根据该直播视频流,对目标多媒体数据及直播视频流进行播放。其中,该目标多媒体信息用于唯一表示目标多媒体数据,该指定位置为非数据体位置,本发明实施例中,在将目标多媒体数据和直播视频流传输至接收端时,是将目标多媒体信息设置在直播视频流的非数据体位置进行传输的,由于不用将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,进而就不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。
可选的,所述插入模块602,包括:
第一确定子模块,用于在所述目标多媒体数据的数据量不大于所述指定位置的最大数据量时,将所述目标多媒体数据作为目标多媒体信息,或,对所述目标多媒体数据进行序列化,得到目标多媒体信息。
第一插入子模块,用于将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
可选的,所述插入模块602,包括:
第二确定子模块,用于在所述目标多媒体数据的数据量大于所述指定位置的最大数据量时,将所述目标多媒体数据存储至预设存储区域,并将所述目标多媒体数据的存储地址确定为目标多媒体信息。
第二插入子模块,用于将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
可选的,所述第二插入子模块,用于:
将接收到多媒体插入指令的时刻作为触发时刻,获取在所述触发时刻获取的直播视频流中的关键帧。
将所述目标多媒体信息插入所述关键帧的头部。
可选的,所述第一确定子模块,包括:
转化单元,用于将所述目标多媒体数据转化为目标二进制字符串,得到目标多媒体信息。
可选的,所述目标多媒体数据为目标动画。
所述转化单元,用于:
将所述目标动画中包括的图片转化为第一二进制字符串。
将所述目标动画中包括的动画描述文件转化为第二二进制字符串;所述动画描述文件中定义目标动画中包括的每个图片的移动路径。
对所述第一二进制字符串与所述第二二进制字符串进行拼接,得到所述目标二进制字符串。
综上所述,本发明实施例提供的一种直播视频流处理装置,第一获取模块响应于多媒体插入指令,会获取目标多媒体数据,然后,插入模块可以根据目标多媒体数据,向直播视频流中关键帧的头部插入目标多媒体信息,以避免由于网络不稳定,导致目标多媒体信息丢失的问题,进而保证了目标多媒体信息的完整性,最后,发送模块可以对插入后的直播视频流进行编码,并发送给接收端。其中,该目标多媒体信息用于唯一表示目标多媒体数据,该指定位置为非数据体位置,本发明实施例中,在将目标多媒体数据和直播视频流传输至接收端时,是将目标多媒体信息设置在直播视频流的非数据体位置进行传输的,由于不用将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,进而就不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。
图7是本发明实施例提供的另一种直播视频流处理装置的框图,如图7所示,该装置70可以包括:
接收模块701,用于接收发送端发送的直播视频流。
提取模块702,用于对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息。
第二获取模块703用于基于所述目标多媒体信息获取目标多媒体数据。
播放模块704,用于对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
综上所述,本发明实施例提供的一种直播视频流处理装置,接收模块可以接收直播视频流,提取模块可以对接收到的直播视频流进行解码,并从解码后的直播视频流中视频帧的指定位置提取目标多媒体信息,接着,第二获取模块可以基于目标多媒体信息获取目标多媒体数据,最后播放模块可以对直播视频流进行渲染播放,并在对直播视频流中携带目标多媒体信息的视频帧进行渲染时,对目标多媒体数据进行渲染。其中,该目标多媒体信息用于唯一表示目标多媒体数据,该指定位置为非数据体位置,本发明实施例中,发送端在将目标多媒体数据和直播视频流传输至接收端时,是将目标多媒体信息设置在直播视频流的非数据体位置进行传输的,由于未将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,因此不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。
可选的,所述第二获取模块703,用于:
在所述目标多媒体信息为目标多媒体数据时,将所述目标多媒体信息作为目标多媒体数据;或者,
在所述目标多媒体信息为目标多媒体数据对应的目标二进制字符串时,将所述目标二进制字符串转化为目标多媒体数据;或者,
在所述目标多媒体信息为目标多媒体数据的存储地址时,从所述存储地址获取所述目标多媒体数据。
综上所述,本发明实施例提供的一种直播视频流处理装置,接收模块可以接收直播视频流,提取模块可以对接收到的直播视频流进行解码,并从解码后的直播视频流中视频帧的指定位置提取目标多媒体信息,接着,第二获取模块可以基于目标多媒体信息的不同形式来获取目标多媒体数据,最后播放模块可以对直播视频流进行渲染播放,并在对直播视频流中携带目标多媒体信息的视频帧进行渲染时,对目标多媒体数据进行渲染。其中,该指定位置为非数据体位置,本发明实施例中,发送端在将目标多媒体数据和直播视频流传输至接收端时,是将目标多媒体信息设置在直播视频流的非数据体位置进行传输的,由于未将目标多媒体作为直播视频流的一部分,写入直播视频流中视频帧的数据体,因此不用根据直播视频流的FPS值对目标多媒体的FPS值进行调整,进而可以避免降低目标多媒体的显示质量。
对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供一种终端,包括处理器,存储器,存储在存储器上并可在处理上运行的计算机程序,该计算机程序被处理器执行时实现上述直播视频流处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述直播视频流处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的直播视频流处理方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求此在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的直播视频流处理方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (19)

1.一种直播视频流处理方法,其特征在于,应用于包括发送端和接收端的系统,所述方法包括:
所述发送端响应于多媒体插入指令,获取目标多媒体数据;
所述发送端根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息;所述指定位置为非数据体位置,所述目标多媒体数据至少包括图片、动画及音频中的一种或多种;
所述发送端对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端;
所述接收端对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息;
所述接收端基于所述目标多媒体信息获取目标多媒体数据;
所述接收端对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
2.一种直播视频流处理方法,其特征在于,应用于发送端,所述方法包括:
响应于多媒体插入指令,获取目标多媒体数据;
根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息;所述指定位置为非数据体位置,所述目标多媒体数据至少包括图片、动画及音频中的一种或多种;
对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息,包括:
在所述目标多媒体数据的数据量不大于所述指定位置的最大数据量时,将所述目标多媒体数据作为目标多媒体信息,或,对所述目标多媒体数据进行序列化,得到目标多媒体信息;
将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
4.根据权利要求2所述的方法,其特征在于,所述根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息,包括:
在所述目标多媒体数据的数据量大于所述指定位置的最大数据量时,将所述目标多媒体数据存储至预设存储区域,并将所述目标多媒体数据的存储地址确定为目标多媒体信息;
将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
5.根据权利要求3或4所述的方法,其特征在于,所述将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置,包括:
将接收到多媒体插入指令的时刻作为触发时刻,获取在所述触发时刻获取的直播视频流中的关键帧;
将所述目标多媒体信息插入所述关键帧的头部。
6.根据权利要求3所述的方法,其特征在于,所述对所述目标多媒体数据进行序列化,得到目标多媒体信息,包括:
将所述目标多媒体数据转化为目标二进制字符串,得到目标多媒体信息。
7.根据权利要求6所述的方法,其特征在于,所述目标多媒体数据为目标动画;
所述将所述目标多媒体数据转化为目标二进制字符串,包括:
将所述目标动画中包括的图片转化为第一二进制字符串;
将所述目标动画中包括的动画描述文件转化为第二二进制字符串;所述动画描述文件中定义目标动画中包括的每个图片的移动路径;
对所述第一二进制字符串与所述第二二进制字符串进行拼接,得到所述目标二进制字符串。
8.一种直播视频流处理方法,其特征在于,应用于接收端,所述方法包括:
接收发送端发送的直播视频流;
对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息;
基于所述目标多媒体信息获取目标多媒体数据;
对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
9.根据权利要求8所述的方法,其特征在于,所述基于所述目标多媒体信息获取目标多媒体数据,包括:
在所述目标多媒体信息为目标多媒体数据时,将所述目标多媒体信息作为目标多媒体数据;或者,
在所述目标多媒体信息为目标二进制字符串时,将所述目标二进制字符串转化为目标多媒体数据;或者,
在所述目标多媒体信息为目标多媒体数据的存储地址时,从所述存储地址获取所述目标多媒体数据。
10.一种直播视频流处理系统,其特征在于,所述系统包括发送端和接收端;
所述发送端,用于响应于多媒体插入指令,获取目标多媒体数据;
所述发送端,用于根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息;所述指定位置为非数据体位置,所述目标多媒体数据至少包括图片、动画及音频中的一种或多种;
所述发送端,用于对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端;
所述接收端,用于对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息;
所述接收端,用于基于所述目标多媒体信息获取目标多媒体数据;
所述接收端,用于对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
11.一种直播视频流处理装置,其特征在于,应用于发送端,所述装置包括:
第一获取模块,用于响应于多媒体插入指令,获取目标多媒体数据;
插入模块,用于根据所述目标多媒体数据,向直播视频流中视频帧的指定位置插入目标多媒体信息;所述指定位置为非数据体位置,所述目标多媒体数据至少包括图片、动画及音频中的一种或多种;
发送模块,用于对插入后的所述直播视频流进行编码,并将编码后的所述直播视频流发送给接收端。
12.根据权利要求11所述的装置,其特征在于,所述插入模块,包括:
第一确定子模块,用于在所述目标多媒体数据的数据量不大于所述指定位置的最大数据量时,将所述目标多媒体数据作为目标多媒体信息,或,对所述目标多媒体数据进行序列化,得到目标多媒体信息;
第一插入子模块,用于将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
13.根据权利要求11所述的装置,其特征在于,所述插入模块,包括:
第二确定子模块,用于在所述目标多媒体数据的数据量大于所述指定位置的最大数据量时,将所述目标多媒体数据存储至预设存储区域,并将所述目标多媒体数据的存储地址确定为目标多媒体信息;
第二插入子模块,用于将所述目标多媒体信息插入所述直播视频流中关键帧的指定位置。
14.根据权利要求12或13所述的装置,其特征在于,所述第二插入子模块,用于:
将接收到多媒体插入指令的时刻作为触发时刻,获取在所述触发时刻获取的直播视频流中的关键帧;
将所述目标多媒体信息插入所述关键帧的头部。
15.根据权利要求12所述的装置,其特征在于,所述第一确定子模块,包括:
转化单元,用于将所述目标多媒体数据转化为目标二进制字符串,得到目标多媒体信息。
16.根据权利要求15所述的装置,其特征在于,所述目标多媒体数据为目标动画;
所述转化单元,用于:
将所述目标动画中包括的图片转化为第一二进制字符串;
将所述目标动画中包括的动画描述文件转化为第二二进制字符串;所述动画描述文件中定义目标动画中包括的每个图片的移动路径;
对所述第一二进制字符串与所述第二二进制字符串进行拼接,得到所述目标二进制字符串。
17.一种直播视频流处理装置,其特征在于,应用于接收端,所述装置包括:
接收模块,用于接收发送端发送的直播视频流;
提取模块,用于对所述直播视频流进行解码,并从解码后的所述直播视频流中视频帧的指定位置提取目标多媒体信息;
第二获取模块,用于基于所述目标多媒体信息获取目标多媒体数据;
播放模块,用于对所述直播视频流进行渲染播放,并在对所述直播视频流中携带所述目标多媒体信息的视频帧进行渲染时,对所述目标多媒体数据进行渲染。
18.根据权利要求17所述的装置,其特征在于,所述第二获取模块,用于:
在所述目标多媒体信息为目标多媒体数据时,将所述目标多媒体信息作为目标多媒体数据;或者,
在所述目标多媒体信息为目标多媒体数据对应的目标二进制字符串时,将所述目标二进制字符串转化为目标多媒体数据;或者,
在所述目标多媒体信息为目标多媒体数据的存储地址时,从所述存储地址获取所述目标多媒体数据。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一所述的直播视频流处理方法。
CN201811400924.5A 2018-11-22 2018-11-22 直播视频流处理方法、装置、系统及计算机可读存储介质 Active CN109525852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811400924.5A CN109525852B (zh) 2018-11-22 2018-11-22 直播视频流处理方法、装置、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811400924.5A CN109525852B (zh) 2018-11-22 2018-11-22 直播视频流处理方法、装置、系统及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109525852A true CN109525852A (zh) 2019-03-26
CN109525852B CN109525852B (zh) 2020-11-13

Family

ID=65777623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811400924.5A Active CN109525852B (zh) 2018-11-22 2018-11-22 直播视频流处理方法、装置、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109525852B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209842A (zh) * 2019-05-16 2019-09-06 腾讯科技(深圳)有限公司 多媒体文件的处理方法、装置、介质及电子设备
CN111726687A (zh) * 2020-06-30 2020-09-29 北京百度网讯科技有限公司 用于生成显示数据的方法和装置
CN112969093A (zh) * 2019-12-13 2021-06-15 腾讯科技(北京)有限公司 互动业务处理方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037826A2 (en) * 2000-11-01 2002-05-10 Webcast Technologies Inc Encoding and decoding of video signals
US20030059047A1 (en) * 2001-09-27 2003-03-27 Ryuichi Iwamura PC card recorder
CN1726679A (zh) * 2002-12-13 2006-01-25 思科技术公司 用于优化携带反向路由头部的消息的移动网络中的路由器布置
US20070216780A1 (en) * 2006-03-15 2007-09-20 Fujitsu Limited Video data saving device and video data saving method
CN102017616A (zh) * 2008-04-22 2011-04-13 三星电子株式会社 在移动/手持数字电视机信号中的封装数据包的头中发送附加信息
CN103369406A (zh) * 2012-03-29 2013-10-23 索尼公司 图像处理装置和图像处理方法
CN106921865A (zh) * 2017-05-11 2017-07-04 腾讯科技(深圳)有限公司 视频处理方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037826A2 (en) * 2000-11-01 2002-05-10 Webcast Technologies Inc Encoding and decoding of video signals
US20030059047A1 (en) * 2001-09-27 2003-03-27 Ryuichi Iwamura PC card recorder
CN1726679A (zh) * 2002-12-13 2006-01-25 思科技术公司 用于优化携带反向路由头部的消息的移动网络中的路由器布置
US20070216780A1 (en) * 2006-03-15 2007-09-20 Fujitsu Limited Video data saving device and video data saving method
CN102017616A (zh) * 2008-04-22 2011-04-13 三星电子株式会社 在移动/手持数字电视机信号中的封装数据包的头中发送附加信息
CN103369406A (zh) * 2012-03-29 2013-10-23 索尼公司 图像处理装置和图像处理方法
CN106921865A (zh) * 2017-05-11 2017-07-04 腾讯科技(深圳)有限公司 视频处理方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209842A (zh) * 2019-05-16 2019-09-06 腾讯科技(深圳)有限公司 多媒体文件的处理方法、装置、介质及电子设备
CN110209842B (zh) * 2019-05-16 2023-06-09 腾讯科技(深圳)有限公司 多媒体文件的处理方法、装置、介质及电子设备
CN112969093A (zh) * 2019-12-13 2021-06-15 腾讯科技(北京)有限公司 互动业务处理方法、装置、设备及存储介质
CN112969093B (zh) * 2019-12-13 2023-09-08 腾讯科技(北京)有限公司 互动业务处理方法、装置、设备及存储介质
CN111726687A (zh) * 2020-06-30 2020-09-29 北京百度网讯科技有限公司 用于生成显示数据的方法和装置

Also Published As

Publication number Publication date
CN109525852B (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN111131851B (zh) 游戏直播控制方法及装置、计算机存储介质、电子设备
CN107147942B (zh) 视频信号传输方法、设备、装置以及存储介质
CN109525852A (zh) 直播视频流处理方法、装置、系统及计算机可读存储介质
CN109309842B (zh) 直播数据处理方法和装置、计算机设备和存储介质
JP5512657B2 (ja) リッチメディアサービスのための端末のユーザインターフェース装置及び方法
CN106131550B (zh) 播放多媒体文件的方法及装置
CN106131591A (zh) 直播方法、装置及终端
CN109729369A (zh) 一种直播交互方法、系统、装置及计算机可读存储介质
CN113473106A (zh) 图像传输方法、图像显示及处理设备、及图像传输系统
KR102395590B1 (ko) 미디어 데이터의 송신 및 수신을 위한 방법 및 장치
CN110650350B (zh) 一种编码图像显示方法、装置和电子设备
US20080248782A1 (en) Providing Devices With Command Functionality in Content Streams
CN110113298A (zh) 数据传输方法、装置、信令服务器和计算机可读介质
CN111147354B (zh) 消息处理方法、装置、设备及存储介质
CN113453026B (zh) 视频数据处理方法、装置、电子设备及计算机存储介质
CN114116617A (zh) 点云媒体的数据处理方法、装置、设备及可读存储介质
CN108337529A (zh) 一种基于ios系统的视频直播中界面的交互方法及直播客户端
EP4294021A1 (en) Data processing method and apparatus, computer device and storage medium
CN113784094B (zh) 视频数据处理方法、网关、终端设备及存储介质
WO2022037423A1 (zh) 点云媒体的数据处理方法、装置、设备及介质
EP4338424A1 (en) Split rendering of extended reality data over 5g networks
CN108040260A (zh) C/s架构下高清全景视频的观看方法及系统、终端及服务器
CN111464878B (zh) 一种视频文字数据编码器、视频显示系统及方法
CN112423108B (zh) 码流的处理方法、装置、第一终端、第二终端及存储介质
EP3229478B1 (en) Cloud streaming service system, image cloud streaming service method using application code, and device therefor

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