CN112399249A - 多媒体文件生成方法、装置、电子设备及存储介质 - Google Patents
多媒体文件生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112399249A CN112399249A CN202011272776.0A CN202011272776A CN112399249A CN 112399249 A CN112399249 A CN 112399249A CN 202011272776 A CN202011272776 A CN 202011272776A CN 112399249 A CN112399249 A CN 112399249A
- Authority
- CN
- China
- Prior art keywords
- data
- video
- video frame
- browser
- rendering
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000009877 rendering Methods 0.000 claims abstract description 128
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4782—Web browsing, e.g. WebTV
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供了一种多媒体文件生成方法、装置、电子设备及存储介质。多媒体文件生成方法包括:基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据;根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,视频帧图像中至少包括两个视频流数据对应的画面;基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据;将视频帧图像以及音频数据合并,生成多媒体文件。本申请提供的方案,无需显示视频流数据对应的图像、无需播放音频数据对应的声音,即可将多个视频流对应的视频窗口合并至一个视频帧图像中,并增加音频数据,从而生成可供用户直接转发的多媒体文件。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种多媒体文件生成方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的发展,各种互联网产品越来越多地出现在了人们的生活,例如直播等。由于直播能够给人们带来了实时且面对面的沟通体验,因此,越来越多的视频直播平台不断涌现,并在培训、社交等方面得到广泛的应用。
在进行直播后,部分用户会有转发来分享直播的需求。但是现有的直播中,一般会具有多个视频窗口,例如可以包括拍摄讲师的摄像头对应的视频窗口、展示课件对应的视频状况、聊天窗口等。在需要转发某个直播时,用户需要先通过录屏软件等,将直播过程的多个视频窗口重新录制,才能转发包括多个视频窗口的直播,转发过程较为繁琐,不便于用户操作。
发明内容
有鉴于此,本申请实施例提供多媒体文件生成方法、装置、电子设备及存储介质,用以克服现有技术的问题。
第一方面,本申请实施例提供了一种多媒体文件生成方法,包括:基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据;根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,所述视频帧图像中至少包括两个所述视频流数据对应的画面;基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据;将所述视频帧图像以及所述音频数据合并,生成多媒体文件。
可选地,在一种具体的实施方式中,所述浏览器视频组件和/或所述浏览器音频组件通过谷歌浏览器嵌入式框架CEF实现。
可选地,在一种具体的实施方式中,所述基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据,包括:通过继承CefAudioHandler类的OnAudioStreamPacket方法获取音频数据。
可选地,在一种具体的实施方式中,所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:根据预设的渲染参数,确定至少两个视频流数据分别对应的渲染范围,以及渲染至视频帧图像的渲染位置;根据至少两个视频流数据各自对应的渲染范围以及渲染位置,进行离屏渲染,获得渲染后的视频帧图像。
可选地,在一种具体的实施方式中,所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:调用安装有浏览器的终端设备的GUP,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像。
可选地,在一种具体的实施方式中,所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得RGB数据;将所述RGB数据转换为YUV数据,获得渲染后的视频帧图像。
可选地,在一种具体的实施方式中,所述将所述视频帧图像以及所述音频数据合并,生成多媒体文件,包括:将所述视频帧图像编码为具有预设码率的数据包;将所述音频数据转换为高级音频编码格式的音频文件;将所述数据包与所述高级音频编码格式的音频文件封装为流媒体数据。
可选地,在一种具体的实施方式中,根据权利要求7所述的方法,其特征在于,所述方法还包括:基于RTMP协议发送生成的流媒体数据。
一种多媒体文件生成装置,包括:视频数据获取模块,用于基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据;渲染模块,用于根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,所述视频帧图像中至少包括两个所述视频流数据对应的画面;音频数据获取模块,用于基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据;生成模块,用于将所述视频帧图像以及所述音频数据合并,生成多媒体文件。
第三方面,本申请实施例提供了一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可执行程序,所述处理器运行所述可执行程序时执行如上所述的方法对应的步骤。
第四方面,本申请实施例提供了一种存储介质,存储介质上存储有计算机程序,在处理器执行计算机程序时,实现如上所述的方法。
本申请实施例提供的方案,通过基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据;根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,所述视频帧图像中至少包括两个所述视频流数据对应的画面,由此,可以将一个页面中包括的多个视频流数据渲染至同一视频帧图像中,且无需占用终端的显示屏幕,不受显示器显示或者分辨率等的限制;基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据;将所述视频帧图像以及所述音频数据合并,生成多媒体文件,由此,无需显示视频流数据对应的图像、无需播放音频数据对应的声音,即可将多个视频流对应的视频窗口合并至一个视频帧图像中,并增加音频数据,从而生成可供用户直接转发的多媒体文件,同时用户还可以通过屏幕进行其他操作;此外,本申请提供的方案,通过离屏渲染的方式获得视频帧图像,还可以减少CPU使用率。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比值绘制的。附图中:
图1为本申请实施例提供的一种多媒体文件生成方法的流程图;
图2A为本申请实施例提供了又一种多媒体文件生成方法的流程图;
图2B为图2A对应的一种场景示意图;
图3为本申请实施例提供的一种多媒体文件生成装置的示意图;
图4为本申请实施例提供的一种电子设备的示意图。
具体实施方式
下面结合附图和实施例对本申请进行说明。
实施例一
请参阅图1,本申请实施例提供了一种多媒体文件生成方法,包括:
S101、基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据。
本实施例中,在获取到浏览器的页面数据后,可以通过内置的浏览器视频组件,根据页面数据中的视频链接获取到视频流数据。
具体的,一般的直播界面中,会存在多个视频窗口,每个视频窗口可以对应一个视频流。
S102、根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,所述视频帧图像中至少包括两个所述视频流数据对应的画面。
本实施例中,离屏渲染(Off-Screen Rendering)为在当前的屏幕缓冲区之外的其他缓冲区域进行渲染操作。离屏渲染的渲染结果不会呈现到当前的屏幕上。
通过根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,可以获得渲染后的视频帧图像。进行离屏渲染时,可以将至少两个视频流数据对应的画面同时进行渲染,使得视频帧图像中至少包括两个所述视频流数据对应的画面。由此,可以将直播时的至少两个视频窗口同时渲染到一个视频帧图像内。
具体进行离屏渲染时,可以根据视频流数据的播放时间进行渲染,以保证视频帧图像中多个画面的播放时间一致。
S103、基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据。
本实施例中,在获取到浏览器的页面数据后,可以基于内置的浏览器音频组件,根据页面数据获取到视频流数据。具体获取方法可参考相关技术,在此不再赘述。
S104、将所述视频帧图像以及所述音频数据合并,生成多媒体文件。
本步骤中,可以根据视频帧图像的播放时间,以及音频数据的播放时间,对视频帧图像和音频数据进行合并,从而生成多媒体文件。
本申请实施例提供的方案,通过基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据;根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,所述视频帧图像中至少包括两个所述视频流数据对应的画面,由此,可以将一个页面中包括的多个视频流数据渲染至同一视频帧图像中,且无需占用终端的显示屏幕,不受显示器显示或者分辨率等的限制;基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据;将所述视频帧图像以及所述音频数据合并,生成多媒体文件,由此,无需显示视频流数据对应的图像、无需播放音频数据对应的声音,即可将多个视频流对应的视频窗口合并至一个视频帧图像中,并增加音频数据,从而生成可供用户直接转发的多媒体文件,同时用户还可以通过屏幕进行其他操作;此外,本申请提供的方案,通过离屏渲染的方式获得视频帧图像,还可以减少CPU使用率。
请参阅图2A,本申请实施例提供了另一种多媒体文件生成方法,包括:
S201、基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据。
可选地,本实施例中,所述浏览器视频组件和/或所述浏览器音频组件通过谷歌浏览器嵌入式框架CEF实现。
谷歌浏览器嵌入式框架Chromium Embedded Framework(CEF)是个基于GoogleChromium的开源框架,支持Window、Linux、Mac等平台。本实施例中,通过谷歌浏览器嵌入式框架CEF可以实现在客户端中内置浏览器视频组件和/或所述浏览器音频组件。
S202、根据预设的渲染参数,确定至少两个视频流数据分别对应的渲染范围,以及渲染至视频帧图像的渲染位置。
具体地,视频流数据对应的渲染范围,可以包括渲染视频流数据对应的整个视频窗口或者渲染视频窗口的一部分。
视频流数据渲染至视频帧图像的渲染位置,可以为视频流数据渲染后的画面在视频帧图像中的位置。
此外,渲染参数还可以包括以下至少之一:渲染背景、渲染时间范围、渲染水印等,本实施例对此不进行限定。
渲染背景可以为视频帧图像的背景,在渲染背景的基础上,叠加视频流数据对应的画面,得到最终的视频帧图像。
渲染时间范围可以为渲染的视频流数据的播放时间范围,例如,视频流数据对应的视频时长为50分钟,则渲染时间范围可以为10分钟-35分钟。
渲染水印可以为用于防盗的水印,具体水印的内容可参考相关技术,在此不再赘述。
本实施例中,至少两个视频流数据各自对应有渲染范围以及渲染位置。
S203、根据至少两个所述视频流数据各自对应的渲染范围以及渲染位置,进行离屏渲染,获得渲染后的视频帧图像。
由此,可以使得渲染后的视频帧图像中至少包括两个所述视频流数据对应的画面。
具体地,可以通过集成继承CefRenderHandler类,然后实现OnPaint方法进行离屏渲染,获得渲染后的视频帧图像。
通过根据渲染参数进行渲染,使得用户可以根据自身需求,调整或者设置渲染参数,从而使得渲染获得的视频帧图像更加符合用户的需求。
上述步骤S202以及步骤S203也可以通过内置的浏览器视频组件实现。
可选地,本申请实施例中,还可以调用安装有浏览器的终端设备的GUP,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像。
可选地,本申请实施例中,还可以通过OnPaint方法根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得RGB数据;将所述RGB数据转换为YUV数据,获得渲染后的视频帧图像,通过将RGB数据转换为YUV数据,更加便于压缩和存储。
具体的,如图2B所示,可以通过RGB2YUV转换器,将RGB数据转换为YUV数据。
S204、基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据。
可选地,本实施例中,内置的浏览器音频组件可以通过谷歌浏览器嵌入式框架CEF实现。
具体地,可以通过继承CefAudioHandler类的OnAudioStreamPacket方法获取音频数据。
具体的,参见图2B,音频数据可以为PCM数据,获取PCM数据后,可以将其重采样为目标格式的音频数据。目标格式可以为适合上传至CDN节点的格式等,本领域的技术人员可以根据需求确定,本实施例对此不进行限定。
S205、将所述视频帧图像以及所述音频数据合并,生成多媒体文件。
具体地,本实施例中,可以将所述视频帧图像编码为具有预设码率的数据包;将所述音频数据转换为高级音频编码格式的音频文件;将所述数据包与所述高级音频编码格式的音频文件封装为流媒体数据。由此,用户可以直接转发生成的流媒体数据。
具体地,可以基于RTMP协议发送生成的流媒体数据。可以将RTMP的流媒体数据通过libRTMP转发到媒体服务器,之后媒体服务器可以将这路RTMP的流媒体数据保存成媒体文件(Mp4、FLV等格式的媒体文件)、或转发到CDN、或直接转发给终端设备观看,本实施例对此不进行限定。
具体地,RTMP协议(Real Time Message Protocol,实时信息传输协议)是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题。
本申请另一实施例中,可以将生成的多媒体文件存储至终端本地。
另外,在实际使用时,可以提示用户设置渲染参数。确定用户设置完成后,基于内置的浏览器视频组件,获取页面数据中的至少两个视频流数据,并根据渲染参数根据至少两个视频流数据,获得至少包括两个视频流数据对应画面的视频帧图像。
示例的,当直播间包括三个视频窗口时,三个视频窗口分别用于展示摄像头采集的教师画面、教师正在讲解的课件、课堂内的消息,基于内置的浏览器视频组件,可以获得三个视频窗口对应的视频流数据,并根据至少三个视频流数据进行离屏渲染,获得视频帧图像,其中,教师画面可以位于视频帧图像中的右上方区域,课堂内的消息可以位于视频帧图像中的右下方区域,教师正在讲解的课件可以位于视频帧图像中的左侧区域。
同时,基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据,音频数据具体可以为教师讲解课件的音频数据。
将上述视频帧图像和音频数据进行合并,可以生成直播对应的多媒体文件。由此,用户可以直接转发多媒体文件,以分享直播内容。
实施例三
请参阅图3,本申请实施例提供一种多媒体文件生成装置,如图所示,所述装置包括:
视频数据获取模块301,用于基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据;
渲染模块302,用于根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,所述视频帧图像中至少包括两个所述视频流数据对应的画面;
音频数据获取模块303,用于基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据;
生成模块304,用于将所述视频帧图像以及所述音频数据合并,生成多媒体文件。
可选地,所述浏览器视频组件和/或所述浏览器音频组件通过谷歌浏览器嵌入式框架CEF实现。
可选地,所述基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据,包括:通过继承CefAudioHandler类的OnAudioStreamPacket方法获取音频数据。
可选地,所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:
根据预设的渲染参数,确定至少两个视频流数据分别对应的渲染范围,以及渲染至视频帧图像的渲染位置;
根据至少两个视频流数据各自对应的渲染范围以及渲染位置,进行离屏渲染,获得渲染后的视频帧图像。
可选地,所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:
调用安装有浏览器的终端设备的GUP,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像。
可选地,所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:
根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得RGB数据;
将所述RGB数据转换为YUV数据,获得渲染后的视频帧图像。
可选地,所述将所述视频帧图像以及所述音频数据合并,生成多媒体文件,包括:将所述视频帧图像编码为具有预设码率的数据包;将所述音频数据转换为高级音频编码格式的音频文件;
将所述数据包与所述高级音频编码格式的音频文件封装为流媒体数据。
可选地,所述方法还包括:基于RTMP协议发送生成的流媒体数据。
本申请实施例提供的方案,通过基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据;根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,所述视频帧图像中至少包括两个所述视频流数据对应的画面,由此,可以将一个页面中包括的多个视频流数据渲染至同一视频帧图像中,且无需占用终端的显示屏幕;基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据;将所述视频帧图像以及所述音频数据合并,生成多媒体文件,由此,无需显示视频流数据对应的图像、无需播放音频数据对应的声音,即可将多个视频流对应的视频窗口合并至一个视频帧图像中,并增加音频数据,从而生成可供用户直接转发的多媒体文件。
实施例四
请参阅图4,本申请实施例提供了一种电子设备40,包括存储器401和处理器402,存储器401上存储有可执行程序,处理器402运行可执行程序时执行如下步骤:
基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据;
根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,所述视频帧图像中至少包括两个所述视频流数据对应的画面;
基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据;
将所述视频帧图像以及所述音频数据合并,生成多媒体文件。
根据权利要求1所述的方法,其特征在于,所述浏览器视频组件和/或所述浏览器音频组件通过谷歌浏览器嵌入式框架CEF实现。
根据权利要求2所述的方法,其特征在于,所述基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据,包括:
通过继承CefAudioHandler类的OnAudioStreamPacket方法获取音频数据。
根据权利要求1所述的方法,其特征在于,
所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:
根据预设的渲染参数,确定至少两个视频流数据分别对应的渲染范围,以及渲染至视频帧图像的渲染位置;
根据至少两个视频流数据各自对应的渲染范围以及渲染位置,进行离屏渲染,获得渲染后的视频帧图像。
根据权利要求1所述的方法,其特征在于,所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:
调用安装有浏览器的终端设备的GUP,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像。
根据权利要求1所述的方法,其特征在于,所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:
根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得RGB数据;
将所述RGB数据转换为YUV数据,获得渲染后的视频帧图像。
根据权利要求1所述的方法,其特征在于,所述将所述视频帧图像以及所述音频数据合并,生成多媒体文件,包括:
将所述视频帧图像编码为具有预设码率的数据包;
将所述音频数据转换为高级音频编码格式的音频文件;
将所述数据包与所述高级音频编码格式的音频文件封装为流媒体数据。
根据权利要求7所述的方法,其特征在于,所述方法还包括:基于RTMP协议发送生成的流媒体数据。
本申请另一实施例提供了一种存储介质,存储介质上存储有计算机程序,在处理器执行计算机程序时,实现如实施例一任一项的方法。
本申请实施例的存储介质以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)其他具有数据交互功能的电子设备。
至此,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定事务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行事务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种多媒体文件生成方法,其特征在于,所述方法包括:
基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据;
根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,所述视频帧图像中至少包括两个所述视频流数据对应的画面;
基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据;
将所述视频帧图像以及所述音频数据合并,生成多媒体文件。
2.根据权利要求1所述的方法,其特征在于,所述浏览器视频组件和/或所述浏览器音频组件通过谷歌浏览器嵌入式框架CEF实现。
3.根据权利要求2所述的方法,其特征在于,所述基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据,包括:
通过继承CefAudioHandler类的OnAudioStreamPacket方法获取音频数据。
4.根据权利要求1所述的方法,其特征在于,
所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:
根据预设的渲染参数,确定至少两个视频流数据分别对应的渲染范围,以及渲染至视频帧图像的渲染位置;
根据至少两个视频流数据各自对应的渲染范围以及渲染位置,进行离屏渲染,获得渲染后的视频帧图像。
5.根据权利要求1所述的方法,其特征在于,所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:
调用安装有浏览器的终端设备的GUP,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像。
6.根据权利要求1所述的方法,其特征在于,所述根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,包括:
根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得RGB数据;
将所述RGB数据转换为YUV数据,获得渲染后的视频帧图像。
7.根据权利要求1所述的方法,其特征在于,所述将所述视频帧图像以及所述音频数据合并,生成多媒体文件,包括:
将所述视频帧图像编码为具有预设码率的数据包;
将所述音频数据转换为高级音频编码格式的音频文件;
将所述数据包与所述高级音频编码格式的音频文件封装为流媒体数据。
8.一种多媒体文件生成装置,其特征在于,所述装置包括:
视频数据获取模块,用于基于内置的浏览器视频组件,从浏览器的页面数据中提取出至少两个视频流数据;
渲染模块,用于根据预设的渲染参数,对至少两个视频流数据进行离屏渲染,获得渲染后的视频帧图像,所述视频帧图像中至少包括两个所述视频流数据对应的画面;
音频数据获取模块,用于基于内置的浏览器音频组件,从浏览器的页面数据中提取出音频数据;
生成模块,用于将所述视频帧图像以及所述音频数据合并,生成多媒体文件。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可执行程序,所述处理器运行所述可执行程序时执行如权利要求1-7任一项所述的方法对应的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,在处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011272776.0A CN112399249A (zh) | 2020-11-12 | 2020-11-12 | 多媒体文件生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011272776.0A CN112399249A (zh) | 2020-11-12 | 2020-11-12 | 多媒体文件生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112399249A true CN112399249A (zh) | 2021-02-23 |
Family
ID=74599921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011272776.0A Pending CN112399249A (zh) | 2020-11-12 | 2020-11-12 | 多媒体文件生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112399249A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873294A (zh) * | 2021-10-19 | 2021-12-31 | 深圳追一科技有限公司 | 视频处理方法、装置、计算机存储介质及电子设备 |
CN113905254A (zh) * | 2021-09-03 | 2022-01-07 | 前海人寿保险股份有限公司 | 视频合成方法、装置、系统与可读存储介质 |
CN113938619A (zh) * | 2021-10-28 | 2022-01-14 | 稿定(厦门)科技有限公司 | 一种基于浏览器的视频合成方法、系统、储存装置 |
CN115086717A (zh) * | 2022-06-01 | 2022-09-20 | 北京元意科技有限公司 | 一种音视频作品实时编辑渲染合成的方法和系统 |
CN115134658A (zh) * | 2022-05-27 | 2022-09-30 | 阿里巴巴云计算(北京)有限公司 | 视频处理方法、装置、设备及存储介质 |
CN116033185A (zh) * | 2022-12-30 | 2023-04-28 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种web页面的视频获取方法、存储介质和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107517402A (zh) * | 2016-06-16 | 2017-12-26 | 广州市动景计算机科技有限公司 | 客户端及浏览器直播视频的录制方法与装置 |
CN108235107A (zh) * | 2016-12-15 | 2018-06-29 | 广州市动景计算机科技有限公司 | 视频录制方法、装置及电子终端 |
CN109168076A (zh) * | 2018-11-02 | 2019-01-08 | 北京字节跳动网络技术有限公司 | 在线课程的录制方法、装置、服务器和介质 |
CN109309866A (zh) * | 2017-07-27 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 图像处理方法及装置、存储介质 |
CN111050101A (zh) * | 2019-11-20 | 2020-04-21 | 杭州米络星科技(集团)有限公司 | 一种基于cef离屏渲染技术的课件媒体混合录制方法 |
CN111355997A (zh) * | 2018-12-21 | 2020-06-30 | 北京字节跳动网络技术有限公司 | 视频文件的生成方法、装置、移动终端及存储介质 |
-
2020
- 2020-11-12 CN CN202011272776.0A patent/CN112399249A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107517402A (zh) * | 2016-06-16 | 2017-12-26 | 广州市动景计算机科技有限公司 | 客户端及浏览器直播视频的录制方法与装置 |
CN108235107A (zh) * | 2016-12-15 | 2018-06-29 | 广州市动景计算机科技有限公司 | 视频录制方法、装置及电子终端 |
CN109309866A (zh) * | 2017-07-27 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 图像处理方法及装置、存储介质 |
CN109168076A (zh) * | 2018-11-02 | 2019-01-08 | 北京字节跳动网络技术有限公司 | 在线课程的录制方法、装置、服务器和介质 |
CN111355997A (zh) * | 2018-12-21 | 2020-06-30 | 北京字节跳动网络技术有限公司 | 视频文件的生成方法、装置、移动终端及存储介质 |
CN111050101A (zh) * | 2019-11-20 | 2020-04-21 | 杭州米络星科技(集团)有限公司 | 一种基于cef离屏渲染技术的课件媒体混合录制方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113905254A (zh) * | 2021-09-03 | 2022-01-07 | 前海人寿保险股份有限公司 | 视频合成方法、装置、系统与可读存储介质 |
CN113905254B (zh) * | 2021-09-03 | 2024-03-29 | 前海人寿保险股份有限公司 | 视频合成方法、装置、系统与可读存储介质 |
CN113873294A (zh) * | 2021-10-19 | 2021-12-31 | 深圳追一科技有限公司 | 视频处理方法、装置、计算机存储介质及电子设备 |
CN113938619A (zh) * | 2021-10-28 | 2022-01-14 | 稿定(厦门)科技有限公司 | 一种基于浏览器的视频合成方法、系统、储存装置 |
CN115134658A (zh) * | 2022-05-27 | 2022-09-30 | 阿里巴巴云计算(北京)有限公司 | 视频处理方法、装置、设备及存储介质 |
CN115134658B (zh) * | 2022-05-27 | 2024-05-14 | 阿里巴巴云计算(北京)有限公司 | 视频处理方法、装置、设备及存储介质 |
CN115086717A (zh) * | 2022-06-01 | 2022-09-20 | 北京元意科技有限公司 | 一种音视频作品实时编辑渲染合成的方法和系统 |
CN116033185A (zh) * | 2022-12-30 | 2023-04-28 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种web页面的视频获取方法、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112399249A (zh) | 多媒体文件生成方法、装置、电子设备及存储介质 | |
CN109640188B (zh) | 视频预览方法、装置、电子设备及计算机可读存储介质 | |
CN115145529B (zh) | 语音控制设备的方法及电子设备 | |
CN107979763B (zh) | 一种虚拟现实设备生成视频、播放方法、装置及系统 | |
CN111625214B (zh) | 音频控制方法、装置、设备及存储介质 | |
CN111970571B (zh) | 视频制作方法、装置、设备及存储介质 | |
CN110070496B (zh) | 图像特效的生成方法、装置和硬件装置 | |
CN111899322A (zh) | 视频处理方法、动画渲染sdk和设备及计算机存储介质 | |
KR101580237B1 (ko) | 4d 컨텐츠 제작 서비스 제공 방법 및 시스템, 이를 위한 컨텐츠 제작 장치 | |
CN113055681B (zh) | 视频解码显示方法,装置,电子设备及存储介质 | |
CN103997687A (zh) | 用于向视频增加交互特征的技术 | |
CN111629222B (zh) | 一种视频处理方法、设备及存储介质 | |
US20210400330A1 (en) | Information interaction method and device, electronic apparatus, and computer readable storage medium | |
CN112637623A (zh) | 直播处理方法、装置及电子设备 | |
CN112492382B (zh) | 视频帧提取方法、装置、电子设备和存储介质 | |
CN113365010B (zh) | 音量调节方法、装置、设备、存储介质 | |
CN108769806B (zh) | 媒体内容的展示方法和装置 | |
CN107071574A (zh) | 智能电视页面跳转方法 | |
CN110647780A (zh) | 一种数据处理方法、系统 | |
JP2023525091A (ja) | 画像特殊効果の設定方法、画像識別方法、装置および電子機器 | |
CN112306603A (zh) | 信息提示方法、装置、电子设备及存储介质 | |
US10271109B1 (en) | Verbal queries relative to video content | |
KR20160131827A (ko) | 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
CN111367598B (zh) | 动作指令的处理方法、装置、电子设备及计算机可读存储介质 | |
CN111787257B (zh) | 一种视频录制方法、装置、电子设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210223 |