CN110457624A - 视频生成方法、装置、服务器及存储介质 - Google Patents
视频生成方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN110457624A CN110457624A CN201910559629.2A CN201910559629A CN110457624A CN 110457624 A CN110457624 A CN 110457624A CN 201910559629 A CN201910559629 A CN 201910559629A CN 110457624 A CN110457624 A CN 110457624A
- Authority
- CN
- China
- Prior art keywords
- webpage
- web page
- content
- synthesized
- target
- 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 104
- 230000000694 effects Effects 0.000 claims abstract description 42
- 230000015572 biosynthetic process Effects 0.000 claims description 44
- 238000003786 synthesis reaction Methods 0.000 claims description 44
- 238000009877 rendering Methods 0.000 claims description 31
- 230000002194 synthesizing effect Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 8
- 230000004048 modification Effects 0.000 abstract description 4
- 238000012986 modification Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 55
- 230000000737 periodic effect Effects 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000001308 synthesis method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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
-
- 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/60—Network 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/63—Control 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/64—Addressing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例涉及视频处理领域,公开了一种视频生成方法、装置、服务器及存储介质。在本发明中,根据预设网页地址实时获取网页快照数据;在获取的网页快照数据中选取目标网页内容;将选取的目标网页内容与预先获取的输入视频进行合成,生成带有目标网页内容的输出视频,由于网页内容具有元素布局自由灵活、内容丰富、易于配置修改、表现力强等特点,将网页的文字、图片内容、页面元素、动画效果等合成到视频画面中,作为视频画面中的特效、视频画面的场景布局效果等,使得生成的视频画面更为灵活、生动,同时也使视频画面元素、布局、效果等易于配置和升级。
Description
技术领域
本发明实施例涉及视频处理领域,特别涉及一种视频生成方法、装置、服务器及存储介质。
背景技术
目前,越来越多的人在网络上以视频的形式获取信息,这些视频的画面生成过程通常是通过摄像机或者屏幕录制进行采集,然后将采集的视频通过网络输出,以供用户获取或观看,为了提高用户对视频的观看体验,可以在采集到的视频画面的基础上加上一些附加的元素如水印、文字等,再经过硬件或者软件的编码后进行传输。
发明人发现相关技术中至少存在如下问题:在采集到的视频画面的基础上增加一些附加的元素以增加画面效果,其画面的效果一般是预先就设定好的,特效较为简单且画面布局设置有限,无法灵活地实时地控制画面效果,也不利于视频画面元素、布局、效果等的配置、调整和升级。
发明内容
本发明实施方式的目的在于提供一种视频生成方法、装置、服务器及存储介质,使得生成的视频内容更加丰富,增加视频的表现力。
为解决上述技术问题,本发明的实施方式提供了一种视频生成方法,应用于服务器,包括:获取网页地址,根据网页地址实时获取网页快照数据;在获取的网页快照数据中选取目标网页内容;将选取的目标网页内容与预先获取的输入视频进行合成,生成带有目标网页内容的输出视频。
本发明的实施方式还提供了一种视频生成装置,包括:获取模块,选取模块,合成模块;获取模块用于根据获取的网页地址实时获取网页快照数据;选取模块用于在获取的网页快照数据中选取目标网页内容;合成模块用于将选取的目标网页内容与预先获取的输入视频进行合成,生成带有目标网页内容的输出视频。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述视频生成方法。
本发明的实施方式还提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述视频生成方法。
本发明实施方式相对于现有技术而言,根据网页地址实时获取网页快照数据,在获取的网页快照数据中挑选出与视频合成的目标网页内容,将目标网页内容与输入视频进行合成,由于网页内容具有元素布局自由灵活、内容丰富、易于配置修改和表现力强等特点,将网页的文字、图片内容、页面元素以及动画效果等合成到视频画面中,作为视频画面中的特效及视频画面的场景布局效果等,使得生成的视频画面更为灵活、生动,同时也使视频画面元素、布局以及效果等易于配置和升级。
另外,将选取的目标网页内容与预先获取的输入视频进行合成,具体包括:调整目标网页内容的各像素点及预先选取的待合成输入视频帧的各像素点的透明度;其中,待合成输入视频帧在输入视频中选取;将经透明度调整后的目标网页内容与待合成输入视频帧进行叠加。这样做可以通过每个像素点的融合使网页内容与待合成输入视频进行合并,从而实现将网页内容添加至输入视频中。
另外,叠加方式具体为:全画面叠加或指定区域叠加。这样做可以根据网页内容所需合成的位置,选择不同的合成方式。
另外,在根据获取网页快照数据之后,在选取目标网页内容之前,还包括:在预设的多个缓存模式中选择目标缓存模式;根据选择的目标缓存模式对获取的网页快照数据进行缓存;在获取的网页快照数据中选取目标网页内容,具体包括:在缓存的网页快照数据中选取目标网页内容。这样做可以根据获取的网页快照数据选择合适的缓存方式进行缓存,以适应不同类型的网页快照数据。
另外,在缓存的网页快照数据中选取目标网页内容,具体包括:对缓存的网页快照数据进行解码,得到网页帧;在网页帧中选取目标网页内容。将缓存的网页快照数据一次性转换为网页帧,减少了解码的次数;网页快照数据通过解码转换为网页帧,在多个网页帧中选取目标网页内容,更容易获取到目标网页内容。
另外,在缓存的网页快照数据中选取目标网页内容,具体包括:根据待合成输入视频帧的时间戳确定目标网页内容的时间戳;其中,待合成输入视频帧在输入视频中选取;根据确定的目标网页内容的时间戳在缓存的网页快照数据中选取待合成网页数据;对选取的待合成网页数据进行解码,得到目标网页内容。通过时间戳在缓存的多个网页快照数据中选取待合成的网页数据,并对待合成的网页数据进行解码,每次解码的待合成网页数据较少,并在解码后的待合成网页数据使用后释放,减少了解码后的数据所占用的内存。
另外,在得到待合成网页帧之后,在待合成网页帧中选取目标网页内容之前,还包括:将待合成网页帧的像素格式与输入视频的像素格式调整为一致的像素格式。这样做可以使获取的目标网页内容与输入视频帧的像素格式一致,从而实现在像素级别上对视频图像进行合成,使合成后的输出视频的画面效果更好。
另外,在选取目标网页内容之后,在将选取的目标网页内容与预先获取的输入视频进行合成之前,还包括:将目标网页内容的分辨率与输入视频的分辨率调整为一致的分辨率。分辨率即图像单位面积的像素点的个数,将目标网页内容与输入视频帧的分辨率调整一致,在目标网页内容与输入视频在合成过程中各像素点可以一一对应,更易于目标网页内容与输入视频的合成。
另外,根据网页地址实时获取网页快照数据,具体包括:根据网页地址渲染网页画面,并实时截取渲染的网页画面;获取截取的网页画面作为网页快照数据;在获取的网页快照数据的数量达到预设阈值时,停止对网页画面的渲染,并停止对渲染的网页画面的截取。这样做可以节省资源的消耗。
另外,实时截取渲染的网页画面,具体包括:在网页画面加载完成之后,实时截取加载完成的网页画面,以保证截取的网页快照数据为有效数据。
另外,实时获取的网页快照数据具体为:满足预设页面属性的网页快照数据;其中,页面属性至少包括以下任意之一或其任意组合:背景颜色,分辨率或交互模式。通过预先设置的页面属性调整获取的网页快照数据属性,使通过网页快照数据获取的目标网页内容更容易与输入视频进行合成。
另外,预设网页地址具体为模板地址;其中,模板地址对应网页模板画面;网页模板画面根据历史输出视频的布局方式及画面效果生成;网页快照数据具体为:网页模板画面的截图数据。将输出视频中除了采集到的输入画面以外的其它画面布局元素和效果抽离出来作为一个网页模板,将网页模板存储至因特网的同时获取到对应的模板地址,根据模板地址可以获得预存的网页模板的网页画面,获得具有历史输出视频的布局方式及画面效果的网页快照数据,从而可以实现将历史输出视频的布局方式及画面效果合并至目前待合成的输入视频中,从而可以在同一类型的视频中直接添加同一特效,简化了将网页内容合成至输入视频的过程,提高了合成的效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式中的视频生成方法的流程图;
图2是根据本发明第一实施方式中的获取网页快照数据的流程图;
图3是根据本发明第一实施方式中对浏览器的状态以及与浏览器的连接情况进行监控的流程图;
图4是根据本发明第二实施方式中的视频生成方法的流程图;
图5是根据本发明第三实施方式中的视频生成方法的流程图;
图6是根据本发明第三实施方式中的以单缓存模式获取待合成网页帧的流程图;
图7是根据本发明第三实施方式中的以第一种周期缓存模式获取待合成网页帧的流程图;
图8是根据本发明第三实施方式中的以第二种周期缓存模式获取待合成网页帧的流程图;
图9是根据本发明第四实施方式中的视频生成装置的结构示意图;
图10是根据本发明第四实施方式中的视频生成装置运行过程示意图;
图11是根据本发明第五实施方式中的服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种视频生成方法,根据预设网页地址实时获取网页快照数据;在获取的网页快照数据中选取目标网页内容;将选取的目标网页内容与预先获取的输入视频进行合成,生成带有目标网页内容的输出视频。服务器将摄像机拍摄、屏幕采集或者解码源视频等途径得到的输入视频与网页内容、元素的画面合成到一起,生成最终的输出视频画面,从而使生成的输出视频画面内容更加丰富,使输出的视频画面效果更加生动。下面对本实施方式的视频生成方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须,具体流程如图1所示。
步骤101,根据获取的网页地址实时获取网页快照数据。具体地说,服务器在需要将网页内容与输入视频进行合并时,获取网页地址,获取的网页地址可以是百度、优酷视频等互联网的网页地址,也可以是其他网页地址,比如模板网页地址,模板网页地址渲染出的网页帧中包含固定的特效、图片或文字,这些特效、图片或文字是合并过程中经常使用的,可以通过模板网页地址直接获取,从而节省了合并过成中排版所需的时间。该网页地址可以根据不同待合成输入视频帧所需合成的内容的不同进行更改。随着HTML5、JavaScript等技术的发展以及各种浏览器前端技术的不断出现,网页内容的呈现效果越来越好,且网页的内容更加丰富。服务器在获取网页内容以丰富视频画面时,可以通过网页地址查询到所需网页内容所在的网页,截取网页地址对应的网页,作为网页快照数据存储,以便后续在网页快照数据中选择所需网页内容。
在获取网页快照数据时,可以控制浏览器访问预设网页地址,控制浏览器渲染网页画面并获取网页快照数据。在控制浏览器访问预设网页地址时,所控制的浏览器需支持开发工具调试协议,比如谷歌浏览器的devtools协议等,服务器通过开发工具调试协议可以控制浏览器行为,并获得浏览器页面和网络等相关信息。
以下针对控制浏览器渲染网页画面并获取网页快照数据进行说明,其过程如图2所示。
步骤201,启动浏览器并与浏览器建立通信连接。具体地说,根据需要设置调试端口、安全选项等调试相关参数,启动浏览器进程,同时根据开发工具调试协议的通信协议,建立与浏览器的通信连接,从而实现向浏览器发送控制指令,控制浏览器的行为并且获得浏览器行为的相关信息。
步骤202,设置浏览器的页面属性。具体地说,为了将网页页面内容合成到输出视频中,需要设置浏览器页面的相关属性,所设置的页面属性主要包括分辨率、背景颜色信息和交互设置等,以保证网页快照数据满足预设的页面属性。在具体实施过程中,通常将浏览器页面的分辨率设置为和输出视频画面的分辨率相同,背景颜色可以设置为透明色,这样做使获得的网页快照数据,除文字、动画和输入框等网页页面元素外,网页背景部分是透明的,从而方便将获取的网页内容与输入视频进行合成,减少在合成之前对获取的网页截图的处理。另外,网页中的人机交互的相关的操作,可能会影响获取网页快照数据的质量,因此在具体实施过程中,可以设置禁止人机交互相关操作,例如禁止网页弹出对话框、网页不显示滚动条等。
步骤203,访问指定网址。具体地说,在将网页相关属性设置完成后,即可进行访问预设网页地址获取网页快照数据的操作,服务器根据预设的网页地址向浏览器发送访问指定网址的控制指令,浏览器在收到该控制指令后,将访问指定的网址。
步骤204,追踪和处理页面过程与网络过程。具体地说,在浏览器访问指定网页地址的同时,使用开发工具调试协议向浏览器发送追踪页面过程和网络过程的指令,并接收处理相应的页面过程和网络过程相关的信息。所述页面过程包括:页面的创建、页面开始加载、加载完成等过程和相关事件;所述网络过程包括:网络请求的开始、网络请求失败、网络请求成功、数据接收等过程和相关事件。通过追踪页面过程和网络过程,可以知道指定网页是否访问成功。
步骤205,判断页面是否访问成功,若判断结果为是,则进入步骤206;若判断结果为否,则返回步骤203。具体地说,如果访问失败,则可以进行一定次数的重试,如果重试多次后仍然失败,则反馈给外部错误信息并停止本过程。如果访问成功,那么可以在页面加载完成时进行页面截图操作,获取截图数据,并将截图数据作为网页快照数据保存,以保证截取的网页快照数据为有效数据。
步骤206,开启截图。具体地说,在追踪到页面访问成功且页面加载完成后,即可以向浏览器发送截图指令,获取浏览器返回的当前时刻的网页页面的截图,作为当前网页的快照数据。由于网页的画面内容可能是不断变化的,也可能在某段时间内没有变化,针对不同的画面内容,需要采用不同的截图方式,以便可以在获取网页快照数据的同时节省资源的消耗。
在网页的画面内容不断变化,比如网页可能包含动画、包含滚动的文字等时,可以定时地向浏览器发送截图指令,以获得最新的画面内容。定时的间隔可以根据待合成视频画面的帧率进行设置,比如待合成视频画面的帧率是每秒25帧时,那么一帧的持续时间就是1/25=0.04秒即40毫秒。意味着每隔40毫秒就会有一帧输入视频帧。因为我们需要将网页内容合成到输入视频中,而每隔40毫秒就有一个输入视频帧,那么每隔40毫秒同时也就需要一个网页帧。所以可以将间隔时间设置为40毫秒,从而实现待合成视频的每一帧都可以对应一个网页内容截图。如果网页画面内容在某段时间内没有变化时,可以在这段时间内只获取一次网页快照数据即可,可以通过开发工具调试协议向浏览器请求,设置当网页页面内容发生变化时,浏览器才主动返回新的画面截图数据。这样做无需设定一个间隔时间定时向浏览器发送截图指令,只需要向浏览器请求一次,即可使得当网页页面内容有变化时浏览器主动返回最新变化的网页页面内容的截图,避免截取重复的网页内容。
步骤207,接收截图数据并标记时间戳。具体地说,在向浏览器发送截图指令后,浏览器会在接下来的过程中返回网页页面的截图数据。由于网页一般是动态的,因此会不断地生成最新的网页页面截图数据,为了区分不同时刻的截图数据,需要对截图数据进行时间戳标记。若浏览器在返回网页页面截图数据的时候,同时返回浏览器渲染该截图数据对应的画面时刻的时间戳,则将接收到的浏览器传回的时间戳设置为该截图数据的时间戳。若浏览器返回网页页面截图数据时不附带对应的时间戳,则可以将收到浏览器返回该网页页面截图数据时刻的系统时间戳作为该截图数据的时间戳,将标记了时间戳的网页页面截图数据作为当前时刻的网页快照数据保存。
步骤208,输出快照数据。
另外,在启动浏览器后,对浏览器的状态以及与浏览器的连接情况进行监控。具体如图3所示。
步骤301,对浏览器状态和连接情况进行监控。
步骤302,判断浏览器是否异常结束,若判断结果为是,则进入步骤305后返回301;若判断结果为否,则进入步骤303。
步骤303,判断连接是否断开,若判断结果为是则进入步骤304;若判断结果为否,则返回步骤301。
步骤304,重新建立连接。
步骤305,启动浏览器并建立连接。
具体地说,在通过开发工具调试协议控制浏览器并获得网页页面截图数据的过程中,需要对浏览器进行监控并且对与浏览器的连接进行监控。如果浏览器正常运行但是监控到与浏览器的连接异常断开,则需要重新建立和浏览器的通信连接后,再继续原来的控制指令发送和响应接收操作。如果监控到浏览器异常结束,则需要重新启动浏览器,并再次检测浏览器的状态及与浏览器的连接情况。
在实际应用中,通过控制浏览器渲染网页并获取网页页面截图时,浏览器只需要渲染出网页内容,获得网页页面的截图数据,不需要将网页内容显示在屏幕中,因此可以设置浏览器为无图形界面模式,浏览器不会创建显示窗口,从而能够脱离图形界面的依赖,使上述获取网页快照数据的方放同样适用于没有图形界面环境的服务器端。另外,由于没有创建可见窗口,因此能够降低资源消耗。
再回到图1的相关说明,步骤102,在获取的网页快照数据中获取目标网页内容。具体地说,从网页快照数据中选择合成至输入视频的目标网页内容,该目标网页内容可以为解码后直接得到的网页帧,也可以是对解码后得到的网页帧进行处理后的网页帧,例如,对解码后得到的网页帧进行抠图处理,保留网页帧中的特效、文字以及图像等部分内容。将获取的网页快照数据中除目标网页内容外的其余网页内容丢弃,避免无效内容信息影响合成后的输出视频的视频表现效果。在网页快照数据中获取目标网页内容时,可以先将获取的网页快照数据进行解码,再从解码后得到的网页帧中选取目标网页内容。
步骤103,将选取的目标网页内容与预先获取的输入视频进行合成。具体地说,预先获取的输入视频可以是由摄像机拍摄、屏幕采集或者解码源视频等途径得到的视频。将上述获取的目标网页内容与输入视频进行合成,丰富输入视频的画面内容,增强视频的表现力。例如,目标网页内容可以是一种特效,一段文字或一张图片等,将获取的特效、文字或图片合并至输入视频的指定位置,经过合成操作后,最终的输出视频画面中同时包含了输入视频的内容以及设定的网址对应的网页页面的内容。由于在输入视频中合成的目标网页内容的数量可能为多个,每个合成的目标网页内容可以是不同的,也就是说,获取目标网页内容的网页地址可以在输入视频的播放过程中实时更改。例如,在输入视频的第2分钟需要合成第一个目标网页内容,第一个目标网页内容是从百度网页中获取的,在输入视频的第4分钟需要合成第二个目标网页内容,而第二个目标网页内容是从优酷视频网页中获取的,那么在输入视频播放的第2分钟,获取百度的网页地址,进而获取百度网页的网页快照数据,根据网页快照数据得到第一个目标网页内容,并将获取的第一个目标网页内容与输入视频的第2分钟的视频帧进行合并,这时用户观看的输出视频即为合并了第一个目标网页内容的输入视频。在视频播放至第4分钟时,获取优酷视频的网页地址,进而获取优酷网页的网页快照数据,根据网页快照数据得到第二个目标网页内容,将获取的第二个目标网页内容与输入视频的第4分钟的视频帧进行合并,这时用户观看的输出视频即为合并了第二个目标网页内容的输入视频。从输出视频画面中可以观看到输入视频画面叠加了这些网页特效效果,使得直播画面更为生动形象。
在实际应用中,输出视频可以为直播视频,也可以为用户点播的视频。若该输出视频为直播视频,则可以利用流媒体服务器,在直播过程对直播视频进行缓存,并在需要进行合成操作时获取目标网页内容,将目标网页内容与缓存的直播视频进行合成,最终将合成后的直播视频输出。若该输出视频为点播视频,则在服务器对点播视频转码过程中获取目标网页内容,并将目标网页内容与点播视频合成,最终将合成后的点播视频输出。
本发明实施方式相对于现有技术而言,根据网页地址实时获取网页快照数据,在获取的网页快照数据中挑选出与视频合成的目标网页内容,将目标网页内容与输入视频进行合成,由于网页内容具有元素布局自由灵活、内容丰富、易于配置修改以及表现力强等特点,将网页的文字、图片内容、页面元素或动画效果等合成到视频画面中,作为视频画面中的特效以及视频画面的场景布局效果等,使得生成的视频画面更为灵活、生动,同时也使视频画面元素、布局以及效果等易于配置和升级。
本发明的第二实施方式涉及一种视频生成方法。第二实施方式对第一实施方式进一步细化,细化之处在于:在本发明第二实施方式中,针对将目标网页内容与输入视频进行合成的方式进行具体说明,具体流程如图4所示。
步骤401,根据获取的网页地址实时获取网页快照数据。
步骤402,在获取的网页快照数据中选取目标网页内容。
步骤401、402分别与第一实施方式中步骤101、102一致,在此不再赘述。
步骤403,调整目标网页内容的各像素点及预先选择的待合成输入视频帧的各像素点的透明度。
步骤404,将经透明度调整后的目标网页内容与待合成输入视频帧进行叠加。
具体地说,在将目标网页内容与待合成输入视频帧合并时,可以将目标网页内容作为前景画面,待合成输入视频帧作为背景画面进行合成。也就是说如果在输出画面的某个区域中输入视频帧和待合成网页内容的画面内容有重叠,那么待合成网页内容的画面将会遮挡输入视频帧的画面,也可以理解为输入视频帧的画面在下方,待合成网页内容画面在上方。同样,在将目标网页内容与待合成输入视频帧合并时,还可以将目标网页内容作为背景画面,待合成输入视频帧作为前景画面进行合成,也就是说输入视频帧的画面在上方,待合成网页内容放在下方。
根据待合成网页内容在最终合成的输出画面中的大小,可以将合成方式分为全画面合成和区域合成。全画面合成是指,待合成网页内容在最终直播输出画面中的占用面积等于直播输出画面的面积,即待合成网页帧铺满整个直播输出画面;区域合成是指待合成网页帧在最终直播输出画面中的占用面积小于直播输出画面的面积,即待合成网页帧只占据直播输出画面的一部分区域。
在实际应用中,假设输出画面的分辨率为Wo*Ho,即直播输出画面的宽为Wo个像素、高为Ho个像素。一般而言,最终直播输出画面的分辨率大小和输入视频帧的分辨率大小一致。设待合成网页内容在直播输出画面中的位置为(p,q),大小为Ww*Hw,即待合成网页内容在输出视频画面中的宽为Ww个像素、高为Hw个像素,且待合成网页内容左上角像素点位于输出视频画面左上角像素点右侧p个像素点、下方q个像素点的距离。假设待合成网页内容中每个像素点的透明度归一化到[0,1]区间,其中透明度为0代表全透明,透明度为1代表完全不透明。使待合成网页内容和输入视频帧合成最终直播输出画面的步骤如下:
首先,对待合成的网页内容进行缩放。若合成方式为全画面合成,则在待合成的网页内容的分辨率大小与输出视频画面的分辨率大小不一致时,将待合成网页内容缩放到和输出视频画面一样的大小,即使得Ww=Wo,Hw=Ho;若合成方式为指定区域合成,则根据配置的区域大小,将待合成网页内容缩放到适配指定的区域大小。
其次,对待合成的网页内容和输入视频帧的各像素点的透明度进行调节,并将调节后的网页内容和输入视频帧的各像素点进行合成。在合成方式为全画面合成时,设最终合成的输出视频画面中的像素点为Outi,j,其中i和j分别为像素点在水平和竖直方向的位置索引,i代表像素点在水平方向上距离输出视频画面左上角像素点的偏移,j代表像素点在竖直方向上距离输出视频画面左上角像素点的偏移,0≤i<Wo且0≤j<Ho。最终的输出视频画面中的各像素点的像素值通过以下公式进行计算:
Outi,j=(1-αi,j)*Ini,j+αi,j*Webi,j,
其中,αi,j为缩放后的待合成网页内容中位置为(i,j)的像素点的透明度值。Ini,j为输入视频帧中位置为(i,j)的像素点的像素值,Webi,j为缩放后的待合成网页内容中位置为(i,j)的像素点的像素值。
特别的,当待合成网页内容每个像素的透明度只有全透明和完全不透明两种情况时,即αi,j的取值只有0和1两种情况时,输出视频画面中各像素点的像素值为
由上述公式可知,如果缩放后的待合成网页内容中某个像素点完全不透明,则直播输出画面中相应位置的像素点的像素值为缩放后的待合成网页内容中该像素点的像素值;如果缩放后的待合成网页内容中某个像素点完全透明,则输出视频画面中相应位置的像素点的像素值为输入视频帧中相应位置的像素点的像素值。如果待合成网页内容中全透明的像素点是对待合成网页内容中的背景颜色进行抠图得到的,或者是在使用浏览器渲染网页页面画面时,将网页的背景颜色设置为了透明色而得到的,那么最终输出视频画面中只有网页页面中的动画、元素等非背景部分保留了下来,叠加到了输入视频帧的上方。
另外,在合成方式为指定区域合成时,在最终合成的输出视频画面中,除了指定的缩放后的待合成网页内容所占据的区域,其它区域的像素点的值等于输入视频帧对应位置像素点的值。在指定的缩放后的待合成网页内容所占据的区域,采用和全画面合成类似的合成方法。最终的直播输出画面中各像素点的像素值为
区域S为输出视频画面中,指定的缩放后的待合成网页内容所占据的区域,即满足以下限制条件的区域:
p≤i<p+Ww且q≤j<q+Hw。
值得一提的是,以上实例为了对本发明实施方式的合成原理进行具体说明所做的假设,在实际生活中不限于上述合成方式,可以根据具体的需求,进行不同的合成方案。比如最终输出视频画面的分辨率也可以不等于输入视频帧的分辨率,此时需要对输入视频帧进行类似待合成网页内容的缩放;再比如也可以把输入视频帧作为前景画面,待合成网页内容作为背景画面;或者输入视频帧并不铺满整个输出视频画面,只占据最终输出视频画面的某个区域,此时需要将输入视频帧根据区域位置合成到指定区域内,无需铺满整个输出视频画面。
本发明的第三实施方式涉及一种视频生成方法。第三实施方式对第二实施方式进一步细化,细化之处在于:在本发明第三实施方式中对从网页快照数据中获取目标网页内容进行了具体说明,具体流程如图5所示。
步骤501,根据获取的网页地址实时获取网页快照数据。
步骤502,在预设的多个缓存模式中选择目标缓存模式。
步骤503,以目标缓存模式对网页快照数据进行缓存。
步骤504,对缓存的网页快照数据进行解码。
具体地说,预设的多个缓存模式至少包括:单缓存模式和周期缓存模式。使用不同的缓存模式进行缓存,对应不同的解码方式。以下对不同缓存模式进行具体说明:
在选择的目标缓存模式为单缓存模式时,只缓存最新的一个网页的网页快照数据,将这个最新的网页快照数据进行解码并进行必要的像素格式转换后得到的网页帧作为目标网页内容。具体过程如图6所示。
步骤601,接收网页快照数据。
步骤602,删除旧的网页快照数据。
步骤603,解码最新的网页快照数据。
步骤604,像素格式转换。
步骤605,输出待合成网页帧,即输出目标网页内容。
具体地说,当浏览器返回一个新的网页快照数据并进行时间戳标记后,清除掉旧的网页快照数据,并对新的网页快照数据进行解码并进行必要的像素格式转换后,作为新的待合成网页帧替换掉原来的待合成网页帧,从而保证最终合成出来的输出视频画面中包含的总是最新时刻的网页内容,在输出待合成网页帧之后,将待合成网页帧与输入视频中需要合成的视频帧进行合并,由于输入视频中需要合成的视频帧可能为多个视频帧,每个视频帧需要一个待合成网页帧与其进行合并,所以需要获取多个待合成网页帧,输出的多个待合成网页帧统称为目标网页内容。
在单缓存模式下,缓存的网页快照数据只有最新的一个网页的网页快照数据,合成到待合成输入视频画面中的目标网页内容总是最近获取到的网页内容。
在选择的目标缓存模式为周期缓存模式时,缓存一定时间戳范围内的网页快照数据后,停止网页的渲染过程,在完成一个周期的网页快照数据的缓存后,再从缓存的一个周期的网页快照数据中获取到目标网页内容。在具体实现中,可以通过以下两种方式从缓存的一个周期的网页快照数据中获取到目标网页内容,下面对在第一种周期缓存模式下获取到目标网页内容的过程进行具体说明,如图7所示。
步骤701,接收网页快照数据。
步骤702,缓存接收的网页快照数据。
步骤703,判断是否完成一个周期的网页快照数据的缓存,若判断结果为是,在进入步骤704;若判断结果为否,则进入步骤709。
步骤704,停止网页渲染。
步骤705,根据时间戳从缓存中选择网页快照数据。
步骤706,解码所选的网页快照数据。
步骤707,像素格式转换。
步骤708,输出待合成网页帧。在输出待合成网页帧之后,返回步骤705。
在判断未缓存一个周期的网页快照数据时,进入步骤709,解码最新的网页快照数据。
步骤710,像素格式转换。
步骤711,输出待合成网页帧。
具体地说,在缓存数据未达到一个周期时,则将最新缓存的网页快照数据进行解码及像素格式转换,从而得到待合成网页帧。这样做在缓存过程中也可以输出待合成网页帧,无需等待缓存数据满足一个周期,节省等待缓存的时间。
具体地说,在缓存一定时间戳范围内的网页快照数据后,停止网页的渲染过程,在缓存的一定时间戳范围内的网页快照数据中选择所需的网页快照数据,并对选择的所需的网页快照数据进行解码及像素格式的转换,最终生成并输出待合成网页帧。根据所需合成的输入视频帧选择网页快照数据,根据输入视频帧的时间戳决定所选择网页快照数据的时间戳。选择网页快照数据的规则具体如下:假设缓存的网页快照数据按照时间戳从小到大排列依次为WTS1,WTS2,……WTSn,时间戳为WTS1和WTSn的网页快照数据所对应的网页画面内容为相同的网页画面内容,代表一个周期的开始和结束,由此可知缓存的网页快照数据对应的网页画面持续时间T为T=WTSn-WTS1。假设开始将待合成网页帧合成到直播输出画面时,输入视频帧的时间戳为ITS1,那么当输入视频帧的时间戳为ITSk时,从缓存的网页快照中,按照时间戳从大到小的顺序寻找第一个满足时间戳小于或等于mod(ITSk-ITS1,T)+WTS1的网页快照,进行解码并进行必要的像素格式转换后,更新待合成网页帧,和输入视频帧一起合成最终的直播输出画面。上述mod代表广义的求余数操作,即对于两个正数x和y,mod(x,y)为一个大于或等于0且小于y的数使得存在一个非负整数p满足x=p*y+mod(x,y)。
下面对在第二种周期缓存模式下获取到目标网页内容的过程进行具体说明,如图8所示。
步骤801,接收网页快照数据。
步骤802,缓存接收的网页快照数据。
步骤803,判断是否完成一个周期的网页快照数据的缓存,若判断结果为是,在进入步骤804;若判断结果为否,则进入步骤809。
步骤804,停止网页渲染。
步骤805,解码所有缓存的网页快照数据。
步骤806,像素格式转换。
步骤807,根据时间戳从网页帧列表中选取待合成网页帧。
步骤808,输出待合成网页帧,在输出待合成网页帧之后返回步骤807。
具体地说,在第二种周期缓存模式下,一次性将所有缓存的网页快照数据解码,再对解码后的全部裸视频帧进行必要的像素格式转换后,形成一个网页帧列表,列表中每个网页帧的时间戳为对应的生成该网页帧的网页快照的时间戳,在网页帧列表中逐一挑选待合成网页帧。第二周期缓存模式较第一周期缓存模式而言,能够一次性解码完缓存的网页快照数据,在此后的过程中无需再次解码网页快照数据,只需要从网页帧列表中按照输入视频帧的时间戳选择待合成网页帧即可。可见,这种周期缓存模式的实施方式能够节省解码和格式转换所带来的计算资源消耗,但是由于解码后的网页帧会占据额外的内存空间,所以会增加内存资源的消耗。
在判断未缓存一个周期的网页快照数据时,进入步骤809,解码最新的网页快照数据。
步骤810,像素格式转换。
步骤811,输出待合成网页帧。
步骤809至811分别与第一周期缓存模式中步骤709至711一致,在此不再赘述。
综上所述,周期缓存模式一般应用于网页页面内容的变化是存在周期性的情况,此时可以将一个周期内的网页页面快照缓存下来后,停止网页内容渲染,在此后的过程中由这些缓存下来的一个周期内的网页快照数据中选择所需的快照数据进行解码和转换后作为待合成网页帧,或者将所有网页快照数据统一解码和像素格式转换后,从解码后的网页帧中选择待合成网页帧进行直播输出画面的合成。周期缓存模式相比单缓存模式能够在渲染出一个周期的网页快照数据后,停止网页渲染和网页页面截图操作,从而节省资源消耗,但是周期缓存模式适用的场景较为局限,单缓存模式适用范围较为广泛。在实际操作中可以根据实际情况的不同,选择不同的缓存模式对网页快照数据进行缓存及解码等操作。
回到图5的相关说明,步骤505,将待合成网页帧的像素格式与输入视频的像素格式调整一致。具体地说,当输入视频帧的像素格式和网页快照数据解码后的裸视频帧像素格式不一致时,需要将网页快照数据解码后的裸视频帧进行像素格式的转换,转换为和输入视频帧相同的像素格式后,在网页快照数据中获取目标网页内容。这样做可以使待合成的网页内容与待合成的输入视频帧能够在像素级别上对两者按照一定的合成模式进行合成操作。例如:输入的视频帧格式最为常见的是YUV420P格式,而网页快照数据是PNG图像,网页快照数据解码后的裸视频帧为RGB24格式。此时需要将RGB24格式的网页帧进行像素格式化转换,转换为YUV420P格式后,作为待合成网页帧,与输入视频帧一起合成最终直播输出画面。
另外,在获得待合成网页帧之后,可以通过对待合成网页帧进行抠图,得到目标网页内容。具体地说,如果网页页面的背景色不是透明色,则需要对待合成网页帧进行抠图处理。抠图处理可以预先设定一种或多种颜色(一般是背景颜色),如果待合成网页帧画面中某个像素点的颜色和设定颜色接近程度在一定范围内,则将该像素点设置为全透明。这样做可以保留待合成网页帧中有意义的页面元素所对应的画面部分,最终合成到输出视频画面中。
步骤506,调整目标网页内容的各像素点及待合成输入视频帧的各像素点的透明度。
步骤507,将经透明度调整后的目标网页内容与待合成输入视频帧进行叠加。
步骤506至507分别与第二实施方式中步骤403至404一致,在此不再赘述。
在合成输出视频之后,还可以将输出视频画面中除了采集到的输入画面以外的其它画面布局元素和效果抽离出来作为一个网页模板,使用上述方法获取网页模板的内容并将网页模板内容合成到直播视频画面中,例如,上述预设网页地址具体为模板地址,其中,模板地址对应网页模板画面,网页模板画面根据历史输出视频的布局方式及画面效果生成;根据模板地址获取的网页快照数据具体为网页模板画面的截图数据。这样做可以将预先设置好的画面效果添加至输入视频中,从而可以实现画面效果和布局方式的动态可配置,由于画面效果为预先设置好的,无需对获取的待合成网页画面进行位置及其他方面的调整,可以提高网页画面与输入视频的合成效率。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第四实施方式涉及一种视频生成装置,如图9所示,包括:获取模块91,选取模块92,合成模块93;获取模块91用于根据获取的网页地址实时获取网页快照数据;选取模块92用于在获取的网页快照数据中选取目标网页内容;合成模块93用于将选取的目标网页内容与预先获取的输入视频进行合成,生成带有目标网页内容的输出视频。
获取模块91具体用于管理合成直播画面时需要使用到的网页页面,包括预设配置应用、控制指令接收与响应和页面增删操作三个功能。获取模块维护了一个生效网页列表,该生效网页列表是指当前需要合成到直播视频中的网页的列表,即同一个时刻可以有多个网页的画面内容合成到直播输出视频中。
在实际应用中,当系统运行开始时,获取模块91负责根据默认设置或者配置文件等,将预设的网页页面添加到生效网页列表中。这样做在未收到明确的页面的增删操作之前,已经可以将预设的网页合成到直播画面中。上述预设的网页页面可以是直播开始时候的启动动画、直播预告动画等等。在系统运行的过程中,如图10所示,获取模块91会实时地接收系统外部传来的控制指令,并进行响应。控制指令包含页面的增删指令、暂停/开启网页内容合成指令、汇报当前合成状况信息的指令等。当接收到页面增删指令时,会进行页面的增删操作。当接收到暂停/开启网页内容合成的指令时,获取模块91向合成模块93发送暂停/开启网页内容合成的消息,使得直播输出画面中取消掉/恢复出对应的某个或某几个网页画面内容。当接收到汇报当前合成状况信息的指令时,汇报当前生效网页列表的内容、当前的各网页页面的合成/暂停合成状态等。当接收到页面的增加指令时,将新的网页地址添加到生效网页列表中,同时为新添加的网页页面启动新的渲染模块和缓存解码和转换模块,进行渲染、缓存解码和转换新添加的网页页面快照;当接收到页面删除指令时,从生效网页列表中删除对应的网页,并删除掉与之对应的渲染模块和缓存解码和转换模块。同时,在系统运行的过程中,如果渲染模块渲染网页失败,渲染模块会向获取模块91汇报渲染失败的网页和失败原因,此时获取模块91将渲染失败的网页从生效网页列表中删除,然后删除掉与之对应的渲染模块和缓存解码和转换模块实例,并同时汇报给系统外部当前渲染失败的网页事件和相应的错误消息。
合成模块93一方面根据设置的画面合成参数对系统外部的输入视频帧和缓存解码和转换模块传来的一个或者多个待合成网页帧进行合成,生成最终的输出视频画面帧;画面合成参数包括输出视频画面的分辨率,输入视频帧在直播输出画面中的大小和位置,各待合成网页帧在输出视频画面中的大小和位置,各待合成网页帧之间、以及它们与输入视频帧之间在输出视频画面中的遮挡关系等,是否对各待合成网页帧和输入视频帧进行抠图操作等相关操作的参数。合成模块93按照每个待合成网页帧在输出视频画面中的大小将其缩放到适配指定的大小,如果该待合成网页帧有抠图设置,则按照设置的抠图参数对该待合成网页帧进行抠图。类似地,也对输入视频帧根据相应的合成参数进行缩放和必要的抠图操作。然后根据各个待合成网页帧和输入视频帧在输出画面中的位置,将它们放置到输出画面中的指定位置。当在某些区域内各个待合成网页帧之间、待合成网页帧与输入视频帧之间有重叠时,根据各待合成网页帧和输入视频帧在输出画面中的遮挡关系,以及它们各自的透明度信息,进行叠加,生成最终直播输出画面中各像素点的像素值。
另一方面合成模块93根据获取模块91传来的暂停/开启网页内容合成指令,在合成输出视频画面的过程中开启和禁用指定的待合成网页帧的使用过程。在合成输出画面的同时,合成模块93还实时地接收获取模块91的暂停/开启网页内容合成的指令。合成模块93内部维护当前各个网页页面待合成网页帧的合成状态,其中,合成状态包括开启和禁用两个状态。当合成模块93接收到暂停某个网页页面合成的指令后,会将该网页页面对应的待合成网页帧的状态设置为禁用状态;当收到开启某个网页页面合成的指令后,会将该网页页面对应的待合成网页帧的状态设置为开启状态。在合成输出画面的过程中,合成模块93只使用输入视频帧以及所有处于开启状态的待合成网页帧,而不会使用那些处于禁用状态的待合成网页帧。
本发明实施方式相对于现有技术而言,由于网页内容具有元素布局自由灵活、内容丰富、易于配置修改以及表现力强等特点,将网页的文字、图片内容、页面元素或动画效果等合成到视频画面中,作为视频画面中的特效、视频画面的场景布局效果等,使得生成的视频画面更为灵活、生动,同时也使视频画面元素、布局以及效果等易于配置和升级。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
另外,合成模块93具体包括:选择模块、调整模块和叠加模块;选择模块用于在输入视频中选取待合成输入视频帧;调整模块用于调整目标网页内容的各像素点及待合成输入视频帧的各像素点的透明度;叠加模块用于将经透明度调整后的目标网页内容与待合成输入视频帧进行叠加。
另外,还包括解码模块;解码模块用于对获取的网页快照数据进行解码,得到待合成网页帧;选择模块具体用于在待合成网页帧中选取目标网页内容。
另外,选择模块具体用于根据待合成输入视频帧的时间戳确定待合成网页帧的时间戳,并根据确定的待合成网页帧的时间戳在获取的网页快照数据中选取待合成网页数据。
另外,还包括缓存模块;缓存模块用于在预设的多个缓存模式中选择目标缓存模式,并根据选择的目标缓存模式对获取的网页快照数据进行缓存;解码模块具体用于获取预存的目标缓存模式与解码规则的对应关系,并根据目标缓存模式对应的解码规则对缓存的网页快照数据进行解码。
另外,还包括像素格式调整模块;像素格式调整模块用于将待合成网页帧的像素格式与输入视频的像素格式调整一致。
另外,还包括分辨率调整模块;分辨率调整模块用于将目标网页内容的分辨率与输入视频的分辨率调整一致。
另外,还包括渲染模块和截取模块;渲染模块用于根据预设网页地址渲染网页画面,并在获取的网页快照数据的数量达到预设阈值时,停止对网页画面的渲染;截取模块用于实时截取渲染的网页画面,并在获取的网页快照数据的数量达到预设阈值时,停止对渲染的网页画面的截取。
具体地说,渲染模块使用支持开发工具调试协议的浏览器渲染网页的内容,并获得网页截图数据。在渲染模块使用浏览器渲染网页的过程中,渲染模块通过开发工具调试协议追踪网页的页面过程和网络过程。如果追踪网页的网络过程中发现指定的网页地址无法访问、或者追踪页面的过程中发现指定的页面的响应码错误,则将指定页面的网址标记为无效,停止该网页的渲染过程,并将失败页面的网址和错误消息传递给获取模块91。如果指定的网页访问成功且加载成功,则渲染模块使用开发工具调试协议向浏览器发送截图指令,获得当前网页内容的截图,作为当前网页的快照数据,进行时间戳标记后将此数据传给缓存解码和转换模块。
另外,还包括检测模块;检测模块用于检测网页加载状态;截取模块用于在检测到网页画面加载完成之后,实时截取加载完成的网页画面。
另外,还包括设置模块;设置模块用于预先设置页面属性。
另外,还包括模板配置模块,模板配置模块用于根据生成的输出视频制作网页模板;其中,网页模板至少包括:代表输出视频的画面效果的信息或代表输出视频的布局方式的信息;网页模板用于在获取网页快照数据时根据网页模板对应的模板地址调取。
模板配置模块用于生成一系列预设的、具有通用性的页面设置和布局效果的模板网页,模板网页中拥有固定的网页页面元素和布局设置,且元素的内容是可配置的。页面元素内容的配置方式有提前设置元素内容以及设置元素内容的实时获取地址两种方式。使用模板配置模块中提供的模板网页,并对模板网页中每个可配置内容的元素按照预设方式进行设置后,将该模板网页的地址添加获取模块91的生效网页列表中,即可将预设的布局方式、页面元素以及画面效果等合成到输出视频画面中,实现某些固定场景的视频播放效果。
以实际应用为例,在综艺节目、体育赛事或新闻演播室等直播场景中,总是使用固定的画面布局风格。比如体育赛事右上角显示比赛剩余时间,下方中间部分显示当前最新比分;新闻演播室下方显示滚动新闻等。由于这些布局在多次直播中总是固定的,因此可以将画面中除了采集到的输入画面以外的其它画面布局元素(如所述的动画效果、比分、时间或滚动新闻等)和效果抽离出来,构造生成一个模板网页,该模板网页具有所需要的画面布局元素和效果,同时模板网页的背景颜色为透明色。这些元素的内容,既可以通过预先设置,比如可以提前设置好滚动的要播报的新闻;也可以设置一个实时获取该元素内容的服务器地址,由模板网页中的脚本实时地从指定的服务器地址中获取,比如比赛比分和剩余时间的实时更新等。在直播过程中,只需要选择好相应的模板网页,并对模板网页中每个可配置内容的元素按照预设方式进行设置后,下发控制指令到获取模块91中,将指定的设置好的模板网页的页面内容添加到输出视频画面中,就能够实现综艺节目、体育赛事或演播室的画面布局效果。由于网页本身可以包含动态脚本,通过脚本实时连接远程服务器获取更新信息,因此能够实现体育赛事的比分实时更新、演播室的实时新闻滚动等效果。当相应元素的布局或者内容需要调整或者修改时,只需要修改本发明所述的模板配置模块中的模板网页即可,而不需要修改从视频采集到播放整个流程中的任何一个环节,因此具有直播画面效果易于配置和更新的特点。
本发明第五实施方式涉及一种服务器,如图11所示,包括至少一个处理器1101;以及,与至少一个处理器1101通信连接的存储器1102;其中,存储器1102存储有可被至少一个处理器1101执行的指令,指令被至少一个处理器1101执行,以使至少一个处理器1101能够执行上述视频生成方法。
其中,存储器1102和处理器1101采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器1101和存储器1102的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器1101。
处理器1101负责管理总线和通常的处理,还可以提供各种功能,包括定时、外围接口、电压调节、电源管理以及其他控制功能。而存储器1102可以被用于存储处理器1101在执行操作时所使用的数据。
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (15)
1.一种视频生成方法,应用于服务器,其特征在于,包括:
获取网页地址;
根据所述网页地址实时获取网页快照数据;
在所述获取的网页快照数据中选取目标网页内容;
将所述选取的目标网页内容与预先获取的输入视频进行合成,生成带有所述目标网页内容的输出视频。
2.根据权利要求1所述的视频生成方法,其特征在于,所述将所述选取的目标网页内容与预先获取的输入视频进行合成,具体包括:
调整所述目标网页内容的各像素点及预先选取的待合成输入视频帧的各像素点的透明度;
其中,所述待合成输入视频帧在所述输入视频中选取;
将经透明度调整后的所述目标网页内容与所述待合成输入视频帧进行叠加。
3.根据权利要求2所述的视频生成方法,其特征在于,所述叠加方式具体为:全画面叠加或指定区域叠加。
4.根据权利要求1所述的视频生成方法,其特征在于,在所述获取网页快照数据之后,在所述选取目标网页内容之前,还包括:
在预设的多个缓存模式中选择目标缓存模式;
根据所述选择的目标缓存模式对所述获取的网页快照数据进行缓存;
所述在所述获取的网页快照数据中选取目标网页内容,具体为:
在所述缓存的网页快照数据中选取所述目标网页内容。
5.根据权利要求4所述的视频生成方法,其特征在于,所述在所述缓存的网页快照数据中选取目标网页内容,具体包括:
对所述缓存的网页快照数据进行解码得到网页帧;
在所述网页帧中选取所述目标网页内容。
6.根据权利要求4所述的视频生成方法,其特征在于,所述在所述缓存的网页快照数据中选取目标网页内容,具体包括:
根据待合成输入视频帧的时间戳确定目标网页内容的时间戳;
其中,所述待合成输入视频帧在所述输入视频中选取;
根据所述确定的目标网页内容的时间戳在所述缓存的网页快照数据中选取待合成网页数据;
对所述选取的待合成网页数据进行解码,得到所述目标网页内容。
7.根据权利要求1所述的视频生成方法,其特征在于,在所述选取目标网页内容之后,在所述将所述选取的目标网页内容与预先获取的输入视频进行合成之前,还包括:
将所述目标网页内容的像素格式与所述输入视频的像素格式调整为一致的像素格式。
8.根据权利要求1所述的视频生成方法,其特征在于,在所述选取目标网页内容之后,在所述将所述选取的目标网页内容与预先获取的输入视频进行合成之前,还包括:
将所述目标网页内容的分辨率与所述输入视频的分辨率调整为一致的分辨率。
9.根据权利要求1所述的视频生成方法,其特征在于,所述根据所述网页地址实时获取网页快照数据,具体包括:
根据所述网页地址渲染网页画面,并实时截取所述渲染的网页画面;
获取所述截取的网页画面作为网页快照数据;
在所述获取的网页快照数据的数量达到预设阈值时,停止对网页画面的渲染,并停止对所述渲染的网页画面的截取。
10.根据权利要求9所述的视频生成方法,其特征在于,所述实时截取所述渲染的网页画面,具体包括:
在所述网页画面加载完成之后,实时截取所述加载完成的网页画面。
11.根据权利要求1所述的视频生成方法,其特征在于,所述实时获取的网页快照数据具体为:满足预设页面属性的网页快照数据;其中,所述页面属性至少包括以下任意之一或其任意组合:背景颜色、分辨率或交互模式。
12.根据权利要求1所述的视频生成方法,其特征在于,所述网页地址具体为模板地址;其中,所述模板地址对应网页模板画面,所述网页模板画面根据历史输出视频的布局方式及画面效果生成;
所述网页快照数据具体为:所述网页模板画面的截图数据。
13.一种视频生成装置,其特征在于,包括:获取模块、选取模块以及合成模块;
所述获取模块用于根据获取的网页地址实时获取网页快照数据;
所述选取模块用于在所述获取的网页快照数据中选取目标网页内容;
所述合成模块用于将所述选取的目标网页内容与预先获取的输入视频进行合成,生成带有所述目标网页内容的输出视频。
14.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至12中任一所述的视频生成方法。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的视频生成方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910559629.2A CN110457624A (zh) | 2019-06-26 | 2019-06-26 | 视频生成方法、装置、服务器及存储介质 |
PCT/CN2019/102058 WO2020258480A1 (zh) | 2019-06-26 | 2019-08-22 | 视频生成方法、装置、服务器及存储介质 |
EP19832265.3A EP3783491A4 (en) | 2019-06-26 | 2019-08-22 | VIDEO GENERATION PROCESS AND APPARATUS, SERVER AND MEMORY MEDIA |
US16/752,450 US10984067B2 (en) | 2019-06-26 | 2020-01-24 | Video generating method, apparatus, server, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910559629.2A CN110457624A (zh) | 2019-06-26 | 2019-06-26 | 视频生成方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110457624A true CN110457624A (zh) | 2019-11-15 |
Family
ID=68481124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910559629.2A Pending CN110457624A (zh) | 2019-06-26 | 2019-06-26 | 视频生成方法、装置、服务器及存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3783491A4 (zh) |
CN (1) | CN110457624A (zh) |
WO (1) | WO2020258480A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110996151A (zh) * | 2019-11-22 | 2020-04-10 | 广州虎牙科技有限公司 | 视频图层叠加方法、装置、电子设备和存储介质 |
CN113873311A (zh) * | 2021-09-09 | 2021-12-31 | 北京都是科技有限公司 | 一种直播控制方法、装置及存储介质 |
CN114666621A (zh) * | 2022-03-22 | 2022-06-24 | 阿里云计算有限公司 | 页面处理方法、装置及设备 |
CN115379105A (zh) * | 2021-05-20 | 2022-11-22 | 北京字跳网络技术有限公司 | 视频拍摄方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130073946A1 (en) * | 2011-09-21 | 2013-03-21 | Mstar Semiconductor, Inc. | Method and apparatus for loading webpage content of webkit browser |
CN104219559A (zh) * | 2013-05-31 | 2014-12-17 | 奥多比公司 | 在视频内容中投放不明显叠加 |
CN108829540A (zh) * | 2018-06-13 | 2018-11-16 | 珠海市君天电子科技有限公司 | 网页内容的备份方法、装置及电子设备 |
CN109327727A (zh) * | 2018-11-20 | 2019-02-12 | 网宿科技股份有限公司 | 一种WebRTC中的直播流处理方法及推流客户端 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10499118B2 (en) * | 2012-04-24 | 2019-12-03 | Skreens Entertainment Technologies, Inc. | Virtual and augmented reality system and headset display |
CN103678487B (zh) * | 2013-11-08 | 2017-05-03 | 北京奇虎科技有限公司 | 一种网页快照的生成方法和装置 |
GB2550131A (en) * | 2016-05-09 | 2017-11-15 | Web Communications Ltd | Apparatus and methods for a user interface |
US10419826B2 (en) * | 2016-09-09 | 2019-09-17 | Disney Enterprises, Inc. | Using a webpage to insert graphical elements into a video program stream |
CN108880921B (zh) * | 2017-05-11 | 2021-07-02 | 腾讯科技(北京)有限公司 | 网页监测方法、装置、存储介质及服务器 |
-
2019
- 2019-06-26 CN CN201910559629.2A patent/CN110457624A/zh active Pending
- 2019-08-22 WO PCT/CN2019/102058 patent/WO2020258480A1/zh unknown
- 2019-08-22 EP EP19832265.3A patent/EP3783491A4/en not_active Ceased
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130073946A1 (en) * | 2011-09-21 | 2013-03-21 | Mstar Semiconductor, Inc. | Method and apparatus for loading webpage content of webkit browser |
CN104219559A (zh) * | 2013-05-31 | 2014-12-17 | 奥多比公司 | 在视频内容中投放不明显叠加 |
CN108829540A (zh) * | 2018-06-13 | 2018-11-16 | 珠海市君天电子科技有限公司 | 网页内容的备份方法、装置及电子设备 |
CN109327727A (zh) * | 2018-11-20 | 2019-02-12 | 网宿科技股份有限公司 | 一种WebRTC中的直播流处理方法及推流客户端 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110996151A (zh) * | 2019-11-22 | 2020-04-10 | 广州虎牙科技有限公司 | 视频图层叠加方法、装置、电子设备和存储介质 |
CN115379105A (zh) * | 2021-05-20 | 2022-11-22 | 北京字跳网络技术有限公司 | 视频拍摄方法、装置、电子设备和存储介质 |
US11895424B2 (en) | 2021-05-20 | 2024-02-06 | Beijing Zitiao Network Technology Co., Ltd. | Video shooting method and apparatus, electronic device and storage medium |
CN115379105B (zh) * | 2021-05-20 | 2024-02-27 | 北京字跳网络技术有限公司 | 视频拍摄方法、装置、电子设备和存储介质 |
CN113873311A (zh) * | 2021-09-09 | 2021-12-31 | 北京都是科技有限公司 | 一种直播控制方法、装置及存储介质 |
CN113873311B (zh) * | 2021-09-09 | 2024-03-12 | 北京都是科技有限公司 | 一种直播控制方法、装置及存储介质 |
CN114666621A (zh) * | 2022-03-22 | 2022-06-24 | 阿里云计算有限公司 | 页面处理方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3783491A1 (en) | 2021-02-24 |
WO2020258480A1 (zh) | 2020-12-30 |
EP3783491A4 (en) | 2021-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457624A (zh) | 视频生成方法、装置、服务器及存储介质 | |
US10984067B2 (en) | Video generating method, apparatus, server, and storage medium | |
US11303881B2 (en) | Method and client for playing back panoramic video | |
US9355681B2 (en) | MPEG objects and systems and methods for using MPEG objects | |
EP3780637A1 (en) | Webpage video playback method and apparatus, electronic device and storage medium | |
KR20100127240A (ko) | 상호작용형 컨텐츠 식별을 위하여 비디오에 트리거를 사용하는 방법 | |
CN110795097B (zh) | 一种页面处理方法、装置、计算机设备以及存储介质 | |
CN112911318B (zh) | 直播间背景替换方法、装置、电子设备及存储介质 | |
US9729931B2 (en) | System for managing detection of advertisements in an electronic device, for example in a digital TV decoder | |
CN112055256A (zh) | 一种全景图像的图像处理方法及显示设备 | |
US20200410032A1 (en) | Method for acquiring webpage frame, server, and storage medium | |
CN113849143A (zh) | 显示方法、显示设备和存储介质 | |
CN107197182B (zh) | 一种在电视上显示屏幕菜单的方法、装置及电视 | |
WO2023179348A1 (zh) | 数据传输方法、云桌面虚拟机、云终端及可读存储介质 | |
KR20140133096A (ko) | 가상화 웹 iptv 및 이를 이용한 동영상 스트리밍 방법 | |
WO2020258479A1 (zh) | 网页帧的获取方法、服务器及存储介质 | |
CN111064979B (zh) | 一种网页直播方法、装置、网页终端和存储介质 | |
CN113038225B (zh) | 视频播放方法、装置、计算设备以及存储介质 | |
CN111679789B (zh) | 一种写入控制方法及显示设备 | |
CN114666647B (zh) | 不同信源之间实现画中画的方法、装置及相关组件 | |
JP3443388B2 (ja) | データ放送受信装置 | |
CN107333158B (zh) | 电视的控制方法和装置 | |
CN114286002B (zh) | 图像处理电路、方法、装置、电子设备及芯片 | |
CN109451361B (zh) | Android系统的码流清晰度切换方法、装置、终端及可读介质 | |
JP2014506036A (ja) | ビデオストリーム表示のシステムおよびプロトコル |
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 |
Application publication date: 20191115 |
|
RJ01 | Rejection of invention patent application after publication |