CN114501079A - 用于对多媒体数据进行处理的方法及相关设备 - Google Patents
用于对多媒体数据进行处理的方法及相关设备 Download PDFInfo
- Publication number
- CN114501079A CN114501079A CN202210112722.0A CN202210112722A CN114501079A CN 114501079 A CN114501079 A CN 114501079A CN 202210112722 A CN202210112722 A CN 202210112722A CN 114501079 A CN114501079 A CN 114501079A
- Authority
- CN
- China
- Prior art keywords
- video
- data processing
- option
- interface
- server
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 237
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 5
- 238000005520 cutting process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 22
- 238000011161 development Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种用于对多媒体数据进行处理的方法及相关设备。该方法,应用于服务器,并包括:接收终端设备的数据处理请求;基于所述数据处理请求,向所述终端设备提供对应的界面,所述界面中提供数据处理选项;接收所述终端设备发送的数据处理选项信息,所述数据处理选项信息是通过选择所述界面中的数据处理选项而得到的;生成与所述数据处理选项信息对应的可执行文件;以及向所述终端设备发送所述可执行文件。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种用于对多媒体数据进行处理的方法及相关设备。
背景技术
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
针对音视频数据的处理,一般可以采用FFmpeg来实现。但是,研发人员在基于音视频数据的开发过程中需要消耗大量精力和时间摸索视频图像处理方法,降低了开发效率。
发明内容
鉴于此,本公开提出一种用于对多媒体数据进行处理的方法及相关设备。
本公开第一方面,提供了一种用于对多媒体数据进行处理的方法,应用于服务器,包括:
接收终端设备的数据处理请求;
基于所述数据处理请求,向所述终端设备提供对应的界面,所述界面中提供数据处理选项;
接收所述终端设备发送的数据处理选项信息,所述数据处理选项信息是通过选择所述界面中的数据处理选项而得到的;
生成与所述数据处理选项信息对应的可执行文件;以及
向所述终端设备发送所述可执行文件。
本公开第二方面,提供了一种服务器,包括:
一个或者多个处理器、存储器;以及
一个或多个程序;
其中,所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据第一方面所述的方法的指令。
本公开第三方面,提供了一种用于对多媒体数据进行处理的系统,包括:
如第二方面所述的服务器;以及
终端设备,被配置为:
向所述服务器发送数据处理请求;
接收并展示所述服务器提供的界面;
向所述服务器发送基于所述界面生成的数据处理选项信息;以及
接收所述服务器发送的与所述数据处理选项信息对应的可执行文件。
本公开第四方面,提供了一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行第一方面所述的方法。
本公开第五方面,提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如第一方面所述的方法。
本公开提供的用于对多媒体数据进行处理的方法及相关设备,根据数据处理请求和数据处理选项生成可执行文件,从而大大缩减了音视频服务的开发周期。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开实施例所提供的示例性系统的示意图。
图2A示出了根据本公开实施例的示例性第一界面的示意图。
图2B示出了根据本公开实施例的示例性第二界面的示意图。
图3A示出了根据本公开实施例的一种示例性拼接视频过程的流程示意图。
图3B示出了根据本公开实施例的一种示例性目标视频的示意图。
图3C示出了根据本公开实施例的另一示例性拼接视频过程的流程示意图。
图3D示出了根据本公开实施例的一种示例性视频处理过程的流程示意图。
图3E示出了根据本公开实施例的一种示例性目标视频的示意图。
图3F示出了根据本公开实施例的示例性视频镜像处理过程的流程示意图。
图3G示出了根据本公开实施例的添加文字水印的目标视频的示意图。
图3H示出了根据本公开实施例的添加图片水印的目标视频的示意图。
图4示出了本公开实施例所提供的示例性方法的流程示意图。
图5示出了本实施例所提供的一种示例性电子设备的硬件结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的跨平台开源库,包括领先的音/视频编码库,并兼容Windows、Linux和MacOS操作系统。在协议上,FFmpeg支持HTTP、RTP、RTSP、RTMP、RTSP等多种协议;在音视频格式上,支持AVI、FLV、MOV、MP4等多种格式。FFmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换、多种码率转换等。并且,FFmpeg提供了多种丰富的插件模块,包含封装与解封装的插件、编码与解码的插件等。FFmpeg提供命令行和SDK两种使用方式,方便不同需求的开发者使用。
但是,研发人员在利用FFmpeg进行开发的过程中,通常需要消耗大量精力和时间摸索视频图像处理方法,这降低了开发效率。
鉴于此,本公开实施例提供了一种用于对多媒体数据进行处理的方法及相关设备,通过根据用户的数据处理请求和数据处理选项直接为用户生成可执行文件,从而大大缩减了开发周期。
图1示出了本公开实施例所提供的示例性系统100的示意图。
如图1所示,该系统100可以用于对多媒体数据(例如,视频、音频、图片)进行处理,并可以进一步包括服务器200和终端设备300。
服务器200可以是企业内部布设的服务器或者企业购买或租用的商业服务器。服务器200的数量可以是一台或多台,在服务器200是多台的情况下,可以采用分布式架构形成服务器集群。在一些实施例中,如图1所示,该系统100还可以进一步包括数据库服务器202,该数据库服务器202可以用于存储数据,并且,服务器200可以根据需要从该数据库服务器202中调用相应的数据。
终端设备300可以是各种类型的固定终端或移动终端。例如,终端设备300可以是个人电脑、笔记本电脑等计算机设备。终端设备300与服务器200可以通过有线网络或无线网络进行通信,从而实现数据交互。
在一些实施例中,服务器200可以是提供FFmpeg开发服务的服务器,终端设备300可以是普通的音视频用户或音视频软件的研发人员对应的操作设备,并且,可以通过服务器200来使用FFmpeg的相关功能。
回到图1,用户或研发人员可以通过终端设备300向服务器200发送数据处理请求302,该数据处理请求302可以用于向服务器200请求提供制作音视频的相关服务。
终端设备300向服务器200发送数据处理请求302的方式,可以是通过终端设备300中安装的浏览器或软件等工具来发出。例如,通过在浏览器的地址栏中输入服务器200相应的网址/IP地址等,从而向服务器200发送数据处理请求302。又例如,通过打开相应的音视频制作软件,从而向提供该软件服务的服务器200发送该数据处理请求302。
服务器200在接收到该数据处理请求302之后,可以向终端设备300提供对应的界面,该界面中可以提供数据处理选项,以便用户基于这些数据处理选项来进行选择。
在一些实施例中,该数据处理请求302与终端设备300的数据处理模式相对应,服务器200可以根据接收到的数据处理请求302来确定该终端设备300的数据处理模式。而根据终端设备300的数据处理模式的不同,服务器200向终端设备300提供的界面可以是不同的。
在一些实施例中,当终端设备300的数据处理模式为第一处理模式时,服务器200向终端设备300提供的是第一界面。该第一处理模式,例如,可以是轻量级的数据处理模式,并可以根据用户选择的数据处理选项生成一些简单的源代码(低代码模式)。
图2A示出了根据本公开实施例的示例性第一界面204的示意图。
如图2A所示,第一界面204中提供了数据处理选项,其中,该数据处理选项可以进一步包括视频处理操作选项和图片处理操作选项。
视频处理操作选项可以包括,例如,合并视频、切割视频、视频添加水印、视频删除水印、视频加音频、视频截图、修改视频码率、修改视频色彩空间、视频转GIF、视频关键帧、视频等比放大/缩小,等等。并且,第一界面204中,在视频处理操作选项窗口的底部设置“更多”按钮,用户点击该按钮之后,第一界面204中可以展开更多的视频处理操作选项,以供用户选择。
图片处理操作选项可以包括,例如,合并图片、图片转视频、图片加水印、图片压缩、多图片转GIF,等等。并且,第一界面204中,在图片处理操作选项窗口的底部也可以设置“更多”按钮,用户点击该按钮之后,第一界面204中可以展开更多的图片处理操作选项,以供用户选择。
在一些实施例中,第一界面204中还可以包括编程语言选项,用于供用户对编程语言进行选择,进而可以基于用户选择的编程语言来生成相应的源代码。这样,用户就可以根据实际需求来让系统100为其生成想要的编程语言所编写的源代码,更符合用户的定制化需求。如图2A所示,第一界面204中的编程语言选项提供了几个基础选项,这些基础选项可以是一般场景下的常用选项,例如,Java、Golang、C语言、Python。在一些实施例中,根据用户的使用频率(例如,最近7天内使用该编程语言选项生成源代码的次数超过10次),可以将这些基础选项进行替换、重新排序等,从而更加符合用户的使用习惯。并且,第一界面204中,在编程语言选择窗口的一侧还可以设置“更多”按钮,用户点击该按钮之后,第一界面204中可以展开更多的编程语言选项,以供用户选择。在一些实施例中,考虑到Java语言的通用性,编程语言选项可以默认勾选“Java”选项,用户若需更换编程语言,可自行调整。
如图2A所示,在一些实施例中,第一界面204中还可以包括源代码展示窗口2042,该源代码展示窗口2042用于展示基于用户选择的编程语言选项对应的编程语言所编写的源代码。
在一些实施例中,当终端设备300的数据处理模式为第二处理模式时,服务器200向终端设备300提供的是第二界面。该第二处理模式,例如,可以是重量级的数据处理模式,并可以根据用户选择的数据处理选项生成用于调用相应的微服务API接口的软件开发工具包(SDK)。
图2B示出了根据本公开实施例的示例性第二界面206的示意图。
如图2B所示,第二界面206中提供了数据处理选项,其中,该数据处理选项可以进一步包括视频处理接口选项和图片处理接口选项。
视频处理接口选项可以包括,例如,获取所有视频素材、获取视频基本信息、空间维度拼接视频、时间维度拼接视频、制作视频画中画、按指定分辨率裁剪视频、裁剪指定时长的视频、修改视频码率、修改视频色彩空间、制作视频镜像、视频等比放大/缩小、获取视频首帧、获取视频尾帧、九宫格拼接视频,等等。可以理解的是,图2B中仅是示例性地例举了一些视频处理接口选项,根据实际需要,这些视频处理接口选项是可以增减、修改的。
图片处理接口选项可以包括,例如,获取图片基本信息、图片拼接、单张图片转为视频、图片序列转为GIF、获取图片缩略图、图片压缩、图片序列转视频、图片添加水印,等等。可以理解的是,图2B中仅是示例性地例举了一些图片处理接口选项,根据实际需要,这些图片处理接口选项是可以增减、修改的。
接着,终端设备300通过展示界面204或206来向用户提供可供选择的数据处理选项。用户通过选择界面204或206中的数据处理选项,进而终端设备300可以生成携带相应的数据处理选项信息304的消息发送到服务器200。例如,用户在选择所需的数据处理选项之后,通过点击界面204或206中的“提交”按钮,使终端设备300基于这些被选择的数据处理选项而生成携带对应的数据处理选项信息304的消息并发送到服务器200。在一些实施例中,如图2A和2B所示,界面204和206中还可以设置“重置”按钮,用户点击该按钮之后,可以重置其已经选择的选项,从而重新开始选择。
服务器200在接收到终端设备300发送的数据处理选项信息之后,可以基于该数据处理选项信息生成与该数据处理选项信息对应的可执行文件208,然后将该可执行文件208发送给终端设备300。
根据终端设备300的数据处理模式的不同,服务器200生成的可执行文件208可以是不同的。
在一些实施例中,当终端设备300的数据处理模式为第一处理模式时,服务器200可以生成与该数据处理选项信息304对应的源代码文件。在一些实施例中,当数据处理选项信息304包括编程语言选项信息,服务器200可以基于该编程语言选项对应的编程语言,生成与该数据处理选项信息304对应的源代码文件。例如,若用户选择的是Java选项,则生成的源代码文件是用Java语言编写的。
终端设备300在接收到该源代码文件之后,可以将该源代码文件对应的源代码展示在源代码展示窗口2042中。在一些实施例中,用户还可以点击界面204中的“一键复制”按钮,使终端设备300将该源代码复制下来,然后用户可以将该源代码粘贴到其所开发的项目对应的程序文件中。在另一些实施例中,用户还可以点击界面204中的“导出文件”按钮,使终端设备300基于该源代码生成相应的可执行文件,例如,.java文件,进而,用户可以直接将该文件放入项目中进行对应方法的调用。
可以理解的是,在一些实施例中,服务器200可以预先在数据库服务器202中存储各编程语言所编写的与数据处理选项相对应的源代码,并可以基于该数据处理选项信息304与数据库服务器202中存储的源代码进行匹配,然后将匹配得到的源代码返回给终端设备300。可以理解的是,一段源代码可以与一个数据处理选项相对应,当用户选择了多个数据处理选项时,生成的源代码可以是多段,并可顺序形成在源代码文件中。
在另一些实施例中,当终端设备300的数据处理模式为第二处理模式时,服务器200可以生成与该数据处理选项信息304对应的软件开发工具包。具体地,服务器200可以根据数据处理选项信息304来确定对应的数据处理选项所需调用的API接口,然后,基于数据处理选项所需调用的API接口,生成对应的软件开发工具包(SDK)。
在一些实施例中,该API接口可以是微服务架构所提供的可调用的接口,不同的API接口可以相应实现不同的数据处理功能,因此,选择不同的API接口可以对应调用相应的微服务所提供的多媒体数据的处理功能。该微服务架构可以与服务器200集成在一起,形成提供微服务的服务器集群。服务器200在生成SDK时,可以根据所需调用的微服务的API接口来生成相应的SDK。可以理解的是,SDK可以与数据处理选项一一对应,也可以一个SDK对应多个数据处理选项。
终端设备300在接收到SDK之后,用户只需在项目中导入该SDK,就可以在需要的时候按接口调用方式调用对应的方法。
由此可见,本公开实施例所生成的可执行文件(例如,源代码或SDK),可以让用户直接将其添加到其正在开发的产品(或软件)中,使得该产品(或软件)具有相应的可执行文件所能实现的多媒体数据处理功能,不需要用户自行编写该可执行文件。特别是,当用户使用FFmpeg来实现多媒体数据处理功能时,也不需要花费过多的精力去学习FFmpeg的底层技术,从而大大减小了开发难度,提高了开发效率。
在一些实施例中,数据处理选项可以包括第一视频合并选项,用于对多个视频进行空间维度的拼接,例如,将多个视频按多宫格的方式在空间维度进行拼接。终端设备300在运行第一视频合并选项对应的SDK时,可以将相应的第一参数发送到服务器200。可以理解的是,该第一视频合并选项对应的SDK可以是集成在某个音视频制作软件中,运行第一视频合并选项对应的SDK可以是在该音视频制作软件中选择了第一视频合并选项对应的功能从而运行了该SDK。该SDK运行起来之后,相应地调用服务器200的微服务架构中对应的API接口,从而传入相应的第一参数,以使微服务架构中的微服务基于该第一参数来处理数据。因此,相应地,服务器200的相应的API接口可以接收该第一参数,然后基于该第一参数进行视频合并处理。该第一参数,可以包括画布的大小、拼接视频的行列数、每个视频文件/视频流的分辨率和具体选中的视频文件/视频流等参数。
在进行视频合并处理时,服务器200的微服务架构中对应的微服务可以先创建空白的覆盖画布(overlay canvas);例如,借助FFmpeg的nullsrc,根据第一参数中的画布大小来创建一个指定大小的空白的overlay画布。
然后,可以根据第一参数中的拼接视频的行列数,确定多个视频文件的画面在该覆盖画布上的对应位置。例如,当行列数均为2时,采用四宫格来拼接视频,各视频文件的对应位置可以是左上(upperleft)、左下(lowerleft)、右上(upperright)、右下(lowerright)。用户还可以在第一参数中指定相应的视频文件/视频流在四宫格中的位置,该参数和对应的视频文件/视频流的参数都可以在第一参数中并被服务器200所获知。
接着,可以根据第一参数中的每个视频流的分辨率和具体选中的视频文件/视频流,将多个视频文件的画面对应叠加在所述覆盖画布上的对应位置以得到目标视频。例如,将覆盖画布作为基准通道并命名为[base],之后分别用四个通用通道[0:v]、[1:v]、[2:v]和[3:v]将输入的每一路视频文件或视频流取出,并重新放置到指定位置的视频通道[upperleft]、[upperright]、[lowerleft]和[lowerright],这四个通道的位置或分辨率大小根据第一参数中的指定参数进行配置。通道中的视频文件/视频流可以依据通道的配置进行适配。最终输入的四个视频文件/视频流会依次平铺在nullsrc生成的空白的覆盖画布上。
结合图3A,通道累积过程示例如下:
①[base][upperleft]——>[tmp1]
②[tmp1][upperright]——>[tmp2]
③[tmp2][lowerleft]——>[tmp3]
④[tmp3][lowerright]——>结果
基于上述原理,当API接口接收到包括画布的大小、拼接视频的行列数、每个视频文件/视频流的分辨率和具体选中的视频文件/视频流的第一参数后,服务器200可以依据拼接原理完成视频的拼接,从而得到目标视频,如图3B所示。
然后,服务器200可以将该目标视频发送给终端设备300,终端设备300可以显示该目标视频,显示效果如图3B所示。
在传统视频监控系统中,监管人员需要观看多个分镜头画面,很难将零散的分镜头视频与其实际地理位置对应,无法对大场景进行全局实时监测和历史事件的快速回溯查找,海量零散监控视频资源既“看不过来”又“看不太懂”。因此,在一些实施例中,视频拼接处理的一个可选应用场景可以是城市指挥中心系统的监控场景,从而可以利用拼接视频来将多个监控摄像头采集的多角度画面融合为一个画面,进而方便监控人员的全局监测。
在一些实施例中,数据处理选项可以包括第二视频合并选项,用于对多个视频进行时间维度的拼接,例如,将多个视频按时间顺序在时间维度进行拼接。终端设备300在运行第二视频合并选项对应的SDK时,可以将相应的第二参数发送到服务器200,第二参数传入服务器200的方式与第一参数类似,在此不再赘述。该第二参数可以包括具体选中的视频文件/视频流及其拼接顺序等参数。
为了兼容各视频格式,在拼接视频之前,服务器200的微服务架构中对应的微服务可以根据第二参数中的用户具体选中的视频文件/视频流,先将这些视频文件/视频流分别处理为预定格式的文件。例如,可以将视频文件/视频流包装到TS格式的容器中。TS全称为MPEG2-TS,MPEG2-TS格式的特点是从视频流的任意片段开始都是可以独立解码的。
然后,根据第二参数中的拼接顺序,将多个所述预定格式的文件按顺序合并得到目标视频。例如,可以利用FFmpeg提供的concat滤镜按照拼接顺序进行合并,然后输出到指定的文件中得到目标视频,如图3C所示。
接着,服务器200可以将该目标视频发送给终端设备300,终端设备300可以显示该目标视频。
通过时间维度的视频拼接,将多个视频按顺序拼接为一个视频,方便用户使用和保存。例如,在一些活动中,用户利用相机、手机等设备拍摄了多段视频,但这些视频都是在该活动中拍摄,具有相同的主题,通过时间维度的视频拼接,将这些视频合成为一个视频,方便用户进行分享和保存。
在一些实施例中,数据处理选项可以包括画中画选项,用于将多个视频处理成画中画视频。终端设备300在运行画中画选项对应的SDK时,可以将相应的第三参数发送到服务器200,第三参数传入服务器200的方式与第一参数类似,在此不再赘述。该第三参数可以包括具体选中的视频文件/视频流及其属于前景视频或背景视频、前景视频的位置及大小等参数。
服务器200的微服务架构中对应的微服务可以根据第三参数中的用户具体选中的视频文件/视频流及其属于前景视频或背景视频,先为背景视频文件和前景视频文件分别创建背景图层(overlay1)和前景图层(overlay_1~n)。
然后,将所述背景视频文件和所述前景视频文件分别对应与所述背景图层(overlay1)和所述前景图层(overlay_1~n)进行绑定以得到目标视频。其中,每个图层对应接收相应的视频文件,并且,背景视频文件的overlay还用来接收前景视频文件的图层。例如,可以借助FFmpeg提供的overlay滤镜的视频叠加技术特性对视频进行绑定处理,并且,可以根据第三参数中的前景视频的位置及大小等参数来设置前景视频的位置和大小。画中画处理过程如图3D所示,处理得到的目标视频如图3E所示。
可以理解的是,overlay图层接收的媒体类型可以是视频文件、图片文件和视频流,并可以兼容所有的视频图像格式,视频格式如.mp4、.flv或.avi等,图片格式如.gif、.png或.bmp等。因此,得到的画中画目标视频,其中的背景、前景均可以是视频或图片等,合成得到的目标视频能够多种多样。
接着,服务器200可以将该目标视频发送给终端设备300,终端设备300可以显示该目标视频,显示效果如图3E所示。
在一些实施例中,画中画处理的一个可选应用场景可以是城市指挥中心系统的监控场景,从而可以利用画中画视频来提供多角度观测画面。例如,在背景视频中可以是某一城市主要路标位置(例如,某一繁华街道的十字路口)的一个角度的监控画面,而在前景视频1和前景视频2中,可以是从另外两个角度采集的该主要路标位置的监控画面。作为一个可选实施例,前景视频1和前景视频2可以是针对背景视频中的某一目标对象(例如,物体、行人)的放大监控画面,从而可以在前景视频中提供从两个角度观察该目标对象的放大画面,进而提供针对目标对象的多角度观测画面,丰富了监控功能,提高监控效率。
在一些实施例中,画中画处理的一个可选应用场景还可以是比赛直播场景,从而可以利用画中画视频来提供多角度观看的比赛画面。以足球比赛为例,在背景视频中可以是整个球场的全景画面,而在前景视频1和前景视频2中,可以是从另外两个角度采集的该球场的画面。作为一个可选实施例,前景视频1和前景视频2可以是针对背景视频中的某个球员的从两个角度观察的放大画面,从而可以在画中画视频中提供针对该球员的多角度观测画面,提升了比赛观看效果和用户体验。
在一些实施例中,数据处理选项可以包括视频镜像选项,用于将视频处理成镜像的视频。终端设备300在运行视频镜像选项对应的SDK时,可以将相应的第四参数发送到服务器200,第四参数传入服务器200的方式与第一参数类似,在此不再赘述。该第四参数可以包括具体选中的视频文件/视频流、裁剪的分辨率及起始点、镜像的方向(例如,水平镜像或垂直镜像、旋转角度等)等参数。
图3F示出了根据本公开实施例的示例性视频镜像处理过程的示意图。如图3F所示,服务器200的微服务架构中对应的微服务可以根据第四参数中的用户具体选中的视频文件/视频流,将该选中的视频文件/视频流分割为相同的第一视频流和第二视频流。其中,第一视频流保持原样,第二视频流进行镜像的相应处理。例如,借助FFmpeg的AVFilter滤镜模块,将该选中的视频文件/视频流分割为相同的第一视频流和第二视频流。
然后,根据第四参数中的裁剪的分辨率及起始点,将该第二视频流进行裁剪处理。例如,利用FFmpeg提供的crop滤镜对该第二视频流做裁剪操作,得到裁剪处理后的第二视频流。其中,裁剪操作对应有w:h:x:y四个参数,其中,w和h表示裁剪后视频的分辨率,x和y表示相对原视频原点裁剪的起始点。
接着,根据第四参数中的镜像的方向,将裁剪处理后的第二视频流进行镜像处理,得到镜像处理后的第二视频流。其中,根据镜像的方向的不同,使用的FFmpeg提供的滤镜可以是不同的。例如,vflip滤镜可以对视频做垂直翻转操作,hflip滤镜可以对视频做水平翻转操作,rotate滤镜可以对视频做指定角度的旋转。
最后,将镜像处理后的第二视频流与所述第一视频流合并以得到目标视频,其中,镜像处理后的第二视频流对应的图层位于所述目标视频的顶层图层。例如,将第二视频流合并到原有的overlay图层中,并显示在最上面一层,进而输出目标视频。
接着,服务器200可以将该目标视频发送给终端设备300,终端设备300可以显示该目标视频。
通过对视频进行镜像处理,特别是,选择视频的一部分来进行镜像处理,能够丰富视频的显示效果。例如,通过选择视频中心区域来形成镜像,视频边缘区域保持原状,使得整个视频的中心区域与边缘区域形成镜像反差,使得镜像处理后的视频具有特别的效果,提升了视频的趣味性和观赏性。
在一些实施例中,数据处理选项可以包括添加水印选项,用于给视频添加水印,水印可以是文字也可以是图片,用来标记视频所属或进行特效的添加。终端设备300在运行添加水印选项对应的SDK时,可以将相应的第五参数发送到服务器200,第五参数传入服务器200的方式与第一参数类似,在此不再赘述。针对水印类型的不同,第五参数可以是不同的。例如,针对文字水印,该第五参数可以包括具体选中的视频文件/视频流、水印文字、字体格式、字体颜色、字体大小、文字背景、文字背景颜色以及文字水印相对视频原点的位置等参数。又例如,针对图片水印,该第五参数可以包括具体选中的视频文件/视频流、水印图片和水印的宽高、图片水印相对视频原点的位置等参数。
服务器200的微服务架构中对应的微服务可以根据第五参数中的用户具体选中的视频文件/视频流,在该选中的视频文件/视频流的对应位置添加水印以得到目标视频,图3G和图3H分别示出了根据本公开实施例的添加文字水印和添加图片水印的目标视频的示意图。其中,文字水印添加可以借助FFmpeg提供的drawtext滤镜来实现;图片水印可以借助FFmpeg提供的movie和overlay两个滤镜构成的滤镜链实现,其中movie滤镜根据第五参数来指定水印图片和水印的宽高,overlay滤镜用来根据第五参数设置水印与视频原点的相对位置。
通过在视频中添加文字或图片水印,能够为视频标记来源,起到保护知识产权的作用。
需要说明的是,前述的一些实施例中,以视频文件为例进行了说明。可以理解的是,本公开实施例也同样可以应用在其他多媒体文件中,例如,图片文件。因此,基于相同的思路,这些实施例也可以对图片文件进行处理,或者,对视频文件和图片文件进行混合处理。
还需要说明的是,前述运行SDK并进行数据处理的实施例是针对终端产品中加入相应SDK的实施例来进行说明,实际上,针对本公开实施例中提出的第一处理模式可知,当终端产品中是直接添加的相应的源代码,则终端设备300本身即可执行相应的数据处理,而无需通过调用服务器提供的微服务的API接口来实现数据处理,而这些由终端设备执行数据处理操作的实施例,也属于本公开的保护范围。
可以看到,本公开实施例通过提供两种数据处理模式,用户可以依据数据处理需求的多少来选择对应的实施方式。
如果用户业务中对视频图片的处理并不是强需求,处理操作只会在一些特定的需求下出现,并且没有太多复杂处理逻辑,此时用户可以采用第一处理模式(轻量级)来获取所需的可执行的源代码。
如果用户业务中需要频繁地进行视频图片处理,并且涉及到视频图片处理的更多细节,则用户可选择采用第二处理模式(重量级),通过调用API接口来实现相应的功能。在一些实施例中,通过借助微服务架构所提供的更全面的视频图片处理操作相关接口,进而在项目的业务中可以随意组合使用相应功能的接口。
本公开实施例提供的用于对多媒体数据进行处理的系统100,通过分析FFmpeg开源库的音视频处理技术,结合实际业务将FFmpeg各单一的功能点进行了矢量融合,并兼容了不同的编程语言和系统环境,同时提供了布局合理的交互界面。
本公开实施例提供的用于对多媒体数据进行处理的系统100,通过提供简单易用的交互方式,为研发人员提供支持多编程语言的可执行程序,并为研发人员提供视频图像处理微服务。通过本公开实施例提供的解决方案,避免了因缺乏视频图像处理的专业知识而花费大量精力查找资料,同时可以大幅提高开发效率和降低开发成本。
本公开实施例还提供了一种用于对多媒体数据进行处理的方法。图4示出了本公开实施例所提供的示例性方法400的流程示意图。该方法400可以应用于图1的服务器200。如图4所示,该方法400可以进一步包括以下步骤。
在步骤402,服务器200可以接收终端设备(例如,图1的终端设备300)的数据处理请求(例如,图1的请求302)。
在步骤404,服务器200可以基于所述数据处理请求,向所述终端设备提供对应的界面,所述界面中提供数据处理选项。
在一些实施例中,所述数据处理请求与所述终端设备的数据处理模式相对应;基于所述数据处理请求,向所述终端设备提供对应的界面,包括:基于所述数据处理请求,确定所述终端设备的所述数据处理模式;响应于确定所述终端设备的所述数据处理模式为第一处理模式,向所述终端设备提供第一界面(例如,图2A的界面204);或者响应于确定所述终端设备的所述数据处理模式为第二处理模式,向所述终端设备提供第二界面(例如,图2B的界面206)。
在一些实施例中,所述第一界面中还包括源代码展示窗口(例如,图2A的窗口2042),所述源代码展示窗口用于展示基于所述编程语言选项对应的编程语言所编写的源代码。
在步骤406,服务器200可以接收所述终端设备发送的数据处理选项信息(例如,图1的选项信息304),所述数据处理选项信息是通过选择所述界面中的数据处理选项而得到的。
在步骤408,服务器200可以生成与所述数据处理选项信息对应的可执行文件(例如,图1的文件208)。
在一些实施例中,所述第一界面中提供的数据处理选项包括编程语言选项,生成与所述数据处理选项信息对应的源代码文件,包括:基于所述编程语言选项对应的编程语言,生成与所述数据处理选项信息对应的源代码文件。
在一些实施例中,生成与所述数据处理选项信息对应的软件开发工具包,包括:确定所述数据处理选项信息中的数据处理选项所需调用的接口;以及基于所述数据处理选项所需调用的接口,生成所述软件开发工具包。
在步骤410,服务器200可以向所述终端设备发送所述可执行文件。
在一些实施例中,生成与所述数据处理选项信息对应的可执行文件,包括:响应于所述终端设备的所述数据处理模式为第一处理模式,生成与所述数据处理选项信息对应的源代码文件;或者响应于所述终端设备的所述数据处理模式为第二处理模式,生成与所述数据处理选项信息对应的软件开发工具包。
在一些实施例中,所述数据处理选项包括第一视频合并选项;所述方法还包括:接收所述终端设备通过运行所述第一视频合并选项对应的软件开发工具包而发送的第一参数;根据所述第一参数,创建空白的覆盖画布;根据所述第一参数,确定多个视频文件的画面在所述覆盖画布上的对应位置;根据所述第一参数,将多个视频文件的画面对应叠加在所述覆盖画布上的对应位置以得到目标视频;以及将所述目标视频发送给所述终端设备。
在一些实施例中,所述数据处理选项包括第二视频合并选项;所述方法还包括:接收所述终端设备通过运行所述第二视频合并选项对应的软件开发工具包而发送的第二参数;根据所述第二参数,将多个视频文件分别处理为预定格式的文件;根据所述第二参数,将多个所述预定格式的文件按顺序合并得到目标视频;以及将所述目标视频发送给所述终端设备。
在一些实施例中,所述数据处理选项包括画中画选项;所述方法还包括:接收所述终端设备通过运行所述画中画选项对应的软件开发工具包而发送的第三参数;根据所述第三参数,为背景视频文件和前景视频文件分别创建背景图层和前景图层;将所述背景视频文件和所述前景视频文件分别对应与所述背景图层和所述前景图层绑定以得到目标视频;以及将所述目标视频发送给所述终端设备。
在一些实施例中,所述数据处理选项包括视频镜像选项;所述方法还包括:接收所述终端设备通过运行所述视频镜像选项对应的软件开发工具包而发送的第四参数;根据所述第四参数,将视频文件分割为相同的第一视频流和第二视频流;根据所述第四参数,将所述第二视频流进行裁剪处理;根据所述第四参数,将裁剪处理后的第二视频流进行镜像处理;将镜像处理后的第二视频流与所述第一视频流合并以得到目标视频,其中,镜像处理后的第二视频流对应的图层位于所述目标视频的顶层图层;以及将所述目标视频发送给所述终端设备。
在一些实施例中,所述数据处理选项包括添加水印选项;所述方法还包括:接收所述终端设备通过运行所述添加水印选项对应的软件开发工具包而发送的第五参数;根据所述第五参数,在视频文件的对应位置添加水印以得到目标视频;以及将所述目标视频发送给所述终端设备。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法400相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的方法400。
图5示出了本实施例所提供的一种更为具体的电子设备500的硬件结构示意图。该设备500可以用于实现图1的服务器200,在一些实施例中,终端设备300也可以具有设备500的结构。如图5所示,该设备500可以包括:处理器502、存储器504、输入/输出接口506、通信接口508和总线510。其中处理器502、存储器504、输入/输出接口506和通信接口508通过总线510实现彼此之间在设备内部的通信连接。
处理器502可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器504可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器504可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器504中,并由处理器502来调用执行。
输入/输出接口506用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口508用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线510包括一通路,在设备的各个组件(例如处理器502、存储器504、输入/输出接口506和通信接口508)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器502、存储器504、输入/输出接口506、通信接口508以及总线510,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的方法400,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的方法400。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的方法400,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法400相对应的,本公开还提供了一种计算机程序产品,其包括计算机程序。在一些实施例中,所述计算机程序由一个或多个处理器可执行以使得所述处理器执行所述的方法400。对应于方法400各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
上述实施例的计算机程序产品用于使处理器执行如上任一实施例所述的方法400,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (16)
1.一种用于对多媒体数据进行处理的方法,应用于服务器,包括:
接收终端设备的数据处理请求;
基于所述数据处理请求,向所述终端设备提供对应的界面,所述界面中提供数据处理选项;
接收所述终端设备发送的数据处理选项信息,所述数据处理选项信息是通过选择所述界面中的数据处理选项而得到的;
生成与所述数据处理选项信息对应的可执行文件;以及
向所述终端设备发送所述可执行文件。
2.如权利要求1所述的方法,其中,所述数据处理请求与所述终端设备的数据处理模式相对应;基于所述数据处理请求,向所述终端设备提供对应的界面,包括:
基于所述数据处理请求,确定所述终端设备的所述数据处理模式;
响应于确定所述终端设备的所述数据处理模式为第一处理模式,向所述终端设备提供第一界面;或者
响应于确定所述终端设备的所述数据处理模式为第二处理模式,向所述终端设备提供第二界面。
3.如权利要求2所述的方法,其中,生成与所述数据处理选项信息对应的可执行文件,包括:
响应于所述终端设备的所述数据处理模式为第一处理模式,生成与所述数据处理选项信息对应的源代码文件;或者
响应于所述终端设备的所述数据处理模式为第二处理模式,生成与所述数据处理选项信息对应的软件开发工具包。
4.如权利要求3所述的方法,其中,所述第一界面中提供的数据处理选项包括编程语言选项,生成与所述数据处理选项信息对应的源代码文件,包括:
基于所述编程语言选项对应的编程语言,生成与所述数据处理选项信息对应的源代码文件。
5.如权利要求4所述的方法,其中,所述第一界面中还包括源代码展示窗口,所述源代码展示窗口用于展示基于所述编程语言选项对应的编程语言所编写的源代码。
6.如权利要求3所述的方法,其中,生成与所述数据处理选项信息对应的软件开发工具包,包括:
确定所述数据处理选项信息中的数据处理选项所需调用的接口;以及
基于所述数据处理选项所需调用的接口,生成所述软件开发工具包。
7.如权利要求3所述的方法,其中,所述数据处理选项包括第一视频合并选项;所述方法还包括:
接收所述终端设备通过运行所述第一视频合并选项对应的软件开发工具包而发送的第一参数;
根据所述第一参数,创建空白的覆盖画布;
根据所述第一参数,确定多个视频文件的画面在所述覆盖画布上的对应位置;
根据所述第一参数,将多个视频文件的画面对应叠加在所述覆盖画布上的对应位置以得到目标视频;以及
将所述目标视频发送给所述终端设备。
8.如权利要求3所述的方法,其中,所述数据处理选项包括第二视频合并选项;所述方法还包括:
接收所述终端设备通过运行所述第二视频合并选项对应的软件开发工具包而发送的第二参数;
根据所述第二参数,将多个视频文件分别处理为预定格式的文件;
根据所述第二参数,将多个所述预定格式的文件按顺序合并得到目标视频;以及
将所述目标视频发送给所述终端设备。
9.如权利要求3所述的方法,其中,所述数据处理选项包括画中画选项;所述方法还包括:
接收所述终端设备通过运行所述画中画选项对应的软件开发工具包而发送的第三参数;
根据所述第三参数,为背景视频文件和前景视频文件分别创建背景图层和前景图层;
将所述背景视频文件和所述前景视频文件分别对应与所述背景图层和所述前景图层绑定以得到目标视频;以及
将所述目标视频发送给所述终端设备。
10.如权利要求3所述的方法,其中,所述数据处理选项包括视频镜像选项;所述方法还包括:
接收所述终端设备通过运行所述视频镜像选项对应的软件开发工具包而发送的第四参数;
根据所述第四参数,将视频文件分割为相同的第一视频流和第二视频流;
根据所述第四参数,将所述第二视频流进行裁剪处理;
根据所述第四参数,将裁剪处理后的第二视频流进行镜像处理;
将镜像处理后的第二视频流与所述第一视频流合并以得到目标视频,其中,镜像处理后的第二视频流对应的图层位于所述目标视频的顶层图层;以及
将所述目标视频发送给所述终端设备。
11.如权利要求3所述的方法,其中,所述数据处理选项包括添加水印选项;所述方法还包括:
接收所述终端设备通过运行所述添加水印选项对应的软件开发工具包而发送的第五参数;
根据所述第五参数,在视频文件的对应位置添加水印以得到目标视频;以及
将所述目标视频发送给所述终端设备。
12.一种服务器,包括:
一个或者多个处理器、存储器;以及
一个或多个程序;
其中,所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据权利要求1-11任一项所述的方法的指令。
13.一种用于对多媒体数据进行处理的系统,包括:
如权利要求12所述的服务器;以及
终端设备,被配置为:
向所述服务器发送数据处理请求;
接收并展示所述服务器提供的界面;
向所述服务器发送基于所述界面生成的数据处理选项信息;以及
接收所述服务器发送的与所述数据处理选项信息对应的可执行文件。
14.如权利要求13所述的系统,其中,所述可执行文件为与所述数据处理选项信息对应的源代码文件;或者,所述可执行文件为与所述数据处理选项信息对应的软件开发工具包。
15.一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行权利要求1-11中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210112722.0A CN114501079B (zh) | 2022-01-29 | 2022-01-29 | 用于对多媒体数据进行处理的方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210112722.0A CN114501079B (zh) | 2022-01-29 | 2022-01-29 | 用于对多媒体数据进行处理的方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114501079A true CN114501079A (zh) | 2022-05-13 |
CN114501079B CN114501079B (zh) | 2024-10-01 |
Family
ID=81478007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210112722.0A Active CN114501079B (zh) | 2022-01-29 | 2022-01-29 | 用于对多媒体数据进行处理的方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114501079B (zh) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030140174A1 (en) * | 2002-01-08 | 2003-07-24 | Tsutomu Ohishi | Method for generating application for information processing apparatus and image forming apparatus |
US20050021552A1 (en) * | 2003-06-02 | 2005-01-27 | Jonathan Ackley | Video playback image processing |
CN108111874A (zh) * | 2016-11-16 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 一种文件处理方法、终端及服务器 |
CN109640175A (zh) * | 2018-11-21 | 2019-04-16 | 齐乐无穷(北京)文化传媒有限公司 | 一种基于视频文件的区块链加解密方法 |
CN110168599A (zh) * | 2017-10-13 | 2019-08-23 | 华为技术有限公司 | 一种数据处理方法及终端 |
CN110908643A (zh) * | 2018-09-14 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 软件开发工具包的配置方法、装置和系统 |
CN111193876A (zh) * | 2020-01-08 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 视频中添加特效的方法及装置 |
CN111386708A (zh) * | 2017-10-19 | 2020-07-07 | 拉扎尔娱乐公司 | 用于广播直播媒体流的系统和方法 |
US20200301679A1 (en) * | 2018-08-09 | 2020-09-24 | Snapiot Inc | System for creating mobile and web applications from a graphical workflow specification |
CN112131102A (zh) * | 2020-08-28 | 2020-12-25 | 山东浪潮通软信息科技有限公司 | 一种微服务模式下的软件项目管理系统及设备、介质 |
CN112230982A (zh) * | 2020-10-15 | 2021-01-15 | 北京达佳互联信息技术有限公司 | 素材处理方法、装置、电子设备及存储介质 |
CN112860227A (zh) * | 2021-02-08 | 2021-05-28 | 杭州玳数科技有限公司 | 功能性代码组件开发方法 |
CN112966457A (zh) * | 2021-02-26 | 2021-06-15 | 严伟豪 | 一种图形化云开发平台 |
CN113014996A (zh) * | 2021-02-18 | 2021-06-22 | 上海哔哩哔哩科技有限公司 | 视频生成方法及装置 |
CN113050938A (zh) * | 2021-03-08 | 2021-06-29 | 杭州海康机器人技术有限公司 | 视觉软件开发系统、方法、装置及计算机存储介质 |
CN113076155A (zh) * | 2020-01-03 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
CN113168332A (zh) * | 2019-02-22 | 2021-07-23 | 深圳市欢太科技有限公司 | 数据处理方法、装置以及移动终端 |
CN113590098A (zh) * | 2021-07-30 | 2021-11-02 | 中电金信软件有限公司 | 一种软件开发工具包sdk的生成方法、装置及电子设备 |
CN113709549A (zh) * | 2021-08-24 | 2021-11-26 | 北京市商汤科技开发有限公司 | 特效数据包生成、图像处理方法、装置、设备及存储介质 |
CN113891113A (zh) * | 2021-09-29 | 2022-01-04 | 阿里巴巴(中国)有限公司 | 视频剪辑合成方法及电子设备 |
-
2022
- 2022-01-29 CN CN202210112722.0A patent/CN114501079B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030140174A1 (en) * | 2002-01-08 | 2003-07-24 | Tsutomu Ohishi | Method for generating application for information processing apparatus and image forming apparatus |
US20050021552A1 (en) * | 2003-06-02 | 2005-01-27 | Jonathan Ackley | Video playback image processing |
CN108111874A (zh) * | 2016-11-16 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 一种文件处理方法、终端及服务器 |
CN110168599A (zh) * | 2017-10-13 | 2019-08-23 | 华为技术有限公司 | 一种数据处理方法及终端 |
CN111386708A (zh) * | 2017-10-19 | 2020-07-07 | 拉扎尔娱乐公司 | 用于广播直播媒体流的系统和方法 |
US20200301679A1 (en) * | 2018-08-09 | 2020-09-24 | Snapiot Inc | System for creating mobile and web applications from a graphical workflow specification |
CN110908643A (zh) * | 2018-09-14 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 软件开发工具包的配置方法、装置和系统 |
CN109640175A (zh) * | 2018-11-21 | 2019-04-16 | 齐乐无穷(北京)文化传媒有限公司 | 一种基于视频文件的区块链加解密方法 |
CN113168332A (zh) * | 2019-02-22 | 2021-07-23 | 深圳市欢太科技有限公司 | 数据处理方法、装置以及移动终端 |
CN113076155A (zh) * | 2020-01-03 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
CN111193876A (zh) * | 2020-01-08 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 视频中添加特效的方法及装置 |
CN112131102A (zh) * | 2020-08-28 | 2020-12-25 | 山东浪潮通软信息科技有限公司 | 一种微服务模式下的软件项目管理系统及设备、介质 |
CN112230982A (zh) * | 2020-10-15 | 2021-01-15 | 北京达佳互联信息技术有限公司 | 素材处理方法、装置、电子设备及存储介质 |
CN112860227A (zh) * | 2021-02-08 | 2021-05-28 | 杭州玳数科技有限公司 | 功能性代码组件开发方法 |
CN113014996A (zh) * | 2021-02-18 | 2021-06-22 | 上海哔哩哔哩科技有限公司 | 视频生成方法及装置 |
CN112966457A (zh) * | 2021-02-26 | 2021-06-15 | 严伟豪 | 一种图形化云开发平台 |
CN113050938A (zh) * | 2021-03-08 | 2021-06-29 | 杭州海康机器人技术有限公司 | 视觉软件开发系统、方法、装置及计算机存储介质 |
CN113590098A (zh) * | 2021-07-30 | 2021-11-02 | 中电金信软件有限公司 | 一种软件开发工具包sdk的生成方法、装置及电子设备 |
CN113709549A (zh) * | 2021-08-24 | 2021-11-26 | 北京市商汤科技开发有限公司 | 特效数据包生成、图像处理方法、装置、设备及存储介质 |
CN113891113A (zh) * | 2021-09-29 | 2022-01-04 | 阿里巴巴(中国)有限公司 | 视频剪辑合成方法及电子设备 |
Non-Patent Citations (3)
Title |
---|
王晓;踪琳;: "基于OpenCV视觉库的嵌入式视频处理系统", 电子质量, no. 03 * |
贾磊: "无线视频信号采集系统设计", 科技资讯 * |
黄乐丹: "动态链接库与VB多媒体程序设计", 温州职业技术学院学报, no. 01 * |
Also Published As
Publication number | Publication date |
---|---|
CN114501079B (zh) | 2024-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10629166B2 (en) | Video with selectable tag overlay auxiliary pictures | |
CN105376500B (zh) | 用于产生全景视频的视频处理设备及其方法 | |
KR101374034B1 (ko) | 다중 비디오 스트림을 핸들링하는 방법 및 장치 | |
TWI674797B (zh) | 球面區域呈現之方法與裝置 | |
KR101952260B1 (ko) | 다수의 동영상 썸네일을 동시에 표시하기 위한 영상 재생 장치 및 방법 | |
US11563915B2 (en) | Media content presentation | |
JP6754968B2 (ja) | 動画再生方法、動画再生装置及び動画再生プログラムを記憶したコンピュータ読み取り可能な記憶媒体 | |
EP2477415A2 (en) | Method and system of encoding and decoding media content | |
US20140147100A1 (en) | Methods and systems of editing and decoding a video file | |
CN113891113A (zh) | 视频剪辑合成方法及电子设备 | |
CN112667184A (zh) | 一种显示设备 | |
CN113497963B (zh) | 视频处理方法、装置及设备 | |
CN114501079A (zh) | 用于对多媒体数据进行处理的方法及相关设备 | |
CN111918074A (zh) | 直播视频故障预警方法及相关设备 | |
US20110167346A1 (en) | Method and system for creating a multi-media output for presentation to and interaction with a live audience | |
TWI820490B (zh) | 利用衍生視訊軌道實現場景描述的方法和系統 | |
CN113453069B (zh) | 一种显示设备及缩略图生成方法 | |
CN111367598B (zh) | 动作指令的处理方法、装置、电子设备及计算机可读存储介质 | |
CN116566961A (zh) | 用于对多媒体数据进行处理的方法及相关设备 | |
TW202232958A (zh) | 用於導出的沉浸式軌道的方法和系統 | |
CN116980631A (zh) | 文件处理方法、装置、程序产品、计算机设备和介质 | |
CN116684747A (zh) | 图像滤镜应用方法及其装置、设备、介质、产品 | |
Ohmata et al. | 8K Time into Space: Web-Based Interactive Storyboard with Playback for Hundreds of Videos | |
dos Santos Junior et al. | PanView: An Extensible Panoramic Video Viewer for the Web | |
CN114760525A (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 |