CN115134659B - 视频编辑和配置方法、装置、浏览器、电子设备和存储介质 - Google Patents
视频编辑和配置方法、装置、浏览器、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115134659B CN115134659B CN202210672917.0A CN202210672917A CN115134659B CN 115134659 B CN115134659 B CN 115134659B CN 202210672917 A CN202210672917 A CN 202210672917A CN 115134659 B CN115134659 B CN 115134659B
- Authority
- CN
- China
- Prior art keywords
- video material
- video
- portable
- language
- compiling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 189
- 239000000463 material Substances 0.000 claims abstract description 9
- 238000004891 communication Methods 0.000 claims description 18
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000003786 synthesis reaction Methods 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 230000004927 fusion Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 description 13
- 239000000203 mixture Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- 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
- H04N21/44016—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 involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- 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/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例提供了一种视频编辑和配置方法、装置、浏览器、电子设备和存储介质。视频编辑方法,包括:将视频素材转存至可移植编译语言对应的存储空间中;基于可移植编译语言的视频素材处理接口库中的视频素材获取接口,从存储空间获取视频素材,可移植编译语言的视频素材处理接口库基于编译型语言的视频素材处理接口库进行编译得到;基于可移植编译语言的视频素材处理接口库中的图片化处理接口,对视频素材进行图片化处理,得到视频素材图片;基于视频素材图片,进行视频编辑。本发明实施例的方案使得视频素材能够对可移植编译语言的视频素材处理接口库能够基于本地的存储空间进行处理,实现了本地的视频编辑。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种视频编辑和配置方法、装置、浏览器、电子设备和存储介质。
背景技术
智能媒体生产(Intelligent Cloud Editing,ICE)是一项复杂且昂贵的工作,产品的质量在很大程度上取决于产品中所涉及的服务提供商的质量。媒体产品包括例如广告,电视节目,电影或短片,音乐记录,实况舞台表演等。媒体制作通常包括多个阶段,例如内容开发;生产计划,原媒体生产;后期制作编辑;格式化和包装;以及出版,销售或分发。
在教育行业、新媒体行业、营销行业、直播行业中,线上视频编辑作为一种智能媒体生产方式,为内容制作者提供了方便和内容制作效率。
视频云编辑提供了包括剪辑、拼接、转场、滤镜、特效、贴纸等在线视频制作能力。视频素材处理的能力大部分部署在云编辑后台,对通信资源依赖较高,因此,需要一种可靠的本地视频编辑方案。
发明内容
有鉴于此,本发明实施例提供一种视频编辑和配置方法、装置、浏览器、电子设备和存储介质,以至少部分解决上述问题。
根据本发明实施例的第一方面,提供了一种视频编辑方法,包括:将视频素材转存至可移植编译语言对应的存储空间中;基于所述可移植编译语言的视频素材处理接口库中的视频素材获取接口,从所述存储空间获取所述视频素材,所述可移植编译语言的视频素材处理接口库基于所述编译型语言的视频素材处理接口库进行编译得到;基于所述可移植编译语言的视频素材处理接口库中的图片化处理接口,对所述视频素材进行图片化处理,得到视频素材图片;基于所述视频素材图片,进行视频编辑。
在本发明的另一实现方式中,所述视频素材为字幕文件。所述将视频素材转存至可移植编译语言对应的存储空间中,包括:将所述字幕文件异步存储到浏览器的数据库;基于所述可移植编译语言的字幕处理接口库中的同步存储接口,将所述字幕文件从所述浏览器的数据库同步存储到所述可移植编译语言对应的存储空间。
在本发明的另一实现方式中,所述可移植编译语言的视频素材处理接口库通过所述可移植编译语言的解释器执行。
在本发明的另一实现方式中,基于所述可移植编译语言的字幕处理接口库中的字幕文件获取接口,从所述存储空间获取所述字幕文件,包括:基于所述浏览器的脚本语言粘合代码,调用所述可移植编译语言的字幕处理接口库中的字幕文件获取接口,从所述存储空间获取所述字幕文件。
在本发明的另一实现方式中,基于所述视频素材图片,进行视频编辑,包括:基于所述视频素材图片与视频帧进行融合,生成待预览视频帧。
在本发明的另一实现方式中,基于所述视频素材图片与视频帧进行融合,生成待预览视频帧,包括:基于所述浏览器的画布对象中的图像获取接口,获取所述视频帧;基于所述画布对象中的图像合成接口,合成所述视频素材图片与所述视频帧。
在本发明的另一实现方式中,视频素材为目标字幕格式的字幕文件。所述将视频素材转存至可移植编译语言对应的存储空间中,包括:将所述字幕文件转存至可移植编译语言对应的存储空间中,所述可移植编译语言的字幕处理接口库基于所述目标字幕格式的字幕处理接口库进行编译得到,所述目标字幕格式的字幕处理接口库基于所述编译型语言开发得到。
根据本发明实施例的第二方面,提供了一种浏览器配置方法,包括:基于编译型语言的视频素材处理接口库进行编译,得到可移植编译语言的视频素材处理接口库;基于可移植编译语言的视频素材处理接口库进行实例化;基于所述浏览器的脚本语言粘合代码,将实例化的视频素材处理接口库配置到所述浏览器中。
根据本发明实施例的第三方面,提供了一种浏览器,包括:转存模块,将视频素材转存至可移植编译语言对应的存储空间中;获取模块,基于所述可移植编译语言的视频素材处理接口库中的视频素材获取接口,从所述存储空间获取所述视频素材,所述可移植编译语言的视频素材处理接口库基于所述编译型语言的视频素材处理接口库进行编译得到;处理模块,基于所述可移植编译语言的视频素材处理接口库中的图片化处理接口,对所述视频素材进行图片化处理,得到视频素材图片;编辑模块,基于所述视频素材图片,进行视频编辑。
根据本发明实施例的第四方面,提供了一种浏览器配置装置,包括:编译模块,基于编译型语言的视频素材处理接口库进行编译,得到可移植编译语言的视频素材处理接口库;实例化模块,基于可移植编译语言的视频素材处理接口库进行实例化;配置模块,基于所述浏览器的脚本语言粘合代码,将实例化的视频素材处理接口库配置到所述浏览器中。
根据本发明实施例的第五方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面或第二方面所述的方法对应的操作。
根据本发明实施例的第六方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第二方面所述的方法。
在本发明实施例的方案中,由于将视频素材转存至可移植编译语言对应的存储空间中,可移植编译语言的视频素材处理接口库基于编译型语言的视频素材处理接口库进行编译得到,使得视频素材能够对可移植编译语言的视频素材处理接口库能够基于本地的存储空间进行处理,无需采用编译型语言的视频素材处理接口库。进一步地,基于视频素材获取接口和图片化处理接口的处理得到了视频素材图片,实现了本地的视频编辑。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据一个示例的云编辑的网络架构图。
图2为根据本发明的一个实施例的视频编辑方法的步骤流程图。
图3为图2实施例的视频编辑方法的一个示例的步骤流程图。
图4为根据本发明的另一实施例的浏览器配置方法的步骤流程图。
图5为根据本发明的另一实施例的浏览器的结构框图。
图6为根据本发明的另一实施例的浏览器配置方法的结构框图。
图7为根据本发明的另一实施例的电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
图1为根据一个示例的云编辑的网络架构图。本示例的网络架构包括终端设备110、用于智能媒体生产的云服务器120、云存储服务器130、分发服务器140。其中,终端设备110可以是PC终端(即,个人电脑)、诸如手机和车机的移动设备、以及其他安装浏览器的电子设备。
具体而言,终端设备110中配置有浏览器111,用于通过诸如网页等访问云服务器120的资源。云服务器120示例性地可以配置有多个模块,例如,视频素材121模块、字幕处理122模块和视频合成123模块。
云服务器120用于智能媒体生产,包括但不限于对视频编辑、音频编辑、图文编辑等。云服务器120还可以配置有其他媒体素材,本示例中结合字幕处理场景进行说明,并未示出其他资源。与视频编辑相关的各个能力包括倍速预览接口、边播边剪接口、快捷键操作接口、高速合成接口、诸如滤镜接口、特效接口等视频效果美化接口、视频素材库调用接口等。
浏览器111可以作为人机交互界面,接收用户输入的操作指令,并且向用户展示相应的数据和信息。浏览器111可以响应用户输入的字幕编辑指令,指示云服务器120进行字幕处理,字幕处理122模块从视频素材121模块获取字幕文件,生成字幕图片。然后,在视频合成123模块中,基于字幕图片与视频帧进行合成,得到合成视频。云服务器120可以将合成视频发送到终端设备110,在浏览器111中进行展示。
进一步地,云服务器120可以从云存储服务器130获取实时视频资源131,并且将视频合成123模块处理后的实时的视频合成资源132存储至云存储服务器130。实时视频资源131可以通过诸如拍摄设备等资源生成设备上传到云存储服务器130,例如,拍摄设备可以是直播机位处的多个摄像机。
分发服务器140可以是与各个终端设备110以及云存储服务器130连接的服务器网络,用于将云存储服务器130中的资源分发到各个终端设备110,形成资源分发链路。终端设备110向云存储服务器130上传资源时,可以经由诸如云服务器120的智能媒体生产的服务器,与云服务器120和云存储服务器130构成智能媒体生产链路。
在一个示例中,终端设备110可以作为智能媒体生产链路的终端设备,也可以作为资源分发链路的终端设备,即,终端设备110中安装的浏览器111或其他应用程序能够对来自分发服务器140的视频资源(例如,实时的视频合成资源132或实时视频资源)进行播放。
上述示例的云编辑方法借助云服务器的视频帧处理能力,过于依赖云服务器的计算能力,在通信条件较差的情况下,不能达到较优的云编辑体验。
图2为根据本发明的一个实施例的视频编辑方法的步骤流程图。本实施例的方案可以适用于任意适当的具有数据处理能力的电子设备,包括但不限于:服务器、移动终端(如手机、PAD等)和PC机等。电子设备中可以配置有应用程序或浏览器,可以基于应用程序或浏览器实现图2实施例的视频编辑方法。
本实施例的视频编辑方法,包括:
S210:将视频素材转存至可移植编译语言对应的存储空间中。
应理解,可以将视频素材转存到存储空间的内存文件***,内存是配置在内存的存储空间(即,内存空间)中的文件***,浏览器的内存空间存储有浏览器的配置文件、指令等,一般而言,浏览器的内存空间可以对应于浏览器的进程。可移植编译语言对应的内存文件***所对应的内存空间与浏览器的内存空间不同。浏览器可以访问访问可移植编译语言对应的内存文件***所对应的内存空间,例如,通过配置的解释器进行访问。
还应理解,视频素材可以是诸如字幕文件、特效图层文件等基于叠加编辑操作的编辑对象。字幕文件可以具有目标字幕格式,例如,ASS(Advanced SubStation Alpha)格式。编译型语言可以是C/C++语言,可以通过特定的编译器工具(例如,Emscripten)将C/C++语言编译为可移植编译语言,例如,WebAssembly。
S220:基于视频素材处理接口可移植编译语言的视频素材处理接口库中的视频素材获取接口,从视频素材处理接口存储空间获取视频素材处理接口视频素材,视频素材处理接口可移植编译语言的视频素材处理接口库基于视频素材处理接口编译型语言的视频素材处理接口库进行编译得到。
应理解,视频素材处理接口库可以是字幕处理接口库、图层处理接口库等。解释器可以基于可移植编译语言的视频素材处理接口库进行编译,得到对应的机器码。此外,浏览器可以安装在操作***中,操作***可以基于编译型语言开发,例如,操作***指示包括基于编译型语言开发的接口库,例如,C库。
还应理解,编译型语言的字幕处理接口库可以是基于目标字幕格式的字幕处理接口库,例如,Libass。可移植编译语言可以是WebAssembly(即,WASM),作为一种用于基于堆栈的虚拟机的二进制指令格式。更具体地,WASM是编程语言设计的可移植编译目标,可以通过C/C++/Rust等静态语言编译生成,支持在Web上部署客户端和服务器应用程。作为一个示例,字幕文件获取接口可以是画布对象的getImageData/webgl。
S230:基于可移植编译语言的视频素材处理接口库中的图片化处理接口,对视频素材处理接口视频素材进行图片化处理,得到视频素材图片。
应理解,诸如字幕处理接口库、图层处理接口库中的视频素材处理接口库包括图片化处理接口,用于对字幕文件或图层文件进行图片化处理,经由图片化处理的视频素材能够避免被修改,便于与视频帧叠加。
还应理解,可以获取字幕文件对应的字符信息和字幕配置信息。字幕配置信息指示字幕位置、字幕内容等,字符信息包括字符字体、字符颜色等。作为一个示例,图片化处理接口可以是画布对象的putImageData/webgl。
S240:基于视频素材处理接口视频素材图片,进行视频编辑。
应理解,视频编辑包括但不限于视频素材的添加、删除、修改等。作为视频编辑的一个示例,可以在视频帧中的添加字幕图片或图层。此外,字幕文件中包括自定义字体,如果需要对自定义字体进行调整,则可以获取调整后的自定义字体的字幕文件,然后,基于字幕文件生成新的字幕图片,进行视频编辑。此外,还可以新的字幕位置,生成字幕文件对应的字幕图片,使得字幕位置调整。
在本发明实施例的方案中,由于将视频素材转存至可移植编译语言对应的存储空间中,可移植编译语言的视频素材处理接口库基于编译型语言的视频素材处理接口库进行编译得到,使得视频素材能够对可移植编译语言的视频素材处理接口库能够基于本地的存储空间进行处理,无需采用编译型语言的视频素材处理接口库。进一步地,基于视频素材获取接口和图片化处理接口的处理得到了视频素材图片,实现了本地的视频编辑。
在另一些示例中,视频素材为字幕文件,所述将视频素材转存至可移植编译语言对应的存储空间中,包括:将所述字幕文件异步存储到浏览器的数据库;基于所述可移植编译语言的字幕处理接口库中的同步存储接口,将所述字幕文件从所述浏览器的数据库同步存储到所述可移植编译语言对应的存储空间。可移植编译语言对应的存储空间与浏览器的数据库处于不同的存储空间,基于同步存储接口实现了视频素材的存储空间的转移的效率,例如,基于同步存储接口实现了字幕文件的存储空间的转移的效率,进而提高了可移植编译语言转换为可执行机器码的效率。
在另一些示例中,可移植编译语言的视频素材处理接口库通过可移植编译语言的解释器执行。具体地,浏览器的解释器针对上述的内存文件***的存储空间执行可执行机器码的转换操作。
在另一些示例中,基于所述可移植编译语言的字幕处理接口库中的字幕文件获取接口,从所述存储空间获取所述字幕文件,包括:基于所述浏览器的脚本语言粘合代码,调用所述可移植编译语言的字幕处理接口库中的字幕文件获取接口,从所述存储空间获取所述字幕文件。可以预先基于浏览器的脚本语言粘合代码,将实例化的视频素材处理接口库配置到浏览器中,基于浏览器的脚本语言粘合代码,实现了可移植编译语言与浏览器的脚本语言之间的兼容,有效地调用了可移植编译语言的视频素材处理接口库中的各个接口。例如,字幕文件获取接口和字幕文件获取接口。
在另一些示例中,基于所述视频素材图片,进行视频编辑,包括:基于所述视频素材图片与视频帧进行融合,生成待预览视频帧,从而实现了本地的视频帧预览。
在另一些示例中,基于所述视频素材图片与视频帧进行融合,生成待预览视频帧,包括:基于所述浏览器的画布对象中的图像获取接口,获取所述视频帧;基于所述画布对象中的图像合成接口,合成所述视频素材图片与所述视频帧。画布对象中的图像获取接口用于浏览器中的视频数据的播放,例如,画布对象中的图像获取接口的能力,实现了视频帧的获取,兼容了现有浏览器的配置,实现了前端视频帧的处理。
进一步地,在图1的场景中,作为一个示例,云服务器120的视频合成123模块基于字幕处理122模块的处理结果,进行视频合成,在云服务器120中,视频合成123模块和字幕处理122模块的处理可以调用编译型语言的字幕处理接口库实现。在终端设备110中,生成待预览视频帧可以通过调用可移植编译语言的字幕处理接口库实现,由于可移植编译语言的字幕处理接口库基于编译型语言的字幕处理接口库进行编译得到,因此实现了云服务器120合成的实际视频帧与终端设备110生成待预览视频帧一致。
在另一些示例中,视频素材为目标字幕格式的字幕文件;所述将视频素材转存至可移植编译语言对应的存储空间中,包括:将所述字幕文件转存至可移植编译语言对应的存储空间中,所述可移植编译语言的字幕处理接口库基于所述目标字幕格式的字幕处理接口库进行编译得到,所述目标字幕格式的字幕处理接口库基于所述编译型语言开发得到。字幕文件可以具有目标字幕格式,例如,ASS(Advanced SubStation Alpha)格式。
下面将结合图3进一步描述视频编辑方法。图3的视频编辑方法仅仅为图2实施例的一个示例,而不应理解成对图2实施例构成了限定,图3的视频编辑方法中的部分步骤可以被其他实现方式替代,图3的视频编辑方法还可以包括更多或更少的步骤,并且与图2实施例和图4实施例的至少部分操作和步骤对应。
本示例的视频编辑方法包括如下步骤:
S310:加载浏览器的脚本语言粘合代码和可移植编译语言的字幕处理接口库。具体地,字幕文件可以具有目标字幕格式,例如,ASS(Advanced SubStation Alpha)格式。编译型语言可以是C/C++语言,可以通过特定的编译器工具(例如,Emscripten)将C/C++语言编译为可移植编译语言,例如,WebAssembly。
编译型语言的字幕处理接口库可以是基于目标字幕格式的字幕处理接口库,例如,Libass。可移植编译语言可以是WebAssembly(即,WASM),作为一种用于基于堆栈的虚拟机的二进制指令格式。更具体地,WASM是编程语言设计的可移植编译目标,可以通过C/C++/Rust等静态语言编译生成,支持在Web上部署客户端和服务器应用程。
S320:将字幕文件异步存储到浏览器的数据库。具体而言,浏览器可以下载包括字体文件和ASS字幕文件(文中的字幕文件的示例),异步写入浏览器IndexDB存储库。
S330:基于可移植编译语言的字幕处理接口库中的同步存储接口,将字幕文件从浏览器的数据库同步存储到内存文件***。具体而言,浏览器可以调用WASM FS.syncfs接口将文件同步到WASM MEMFS(Memory file system)。
S340:基于可移植编译语言的字幕处理接口库中的字幕文件获取接口,从内存文件***获取字幕文件。具体而言,浏览器可以通过JavaScript(脚本语言的示例)调用WASMLibass字幕处理接口,得到字体文件和ASS字幕文件。
S350:基于可移植编译语言的字幕处理接口库中的图片化处理接口,对字幕文件进行图片化处理,得到字幕图片。具体而言,浏览器可以将字体文件和ASS字幕文件传输到图片化处理接口,得到诸如RGBA图片的字幕图片。
S360:基于浏览器的画布对象中的图像获取接口,获取视频帧。具体而言,浏览器可以通过Canvas(画布对象)的getImageData/webgl(图像获取接口的示例)获取当前视频播放的视频帧(例如,RGBA格式的视频帧)。
S370:基于画布对象中的图像合成接口,合成字幕图片与视频帧。具体而言,浏览器可以通过画布对象中的putImageData/webgl(图像化处理接口的示例),并且基于画布对象渲染合成后的视频帧。
图4为根据本发明的另一实施例的浏览器配置方法的步骤流程图。本实施例的方案可以适用于任意适当的具有数据处理能力的电子设备,包括但不限于服务器和PC机等,电子设备对浏览器进行开发或配置。
本实施例的浏览器配置方法,包括:
S410:基于编译型语言的视频素材处理接口库进行编译,得到可移植编译语言的视频素材处理接口库。
S420:基于可移植编译语言的视频素材处理接口库进行实例化。
S430:基于所述浏览器的脚本语言粘合代码,将实例化的视频素材处理接口库配置到所述浏览器中。
在本实施例的方案中,基于编译型语言的视频素材处理接口库进行编译,得到可移植编译语言的视频素材处理接口库,并且基于可移植编译语言的视频素材处理接口库进行实例化,无需采用编译型语言的视频素材处理接口库,实现了本地的视频编辑。此外,基于脚本语言粘合代码,实现了浏览器的脚本语言的兼容。
图5为根据本发明的另一实施例的浏览器的结构框图。本实施例的方案可以适用于任意适当的具有数据处理能力的电子设备,包括但不限于:服务器、移动终端(如手机、PAD等)和PC机等。电子设备中可以配置有这样的浏览器。
本实施例的浏览器对应于图2的视频编辑方法,包括:
转存模块510,将视频素材转存至可移植编译语言对应的存储空间中。
获取模块520,基于所述可移植编译语言的视频素材处理接口库中的视频素材获取接口,从所述存储空间获取所述视频素材,所述可移植编译语言的视频素材处理接口库基于所述编译型语言的视频素材处理接口库进行编译得到。
处理模块530,基于所述可移植编译语言的视频素材处理接口库中的图片化处理接口,对所述视频素材进行图片化处理,得到视频素材图片。
编辑模块540,基于所述视频素材图片,进行视频编辑。
在本发明实施例的方案中,由于将视频素材转存至可移植编译语言对应的存储空间中,可移植编译语言的视频素材处理接口库基于编译型语言的视频素材处理接口库进行编译得到,使得视频素材能够对可移植编译语言的视频素材处理接口库能够基于本地的存储空间进行处理,无需采用编译型语言的视频素材处理接口库。进一步地,基于视频素材获取接口和图片化处理接口的处理得到了视频素材图片,实现了本地的视频编辑。
在另一些示例中,视频素材为字幕文件,转存模块具体用于:将所述字幕文件异步存储到浏览器的数据库;基于所述可移植编译语言的字幕处理接口库中的同步存储接口,将所述字幕文件从所述浏览器的数据库同步存储到所述可移植编译语言对应的存储空间。
在另一些示例中,所述可移植编译语言的视频素材处理接口库通过所述可移植编译语言的解释器执行。
在另一些示例中,获取模块具体用于:基于所述浏览器的脚本语言粘合代码,调用所述可移植编译语言的字幕处理接口库中的字幕文件获取接口,从所述存储空间获取所述字幕文件。
在另一些示例中,编辑模块具体用于:基于所述视频素材图片与视频帧进行融合,生成待预览视频帧。
在另一些示例中,编辑模块具体用于:基于所述浏览器的画布对象中的图像获取接口,获取所述视频帧;基于所述画布对象中的图像合成接口,合成所述视频素材图片与所述视频帧。
在另一些示例中,视频素材为目标字幕格式的字幕文件,转存模块具体用于:将所述字幕文件转存至可移植编译语言对应的存储空间中,所述可移植编译语言的字幕处理接口库基于所述目标字幕格式的字幕处理接口库进行编译得到,所述目标字幕格式的字幕处理接口库基于所述编译型语言开发得到。
本实施例的装置用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
图6为根据本发明的另一实施例的浏览器配置方法的结构框图。本实施例的方案可以适用于任意适当的具有数据处理能力的电子设备,包括但不限于服务器和PC机等,电子设备对浏览器进行开发或配置。
本实施例的浏览器配置装置对应于图4的浏览器配置方法,包括:
编译模块610,基于编译型语言的视频素材处理接口库进行编译,得到可移植编译语言的视频素材处理接口库。
实例化模块620,基于可移植编译语言的视频素材处理接口库进行实例化。
配置模块630,基于所述浏览器的脚本语言粘合代码,将实例化的视频素材处理接口库配置到所述浏览器中。
在本实施例的方案中,基于编译型语言的视频素材处理接口库进行编译,得到可移植编译语言的视频素材处理接口库,并且基于可移植编译语言的视频素材处理接口库进行实例化,无需采用编译型语言的视频素材处理接口库,实现了本地的视频编辑。此外,基于脚本语言粘合代码,实现了浏览器的脚本语言的兼容。
参照图7,示出了根据本发明的另一实施例的电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储有程序710的存储器(memory)706、以及通信总线708。
处理器、通信接口、以及存储器通过通信总线完成相互间的通信。
通信接口,用于与其它电子设备或服务器进行通信。
处理器,用于执行程序,具体可以执行上述方法实施例中的相关步骤。
具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
处理器可能是处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器,用于存放程序。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序具体可以用于使得处理器执行以下操作:将视频素材转存至可移植编译语言对应的存储空间中;基于所述可移植编译语言的视频素材处理接口库中的视频素材获取接口,从所述存储空间获取所述视频素材,所述可移植编译语言的视频素材处理接口库基于所述编译型语言的视频素材处理接口库进行编译得到;基于所述可移植编译语言的视频素材处理接口库中的图片化处理接口,对所述视频素材进行图片化处理,得到视频素材图片;基于所述视频素材图片,进行视频编辑。
或者,基于编译型语言的视频素材处理接口库进行编译,得到可移植编译语言的视频素材处理接口库;基于可移植编译语言的视频素材处理接口库进行实例化;基于所述浏览器的脚本语言粘合代码,将实例化的视频素材处理接口库配置到所述浏览器中。
此外,程序中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
Claims (11)
1.一种视频编辑方法,包括:
将字幕文件异步存储到浏览器的数据库;
基于可移植编译语言的字幕处理接口库中的同步存储接口,将所述字幕文件从所述浏览器的数据库同步存储到所述可移植编译语言对应的存储空间;
基于所述可移植编译语言的视频素材处理接口库中的视频素材获取接口,从所述存储空间获取所述视频素材,所述可移植编译语言的视频素材处理接口库基于编译型语言的视频素材处理接口库进行编译得到;
基于所述可移植编译语言的视频素材处理接口库中的图片化处理接口,对所述视频素材进行图片化处理,得到视频素材图片;
基于所述视频素材图片,进行视频编辑。
2.根据权利要求1所述的方法,其中,所述可移植编译语言的视频素材处理接口库通过所述可移植编译语言的解释器执行。
3.根据权利要求1所述的方法,其中,所述基于所述可移植编译语言的字幕处理接口库中的字幕文件获取接口,从所述存储空间获取所述字幕文件,包括:
基于所述浏览器的脚本语言粘合代码,调用所述可移植编译语言的字幕处理接口库中的字幕文件获取接口,从所述存储空间获取所述字幕文件。
4.根据权利要求1所述的方法,其中,所述基于所述视频素材图片,进行视频编辑,包括:
基于所述视频素材图片与视频帧进行融合,生成待预览视频帧。
5.根据权利要求4所述的方法,其中,所述基于所述视频素材图片与视频帧进行融合,生成待预览视频帧,包括:
基于所述浏览器的画布对象中的图像获取接口,获取所述视频帧;
基于所述画布对象中的图像合成接口,合成所述视频素材图片与所述视频帧。
6.根据权利要求1所述的方法,其中,所述视频素材为目标字幕格式的字幕文件,所述可移植编译语言的字幕处理接口库基于所述目标字幕格式的字幕处理接口库进行编译得到,所述目标字幕格式的字幕处理接口库基于所述编译型语言开发得到。
7.一种浏览器配置方法,包括:
基于编译型语言的视频素材处理接口库进行编译,得到可移植编译语言的视频素材处理接口库;
基于可移植编译语言的视频素材处理接口库进行实例化;
基于所述浏览器的脚本语言粘合代码,将实例化的视频素材处理接口库配置到所述浏览器中,所述视频素材处理接口库包括视频素材获取接口和图片化处理接口,所述视频素材获取接口用于从所述可移植编译语言对应的存储空间获取视频素材,所述图片化处理接口用于对所述视频素材进行图片化处理,得到视频素材图片,所述视频素材包括字幕文件,所述字幕文件异步存储到浏览器的数据库且从所述浏览器的数据库同步存储到所述可移植编译语言对应的存储空间。
8.一种浏览器,包括:
转存模块,将字幕文件异步存储到浏览器的数据库,基于可移植编译语言的字幕处理接口库中的同步存储接口,将所述字幕文件从所述浏览器的数据库同步存储到所述可移植编译语言对应的存储空间;
获取模块,基于所述可移植编译语言的视频素材处理接口库中的视频素材获取接口,从所述存储空间获取所述视频素材,所述可移植编译语言的视频素材处理接口库基于编译型语言的视频素材处理接口库进行编译得到;
处理模块,基于所述可移植编译语言的视频素材处理接口库中的图片化处理接口,对所述视频素材进行图片化处理,得到视频素材图片;
编辑模块,基于所述视频素材图片,进行视频编辑。
9.一种浏览器配置装置,包括:
编译模块,基于编译型语言的视频素材处理接口库进行编译,得到可移植编译语言的视频素材处理接口库;
实例化模块,基于可移植编译语言的视频素材处理接口库进行实例化;
配置模块,基于所述浏览器的脚本语言粘合代码,将实例化的视频素材处理接口库配置到所述浏览器中,所述视频素材处理接口库包括视频素材获取接口和图片化处理接口,所述视频素材获取接口用于从所述可移植编译语言对应的存储空间获取视频素材,所述图片化处理接口用于对所述视频素材进行图片化处理,得到视频素材图片,所述视频素材包括字幕文件,所述字幕文件异步存储到浏览器的数据库且从所述浏览器的数据库同步存储到所述可移植编译语言对应的存储空间。
10.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的方法对应的操作。
11.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210672917.0A CN115134659B (zh) | 2022-06-15 | 2022-06-15 | 视频编辑和配置方法、装置、浏览器、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210672917.0A CN115134659B (zh) | 2022-06-15 | 2022-06-15 | 视频编辑和配置方法、装置、浏览器、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115134659A CN115134659A (zh) | 2022-09-30 |
CN115134659B true CN115134659B (zh) | 2024-06-25 |
Family
ID=83378981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210672917.0A Active CN115134659B (zh) | 2022-06-15 | 2022-06-15 | 视频编辑和配置方法、装置、浏览器、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115134659B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210881A (zh) * | 2016-07-07 | 2016-12-07 | 新奥特(北京)视频技术有限公司 | 基于Qt环境的音视频处理方法和装置以及客户端 |
CN109413478A (zh) * | 2018-09-26 | 2019-03-01 | 北京达佳互联信息技术有限公司 | 视频编辑方法、装置、电子设备及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8655148B2 (en) * | 2012-06-05 | 2014-02-18 | Hulu, LLC | Picture overlay of captions on video via out of band communication |
US20150199387A1 (en) * | 2013-03-14 | 2015-07-16 | Google Inc. | Systems and methods for determining capabilities of a web browser |
CN107770626B (zh) * | 2017-11-06 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 视频素材的处理方法、视频合成方法、装置及存储介质 |
CN111641838A (zh) * | 2020-05-13 | 2020-09-08 | 深圳市商汤科技有限公司 | 一种浏览器视频播放方法、装置以及计算机存储介质 |
CN111510744B (zh) * | 2020-07-01 | 2020-10-16 | 北京美摄网络科技有限公司 | 一种处理视音频的方法、装置、电子设备及存储介质 |
WO2022007545A1 (zh) * | 2020-07-06 | 2022-01-13 | 聚好看科技股份有限公司 | 一种视频集锦的生成方法及显示设备 |
CN112104896B (zh) * | 2020-08-31 | 2023-04-07 | 火星语盟(深圳)科技有限公司 | 字幕编辑方法、终端、服务器、***及存储介质 |
GB2601364B (en) * | 2020-11-27 | 2023-09-06 | V Nova Int Ltd | Decoding a video stream within a browser |
CN112714326A (zh) * | 2020-12-09 | 2021-04-27 | 新奥特(北京)视频技术有限公司 | 一种ibc***中基于浏览器的视音频剪辑方法和装置 |
US11727200B2 (en) * | 2020-12-11 | 2023-08-15 | Apollo Intelligent Connectivity (Beijing) Technology Co., Ltd. | Annotation tool generation method, annotation method, electronic device and storage medium |
CN112541353A (zh) * | 2020-12-24 | 2021-03-23 | 北京百度网讯科技有限公司 | 视频生成方法、装置、设备和介质 |
CN113301393B (zh) * | 2021-04-22 | 2023-06-30 | 深圳市鹰硕智能科技有限公司 | 流媒体数据的播放与互动方法、装置、***及存储介质 |
CN113342247B (zh) * | 2021-08-04 | 2021-11-02 | 北京达佳互联信息技术有限公司 | 素材处理方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-15 CN CN202210672917.0A patent/CN115134659B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210881A (zh) * | 2016-07-07 | 2016-12-07 | 新奥特(北京)视频技术有限公司 | 基于Qt环境的音视频处理方法和装置以及客户端 |
CN109413478A (zh) * | 2018-09-26 | 2019-03-01 | 北京达佳互联信息技术有限公司 | 视频编辑方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115134659A (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113891113B (zh) | 视频剪辑合成方法及电子设备 | |
US9715370B2 (en) | Method and system for providing content | |
CN109963162B (zh) | 一种云导播***及直播处理方法、装置 | |
CN108965397A (zh) | 云端视频编辑方法及装置、编辑设备及存储介质 | |
US20070016657A1 (en) | Multimedia data processing devices, multimedia data processing methods and multimedia data processing programs | |
CN112804459A (zh) | 基于虚拟摄像头的图像展示方法、装置、存储介质及电子设备 | |
CN108259620A (zh) | 一种广告编辑和预览方法、智能终端、***及存储装置 | |
CN112651475B (zh) | 二维码显示方法、装置、设备及介质 | |
CN110554874A (zh) | 用于复用SaaS平台网页组件的方法和装置 | |
CN110853121B (zh) | 基于ae的跨平台数据处理的方法及装置 | |
CN110134410B (zh) | 冷启动用户的个性化信息关联方法、装置及存储介质 | |
JP7471510B2 (ja) | ピクチャのビデオへの変換の方法、装置、機器および記憶媒体 | |
CN110784739A (zh) | 基于ae的视频合成方法及装置 | |
CN115134659B (zh) | 视频编辑和配置方法、装置、浏览器、电子设备和存储介质 | |
CN109905753B (zh) | 角标的显示方法和装置、存储介质、电子装置 | |
CN106844763B (zh) | 一种对互联网媒体文件进行修改式展现的方法及其装置 | |
CN102065338A (zh) | 一种数字电视交互服务标签语言解析方法及*** | |
CN111242688A (zh) | 动画资源的制作方法、装置、移动终端和存储介质 | |
CN116962807A (zh) | 视频渲染方法、装置、设备及存储介质 | |
US10250405B2 (en) | Advertisement management of internet communication with devices on a mobile platform | |
GB2573043A (en) | Plug-ins as microservices | |
CN115904372A (zh) | 数据处理方法及装置 | |
CN115131470A (zh) | 一种图文素材合成方法、装置、电子设备和存储介质 | |
CN111708522B (zh) | 一种视频播放组件开发方法及装置 | |
CN116883223B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |