CN106804002A - 一种视频处理系统及方法 - Google Patents
一种视频处理系统及方法 Download PDFInfo
- Publication number
- CN106804002A CN106804002A CN201710137617.1A CN201710137617A CN106804002A CN 106804002 A CN106804002 A CN 106804002A CN 201710137617 A CN201710137617 A CN 201710137617A CN 106804002 A CN106804002 A CN 106804002A
- Authority
- CN
- China
- Prior art keywords
- video
- data
- request
- user terminal
- clipping
- 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 76
- 238000012545 processing Methods 0.000 title claims abstract description 73
- 238000003860 storage Methods 0.000 claims abstract description 101
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 51
- 239000000203 mixture Substances 0.000 claims abstract description 50
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 38
- 238000009826 distribution Methods 0.000 claims description 4
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 230000008569 process Effects 0.000 description 20
- 230000000694 effects Effects 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 13
- 239000000463 material Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 239000002699 waste material Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000011068 loading method Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 206010048669 Terminal state Diseases 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 208000035475 disorder Diseases 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47205—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23412—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- 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/27—Server based end-user applications
- H04N21/274—Storing end-user multimedia data in response to end-user request, e.g. network recorder
- H04N21/2743—Video hosting of uploaded data from client
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种视频处理系统及方法,涉及视频处理技术领域,该系统包括:云剪辑子系统和云存储子系统;其中,云剪辑子系统进一步包括:预览模块和合成模块,其中,预览模块,适于从云存储子系统中获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据视频剪辑请求生成与原始视频数据相对应的视频剪辑数据,向用户终端返回与视频剪辑数据相对应的预览内容数据;合成模块,适于接收来自用户终端的视频合成请求,获取与视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与原始视频数据和/或视频剪辑数据相对应的视频合成数据。由此可见,本发明提供更加高效流畅的视频处理操作,且云端存储有效避免文件丢失或损坏。
Description
技术领域
本发明涉及视频处理技术领域,具体涉及一种视频处理系统及方法。
背景技术
剪辑是电影、电视节目制作的工序之一。影片或节目拍摄完成后,依照剧情或节目的发展和结构的要求,将各个镜头的画面和声带,经过选择、整理和修剪,然后按照蒙太奇原理和最富于银幕效果的顺序组接起来,成为一部结构完整、内容连贯、含义明确并具有艺术感染力的影片。剪辑是电影或电视声像素材的分解重组的整个工作,也是一部影片或节目摄制过程中的一次再创作。
视频编辑分为线性编辑和非线性编辑。线性编辑是电视节目的传统编辑方式,在传统的视频编辑中,镜头拍摄、剪辑通常以录像带为存储介质,由于素材在录像带上是顺序存放的,要完成编辑必须反复搜索和复制,并在另一录像带重新安排这些素材,这种编辑方法被称之为线性编辑方法。
非线性编辑是传统设备同计算机技术结合的产物,自数字技术发展起来之后出现了专用的非线性编辑机,可以不按照素材在磁带上的线性位置进行更方便的处理。实际上个人电脑也可以作为一台非线性编辑机,因为所有的素材都捕捉到磁盘上,可以随时处理任何时间线位置上的内容。
目前几乎都采用非线性编辑方法,在非线性编辑中,视频剪辑是其中的一个处理环节,视频剪辑就是对镜头拍摄的视频片段进行剪切、合并等简单处理。由于计算机技术的使用,非线性视频编辑很大程度上方便了视频编辑工作。
但是,发明人在实现本发明的过程中,发现在现有技术中至少存在如下问题:首先,当在个人电脑上进行视频编辑处理时,因为素材较多或者编辑软件的要求,需要较高的个人电脑系统配置才能保证较高的渲染速度,保持高效流畅的视频处理过程;其次,当本地个人电脑上没有合适的素材时,用户需要在处理视频之前,通过网络下载大量所需素材,在视频处理完成后,又要将处理完成的视频上传到指定位置或者发送给指定用户,这对用户个人电脑所连接的网络的带宽和网络质量都提出了较高的要求;最后,当在本地个人电脑上进行视频处理时,如果出现机器故障等问题,会导致未完成编辑处理的视频文件因为没有及时保存而丢失或损坏,造成用户较大的损失。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的视频处理系统和相应的视频处理方法。
根据本发明的一个方面,提供了一种视频处理系统,包括:用于实现视频剪辑处理的云剪辑子系统,以及用于实现视频存储的云存储子系统;其中,云剪辑子系统进一步包括:预览模块和合成模块,其中,
预览模块,适于从云存储子系统中获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据视频剪辑请求生成与原始视频数据相对应的视频剪辑数据,向用户终端返回与视频剪辑数据相对应的预览内容数据;
合成模块,适于接收来自用户终端的视频合成请求,获取与视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与原始视频数据和/或视频剪辑数据相对应的视频合成数据。
优选地,预览模块进一步适于:接收来自用户终端的视频跳转请求,根据视频跳转请求中包含的时间点信息,确定与时间点信息相对应的关键帧,根据关键帧进行解码播放,并向用户终端返回对应的播放数据。
优选地,预览模块向用户终端返回与视频剪辑数据相对应的预览内容数据时,具体用于:根据用户终端的下载速度信息和/或网络流量信息确定预览内容数据的生成速度和/或数据量。
优选地,预览模块进一步适于:接收来自用户终端的分屏预览请求,确定与分屏预览请求相对应的第一类视频数据,生成与所述第一类视频数据相对应的第二类视频数据,将第一类视频数据与第二类视频数据合成为分屏预览视频流,将分屏预览视频流传输给所述用户终端。
优选地,合成模块进一步包括:中央处理子模块,以及多个分布式处理子模块,其中,
中央处理子模块适于确定与各个分布式处理子模块对应的视频数据的时间段信息;
各个分布式处理子模块适于根据中央处理子模块确定的与其对应的视频数据的时间段信息,从云存储子系统中获取相应时间段内的视频数据进行处理,并将处理结果提供给中央处理子模块。
优选地,视频剪辑请求包括以下中的至少一个:视频特效请求、视频分解请求、以及视频拼接请求;和/或,
视频合成请求中包括以下中的至少一个合成参数:视频分辨率、比特率、以及编码类型。
优选地,云存储子系统进一步包括:
视频素材数据库,用于存储各个用户终端对应的原始视频数据;
云存储数据库,用于存储各个用户终端对应的视频合成数据;
内容分发服务器,与云存储数据库相连,用于对云存储数据库中存储的视频合成数据提供内容分发服务。
优选地,合成模块进一步适于:将已生成的视频合成数据存储到云存储数据库中,并为视频合成数据设置对应的播放入口,以供用户终端根据播放入口进行播放。
根据本发明的另一方面,提供了视频处理方法,包括:
获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据视频剪辑请求生成与原始视频数据相对应的视频剪辑数据,向用户终端返回与视频剪辑数据相对应的预览内容数据;
接收来自用户终端的视频合成请求,获取与视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与原始视频数据和/或视频剪辑数据相对应的视频合成数据。
优选地,方法进一步包括:接收来自用户终端的视频跳转请求,根据视频跳转请求中包含的时间点信息,确定与时间点信息相对应的关键帧,根据关键帧进行解码播放,并向用户终端返回对应的播放数据。
优选地,向用户终端返回与视频剪辑数据相对应的预览内容数据的步骤具体包括:根据用户终端的下载速度信息和/或网络流量信息确定预览内容数据的生成速度和/或数据量。
优选地,方法进一步包括:接收来自用户终端的分屏预览请求,确定与分屏预览请求相对应的第一类视频数据,生成与所述第一类视频数据相对应的第二类视频数据,将第一类视频数据与第二类视频数据合成为分屏预览视频流,将分屏预览视频流传输给所述用户终端。
优选地,视频剪辑请求包括以下中的至少一个:视频特效请求、视频分解请求、以及视频拼接请求;和/或,
视频合成请求中包括以下中的至少一个合成参数:视频分辨率、比特率、以及编码类型。
优选地,生成与原始视频数据和/或视频剪辑数据相对应的视频合成数据的步骤之后,进一步包括:将已生成的视频合成数据存储到云存储数据库中,并为视频合成数据设置对应的播放入口,以供用户终端根据播放入口进行播放。
根据本发明的一种视频处理系统及方法,一方面可以通过实现视频剪辑处理的云剪辑子系统利用云端系统资源,获得更快的渲染速度,保持高效流畅的视频处理过程,从而降低了对本地个人电脑的配置要求,方便用户随时随地进行视频编辑操作;另一方面,可以通过实现视频存储的云存储子系统利用云端存储设备存储大量视频资源,省去了传统视频编辑操作过程中的下载与上传操作,降低了用户所连接网络的带宽和网络质量要求,并且在视频编辑过程中,对正在编辑的视频文件实时进行云端存储,避免本地机器故障导致的文件丢失或损坏,进一步提升了视频编辑处理的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例一提供的一种视频处理系统的结构示意图;
图2示出了本发明实施例二提供的一种视频处理系统的结构示意图;
图3示出了本发明实施例三提供的一种视频处理方法的流程图;
图4示出了本发明实施例四提供的一种视频处理方法的流程图;
图5示出了本发明实施例中提供的一种视频处理系统中包含的分屏预览技术的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
图1示出了本发明实施例一提供的一种视频处理系统的结构示意图,该系统包括:云剪辑子系统110和云存储子系统120,其中,云剪辑子系统110进一步包括预览模块111和合成模块112。
云剪辑子系统110,用于实现视频剪辑处理。具体的,用户通过与云剪辑子系统110相连接的终端,可以在云端对视频文件进行剪辑处理,其中,该终端可以是PC平台上的WEB界面,也可以是手机APP,本发明对此不作具体限定。由此可见,由于云剪辑子系统110的存在,将视频剪辑操作对用户终端的配置要求降到了最低,极大地方便了用户在各种情况下进行云端视频剪辑操作。
为了实现上述功能,云剪辑子系统110进一步包括预览模块111和合成模块112。
其中,预览模块111用于从云存储子系统120中获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据视频剪辑请求生成与原始视频数据相对应的视频剪辑数据,向用户终端返回与视频剪辑数据相对应的预览内容数据。该视频剪辑请求包括多种,例如视频特效请求、视频分解请求、以及视频拼接请求等等。具体地,预览模块111根据用户终端发送的视频剪辑请求,访问云存储子系统120,并从云存储子系统120中查找并获取到与视频剪辑请求对应的原始视频数据,通过对原始视频数据进行一定的剪辑处理后生成视频剪辑数据,根据视频剪辑数据生成对应的预览内容数据,该预览内容数据是发送给客户端使用户能够直观的看到处理结果的数据。一般情况下,任意格式的视频文件,只要是能够正常播放,就可以作为原始视频数据进行剪辑操作,但是,考虑到云剪辑子系统110的自身特性,优选的原始视频数据格式为hls格式或mp4格式。需注意的是,视频剪辑数据与预览内容数据可以相同也可以不同,通常情况下,为了缩短用户等待时间且减小系统负荷,预览内容数据可能比视频剪辑数据要少,只要能够使用户看出处理结果即可,不必包含全部的处理后数据。
合成模块112用于接收来自用户终端的视频合成请求,获取与视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与原始视频数据和/或视频剪辑数据相对应的视频合成数据。在剪辑操作之后,还可以进一步进行视频合成,合成时可以直接将各个剪辑后的视频剪辑数据合成为新的视频,也可以将剪辑后的视频和预先存储在云存储子系统120中的原始视频数据进行合成进而生成新的视频。
云存储子系统120,用于实现视频存储。具体的,该云存储子系统120既保存有原始视频数据,又保存有根据用户终端的视频剪辑请求进行剪辑操作后产生的视频剪辑数据,还保存有根据用户终端的视频合成请求进行合成操作后生成的新的视频。因为本视频处理系统的所有操作数据都在云端保存,所以有效避免了因本地设备出现问题导致的数据丢失。
由此可见,本发明提供的一种视频处理系统,一方面通过云剪辑子系统保持高效流畅的视频处理过程,同时降低剪辑操作对本地个人电脑的配置要求,方便用户随时随地进行视频编辑操作;另一方面通过云存储子系统保存视频文件,避免本地机器故障导致的文件丢失或损坏,进一步提升了视频编辑处理的安全性。
实施例二
图2示出了本发明实施例二提供的一种视频处理系统的结构示意图,该系统包括:云剪辑子系统210和云存储子系统220,其中,云剪辑子系统210进一步包括预览模块211和合成模块212,合成模块212进一步包括中央处理子模块2121和分布式处理子模块2122;云存储子系统220进一步包括视频素材数据库221、云存储数据库222和内容分发服务器223。
(一)云剪辑子系统:
云剪辑子系统210,用于实现视频剪辑处理。具体的,用户通过与云剪辑子系统210相连接的终端,可以在云端对视频文件进行剪辑处理,其中,该终端可以是PC平台上的WEB界面,也可以是手机APP,本发明对此不作具体限定。由此可见,由于云剪辑子系统210的存在,将视频剪辑操作对用户终端的配置要求降到最低,极大地方便了用户在各种情况下进行云端视频剪辑操作。
为了实现上述功能,云剪辑子系统210进一步包括预览模块211和合成模块212。
(1)预览模块:
预览模块211用于从云存储子系统220中获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据视频剪辑请求生成与原始视频数据相对应的视频剪辑数据,向用户终端返回与视频剪辑数据相对应的预览内容数据。该视频剪辑请求包括多种,例如视频特效请求、视频分解请求、以及视频拼接请求等等。具体地,预览模块211根据用户终端发送的视频剪辑请求,访问云存储子系统220,并从云存储子系统220中查找并获取到与视频剪辑请求对应的原始视频数据,通过对原始视频数据进行一定的剪辑处理后生成视频剪辑数据,根据视频剪辑数据生成对应的预览内容数据,该预览内容数据是发送给客户端使用户能够直观的看到处理结果的数据。一般情况下,任意格式的视频文件,只要是能够正常播放,就可以作为原始视频数据进行剪辑操作,但是,考虑到云剪辑子系统210的自身特性,优选的原始视频数据格式为hls格式或mp4格式。需注意的是,视频剪辑数据与预览内容数据可以相同也可以不同,通常情况下,为了缩短用户等待时间且减小系统负荷,预览内容数据可能比视频剪辑数据要少,只要能够使用户看出处理结果即可,不必包含全部的处理后数据。例如,处理过程中的部分数据可以不必发送给用户终端。
具体地,预览模块不仅能够用于处理各种类型的视频剪辑请求,还能够用于处理各类用户发出的多种用户操作请求。下面以常用的几类用户操作请求为例,介绍预览模块的具体工作原理:
(1.1)视频跳转类型的用户操作请求:
为了方便用户在视频剪辑过程中,能够在浏览视频时随意跳转,以使视频从用户指定的时间点进行播放。预览模块211进一步用于接收来自用户终端的视频跳转请求,根据视频跳转请求中包含的时间点信息,确定与时间点信息相对应的关键帧,根据关键帧进行解码播放,并向用户终端返回对应的播放数据。
具体的,当用户需要将视频跳转到某个时间点时,预览模块211先确定离用户指定时间点最接近的关键帧,然后从该关键帧开始根据用户指定时间点确定与该用户指定时间点相对应的精确视频帧的位置,并从该位置开始解码播放,以实现视频的精确跳转。例如,一般情况下,一个视频文件由I帧(即关键帧)、P帧(即差别帧)和B帧(即双向差别帧)构成。当用户指定时间点对应的视频帧为P帧时,先确定该P帧之前(或之后)的I帧,从该I帧开始解码,直到解码至该P帧时停止,然后从该P帧开始播放,由此实现一种情况下视频的精确跳转;当用户指定时间点对应的视频帧为B帧时,先确定该B帧前后的两个I帧,根据两个I帧开始解码,直到完成B帧的解码,然后从该B帧开始播放,由此实现另一种情况下视频的精确跳转。
因为现有技术的视频跳转仅能确定与用户指定时间点最接近的I帧,并从该I帧开始播放,因而视频跳转的精度受限于I帧的间隔长度,无法实现精确跳转,所以本发明通过根据I帧解码得到与用户指定时间点对应的视频帧,再开始播放,由此实现精确的视频跳转,能够定位到任意类型的视频帧,进一步方便用户的视频剪辑操作,提升用户体验感。
(1.2)分屏预览类型的用户操作请求:
为了方便用户对处理前后的视频进行比较,本发明提供的视频处理系统中还可以提供一种分屏预览技术。此时,预览模块211进一步用于接收来自用户终端的分屏预览请求,确定与分屏预览请求相对应的第一类视频数据,生成与第一类视频数据相对应的第二类视频数据,将第一类视频数据与第二类视频数据合成为分屏预览视频流,将该分屏预览视频流传输给用户终端。其中,该分屏预览视频流中包含用于在屏幕上预设的第一区域内进行展示的第一部分视频数据,该第一部分视频数据对应于第一类视频数据的合成处理结果;该分屏预览视频流中还包含用于在屏幕上预设的第二区域内进行展示第二部分视频数据,该第二部分视频数据对应于第二类视频数据的合成处理结果。其中,分屏预览请求可以通过预设的分屏预览按钮进行触发,该请求尤其适用于比较处理前后的视频差别。通常情况下,第一类视频数据为处理前的原始视频数据,第二类视频数据为处理后的视频剪辑数据,具体处理方式可以包括多种,例如可以是特效处理、转码处理等各类处理方式。另外,第一区域和第二区域既可以是左右设置的区域,也可以是上下设置的区域,且第一区域和第二区域的大小和形状也可由本领域技术人员灵活调整,只要能够实现便于比较的目的即可。本发明的分屏预览技术的优势在于通过将处理前和处理后的视频合并为一个视频并转码为一条数据流,由此,用户终端仅需一个播放器播放该数据流,且合成为一个视频流的方式还能够保证两类视频画面绝对同步绝对一致。同时,本领域技术人员还能够对本方式进行各种改动或变形,例如,上述的第二类视频数据的数量还可以是多个,例如,多个第二类视频数据分别对应于不同种类的特效处理结果,由此能够将该方法应用在三屏分屏预览甚至更多屏分屏预览的场景中而无需增加额外的成本。
为了进一步方便理解该分屏预览技术,图5示出了分屏预览技术的流程图,具体的:A为存储在云存储子系统220中的原始视频源码,进行解码后得到视频B,根据用户的视频剪辑请求对B进行特效处理得到视频C,将视频B和视频C合并组成为一个新视频F,将视频F进行编码得到处理后的码流G,通过一条网络连接将码流G发送给用户终端,用户终端利用一个播放器对码流G进行解码后得到视频PicG,此时的视频PicG就是包含有处理前视频B和处理后视频C两种画面的最终分屏预览视频。其中,视频PicG的展示方式可以有多种,例如,可以是B和C的左右水平排列;也可以是B的部分和C的互补部分的左右水平排列;还可以是B和C上下垂直排列。本发明对此不作具体限定,本领域技术人员可以根据实际情况灵活选择。
另外,由于本发明中的剪辑操作均由云端完成,用户终端仅需根据云端返回的预览内容数据显示出相应的处理结果即可,因此,发明人在实现本发明的过程中发现:通过合理控制预览内容数据的生成速度和/或数据量,能够显著提升系统运行效率,并避免资源的浪费。具体地,在常规的视频剪辑操作过程中,用户应用某种特效之后,一般会想预览应用该特效后的视频效果,此时,服务器需要立即针对包含该特效的视频剪辑请求进行视频转码处理。然而在常规方法中,服务器会将完整视频全部进行转码处理后再发送给用户预览,但是用户往往只需要观看一小段转码处理后的视频即可知道特效效果,然后就转而进行其他编辑操作了,这就导致服务器浪费了大量的资源用来为完整视频进行转码。为了避免这种浪费,在本发明提供的视频处理系统中,预览模块211向用户终端返回与视频剪辑数据相对应的预览内容数据时,会根据用户终端的下载速度信息和/或网络流量信息确定预览内容数据的生成速度和/或数据量。即用户下载多少数据量,预览模块211就转码处理多少数据量,根据服务器发送给客户端的流量速度来控制服务器的转码速度,从而尽最大可能的避免了运算资源的浪费。例如,当用户终端的下载速度增大和/或网络流量增加时,提升预览内容数据的生成速度和/或数据量;当用户终端的下载速度减小和/或网络流量降低时,减小预览内容数据的生成速度和/或数据量。具体实现时,预览模块211可以实时获取或间隔预设时间获取用户终端的下载速度和/或网络流量,从而动态地调整预览内容数据的生成速度和/或数据量。另外,也可以利用缓存机制来实现上述的控制效果。
(2)合成模块:
合成模块212用于接收来自用户终端的视频合成请求,获取与视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与原始视频数据和/或视频剪辑数据相对应的视频合成数据。在剪辑操作之后,还可以进一步进行视频合成,合成时可以直接将各个剪辑后的视频合成为新的视频,也可以将剪辑后的视频和预先存储在云存储子系统220中的原始视频数据进行合成进而生成新的视频。
具体的,合成模块212进一步包括中央处理子模块2121和多个分布式处理子模块2122。中央处理子模块2121用于确定与各个分布式处理子模块2122对应的视频数据的时间段信息;各个分布式处理子模块2122用于根据中央处理子模块2121确定的与其对应的视频数据的时间段信息,从云存储子系统220中获取相应时间段内的视频数据进行处理,并将处理结果提供给所述中央处理子模块2121。当中央处理子模块2121接收到用户发送的视频合成请求时,中央处理子模块2121根据预设的负载均衡策略,将用户请求分发给各个分布式处理子模块2122;分布式处理子模块2122根据用户请求去云存储子系统220上拉取对应的视频内容并进行转码处理,该转码处理可以采用实时转码方式,即边下载边转码的方式,且每个分布式处理子模块2122都可以根据需要,去转码自己需要的时间段,而且互不影响;分布式处理子模块2122将转码后得到的视频内容返回给中央处理子模块2121;最后,中央处理子模块2121根据不同用户的视频合成请求返回相对应的视频内容。上述的视频合成请求中包含了大量视频处理的参数,具体包括视频分辨率、比特率、以及编码类型等一系列参数。通过分布式并行处理的方式能够大幅提升处理效率,最大程度地降低用户等待时间。并且,由于本发明中的各个分布式处理子模块能够直接根据对应的时间段信息从云存储子系统中获取相应时间段内的视频数据直接进行处理,不需要预先将视频数据分割为多个子数据,并分别将各个子数据分发到对应的处理子模块上,因而简化了处理流程,大幅节省了处理时间,并提高了处理效率。
(二)云存储子系统:
云存储子系统220,用于实现视频存储。具体的,该云存储子系统220包括:视频素材数据库221,用于存储各个用户终端对应的原始视频数据;云存储数据库222,用于存储各个用户终端对应的视频合成数据;内容分发服务器223,与上述云存储数据库222相连接,用于对所述云存储数据库222中存储的视频合成数据提供内容分发服务。
具体地,在一次视频剪辑处理流程中,云剪辑子系统210中的预览模块211会根据用户发送的视频剪辑请求去云存储子系统220中的视频素材数据库221中提取对应的原始视频数据,并根据上述视频剪辑请求对该原始视频数据进行剪辑处理,之后将剪辑处理好的视频剪辑数据和/或所需的原始视频数据发送给合成模块212;合成模块212在接收到上述视频数据后,根据用户发送的视频合成请求对上述视频数据进行合成操作,之后将合成后的视频合成数据存储到云存储数据库222中;最后内容分发服务器223从云存储数据库222中提取视频合成数据,用于内容分发网络加速服务。
由此可见,在本实施例中,通过视频素材数据库能够快速查询用户所需的各类未经剪辑的原始视频素材,通过云存储数据库能够快速查询各类已经过剪辑和/或合成处理的视频数据。设置两个数据库分别存储不同类型的数据的方式能够为用户的访问提供便利,提高查询和处理的响应速度。另外,为了进一步提升查询速度,在视频素材数据库以及云存储数据库中,可以进一步按照用户数量和/或用户种类设置多个子存储区域,在每个子存储区域内分别存储相应用户所对应的视频资源。例如,可以按照用户标识分别为每个用户分配一块子存储区域,或者,也可以将所有用户按照级别、类型等划分为多个分组,分别为每个分组的用户分配一块子存储区域。通过子存储区域的划分能够分别存储各个用户所对应的视频资源,该种方式实际上相当于为每个用户单独设立了一个用户私有资源库,每个用户私有资源库对应于相应的用户标识,由此一来,能够根据接收到的用户请求中包含的用户标识快速定位到相应的视频资源。而且,在一种可选的实现方式中,还能够进一步在接收到用户请求(包括视频剪辑请求、视频合成请求、视频跳转请求、分屏预览请求等)后,判断用户请求中包含的用户标识与要访问的视频资源所对应的用户标识是否一致来确定该用户是否有权限访问该视频资源,从而为用户的隐私提供了更好地保障。例如,假设张三发送的用户请求用于访问李四对应的私有资源库中的视频资源,则本系统能够拒绝该用户请求。
另外,为了进一步提升视频素材数据库和/或云存储数据库中的资源访问速度,在本发明中还设置了内容分发服务器,通过内容分发服务器能够实现CDN加速功能,从而快速地将视频资源分发至各个网络节点,大幅提升访问速度。
而且,为了方便用户播放云存储数据库中的视频内容,合成模块212进一步用于将已生成的视频合成数据存储到云存储数据库222中,并为视频合成数据设置对应的播放入口,以供用户终端根据播放入口进行播放。该播放入口可以是视频播放地址(URL,即统一资源定位器),也可以是用户终端界面上的播放按钮,还可以是其他的展现形式,本发明对此不作具体限定,本领域技术人员可以根据实际情况灵活设定。通过为每个视频分别设置对应的播放入口的方式能够简化用户播放视频时的操作复杂度,提升播放效率。
综上所述,本发明提供的一种视频处理系统,一方面可以通过实现视频剪辑处理的云剪辑子系统利用云端分布式处理方式,获得更快的渲染速度,保持高效流畅的视频处理过程,同时降低了对本地个人电脑的配置要求,方便用户随时随地进行视频编辑操作;另一方面,可以通过实现视频存储的云存储子系统利用云端存储设备,省去了传统视频编辑操作过程中的下载与上传操作,降低了用户所连接网络的带宽和网络质量要求,并且在视频编辑过程中,对正在编辑的视频文件实时进行云端存储,避免本地机器故障导致的文件丢失或损坏,进一步提升了视频编辑处理的安全性。
另外,本系统还可以实现其他的一些辅助功能,例如,可以实现投票、相关链接推送等与用户交互的元素。而且,该系统还能够实现便捷的系统更新。并且,通过将渲染完的视频保存在云存储上,可提供面向全世界各网络条件下的用户点播加速功能。另外,在本系统中,还能够对针对同一视频设置多种清晰度,从而使渲染完的视频可以同时输出多种清晰度供观看用户选择。另外,为了便于实现用户交互,在本系统的云剪辑子系统中,还可以进一步包含一个用户接口模块,用于与用户终端和后台的云存储子系统进行交互,并将交互结果提供给云剪辑子系统内部的预览模块和合成模块。通过引入用户接口模块能够方便用户访问,该用户接口模块可通过PHP时间号接口服务实现。
实施例三
图3示出了本发明实施例三提供的一种视频处理方法的流程图,该方法包括:
步骤S310:获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据视频剪辑请求生成与原始视频数据相对应的视频剪辑数据,
向用户终端返回与视频剪辑数据相对应的预览内容数据。
具体的,在接收到用户终端发送的视频剪辑请求后,根据该视频剪辑请求访问云端存储设备,并从云端存储设备中查找并获取到与视频剪辑请求对应的原始视频数据,通过对原始视频数据进行一定的剪辑处理后生成视频剪辑数据,根据视频剪辑数据生成对应的预览内容数据,该预览内容数据是发送给用户终端,使用户能够直观看到处理结果的数据。一般情况下,任意格式的视频文件,只要能够正常播放,就可以作为原始视频数据进行剪辑操作,但是,考虑到本发明提供的视频处理方法全部在云端运行,因此,优选的原始视频数据格式为hls格式或mp4格式。需要注意的是,视频剪辑数据与预览内容数据可以相同也可以不同,通常情况下,为了缩短用户等待时间且减小系统负荷,预览内容数据可能比视频剪辑数据要少,只要能够使用户看出处理结果即可,不必包含全部的处理后数据。
步骤S320:接收来自用户终端的视频合成请求,获取与视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与原始视频数据和/或视频剪辑数据相对应的视频合成数据。
在剪辑操作之后,还可以进一步进行视频合成操作,在视频合成操作过程中,可以直接将各个剪辑后的视频剪辑数据合成为新的视频,也可以将剪辑后的视频剪辑数据和预先存储在云端存储设备中的原始视频数据进行合成,进而生成新的视频。
关于上述方法实施例中各个步骤的实施细节可参照上述装置实施例中各个模块具体结构和工作原理的相应部分的描述,此处不再赘述。
由此可见,本发明提供的一种视频处理方法,通过在云端进行视频剪辑和合成操作,能够保持高效流畅的视频处理过程,同时降低剪辑操作对本地个人电脑的配置要求,方便用户随时随地进行视频编辑操作;通过云端存储设备,避免本地机器故障导致的文件丢失或损坏,进一步提升了视频编辑处理的安全性。
实施例四
图4示出了本发明实施例四提供的一种视频处理方法的流程图,该方法的所有操作均在云端进行,是一种基于云计算的视频处理方法,本方法具体包括:
步骤S410:获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据视频剪辑请求生成与原始视频数据相对应的视频剪辑数据,向用户终端返回与视频剪辑数据相对应的预览内容数据。
具体的,在接收到用户终端发送的视频剪辑请求后,根据该视频剪辑请求访问云端存储设备,并从云端存储设备中查找并获取到与视频剪辑请求对应的原始视频数据,通过对原始视频数据进行一定的剪辑处理后生成视频剪辑数据,根据视频剪辑数据生成对应的预览内容数据,该预览内容数据是发送给用户终端,使用户能够直观看到处理结果的数据。该视频剪辑请求包括多种,例如视频特效请求、视频分解请求、以及视频拼接请求等等。一般情况下,任意格式的视频文件,只要能够正常播放,就可以作为原始视频数据进行剪辑操作,但是,考虑到本发明提供的视频处理方法全部在云端运行,因此,优选的原始视频数据格式为hls格式或mp4格式。需要注意的是,视频剪辑数据与预览内容数据可以相同也可以不同,通常情况下,为了缩短用户等待时间且减小系统负荷,预览内容数据可能比视频剪辑数据要少,只要能够使用户看出处理结果即可,不必包含全部的处理后数据。例如,处理过程中的部分数据可以不必发送给用户终端。
在常规的视频剪辑操作过程中,用户在应用某种特效之后,一般会想预览应用该特效后的视频效果,此时,服务器需要立即针对包含该特效的视频剪辑请求进行视频转码处理。然而在常规方法中,服务器会将完整视频进行转码处理后再发送给用户预览,但是用户往往只需要观看一小段转码处理后的视频即可知道特效效果,然后就转而进行其他编辑操作了,这就导致服务器浪费了大量的资源用来为完整视频进行转码。为了避免这种浪费,在本发明提供的视频处理方法中,向用户终端返回与视频剪辑数据相对应的预览内容数据时,会根据用户终端的下载速度信息和/或网络流量信息确定预览内容数据的生成速度和/或数据量。即用户下载多少数据量,就转码处理多少数据量,根据服务器发送给客户端的流量速度来控制服务器的转码速度,从而尽最大可能的避免了运算资源的浪费。例如,当用户终端的下载速度增大和/或网络流量增加时,提升预览内容数据的生成速度和/或数据量;当用户终端的下载速度减小和/或网络流量降低时,减小预览内容数据的生成速度和/或数据量。具体实现时,可以实时获取或间隔预设时间获取用户终端的下载速度和/或网络流量,从而动态地调整预览内容数据的生成速度和/或数据量。另外,也可以利用缓存机制来实现上述的控制效果。
步骤S420:接收来自用户终端的视频合成请求,获取与视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与原始视频数据和/或视频剪辑数据相对应的视频合成数据。
在剪辑操作之后,还可以进一步进行视频合成操作,在视频合成操作过程中,可以直接将各个剪辑后的视频剪辑数据合成为新的视频,也可以将剪辑后的视频剪辑数据和预先存储在云端存储设备中的原始视频数据进行合成,进而生成新的视频。其中,视频合成请求中包含了大量视频处理的参数,具体包括视频分辨率、比特率、以及编码类型等一系列参数。
为了提高视频合成操作的处理速度,在本发明中,步骤S420可以采用分布式处理方法实现。具体的,当接收到用户发送的视频合成请求后,通过中央处理服务器根据预设的负载均衡策略,将用户请求分发给多个分布式处理服务器;该分布式处理服务器根据接收到的用户请求去云存储设备上拉取对应的视频内容并进行转码处理,该转码处理可以采用实时转码方式,即边下载边转码的方式,且每个分布式处理服务器都可以根据需要,去转码自己需要的时间段,而且互不影响;分布式处理服务器将转码后得到的视频内容返回给中央处理服务器;最后,中央处理服务器根据不同用户的视频合成请求返回相应的视频内容。通过分布式并行处理的方式能够大幅提升处理效率,最大程度地降低用户等待时间。并且,由于本发明中的各个分布式处理服务器能够直接根据对应的时间段信息从云存储设备中获取相应时间段内的视频数据直接进行处理,不需要预先将视频数据分割为多个子数据,并分别将各个子数据分发到对应的处理服务器上,因而简化了处理流程,大幅节省了处理时间,并提高了处理效率。
步骤S430:将已生成的视频合成数据存储到云存储数据库中,并为视频合成数据设置对应的播放入口,以供用户终端根据播放入口进行播放。
该播放入口可以是视频播放地址(URL,即统一资源定位器),也可以是用户终端界面上的播放按钮,还可以是其他的展现形式,本发明对此不作具体限定,本领域技术人员可以根据实际情况灵活设定。该云存储数据库用于存储各个用户终端对应的视频合成数据。通过为每个视频分别设置对应的播放入口的方式能够简化用户播放视频时的操作复杂度,提升播放效率。
在本发明提供的视频处理方法中,除了用于存储视频合成数据的云存储数据库,还可以设置用于存储原始视频数据的视频素材数据库和/或用于为视频合成数据提供内容分发服务的内容分发服务器。在一次视频剪辑处理流程中,根据用户发送的视频剪辑请求去视频素材数据库中提取对应的原始视频数据,并根据上述视频剪辑请求对该原始视频数据进行剪辑处理;然后,根据用户发送的视频合成请求对剪辑处理好的视频剪辑数据和/或所需的原始视频数据进行合成操作,之后将合成后的视频合成数据存储到云存储数据库中;最后从云存储数据库中提取视频合成数据,用于内容分发网络加速服务。
另外,为了进一步提升视频素材数据库和/或云存储数据库中的资源访问速度,在本发明中还可以设置内容分发服务器,通过内容分发服务器能够实现CDN加速功能,从而快速地将视频资源分发至各个网络节点,大幅提升访问速度。
步骤S440:接收来自用户终端的视频跳转请求,根据视频跳转请求中包含的时间点信息,确定与时间点信息相对应的关键帧,根据关键帧进行解码播放,并向用户终端返回对应的播放数据。
为了方便用户在视频剪辑过程中,能够在浏览视频时随意跳转,以使视频从用户指定的时间点进行播放,本发明提供的方法包括可选步骤S440。具体的,当用户需要将视频跳转到某个时间点时,先确定离用户指定时间点最接近的关键帧,然后从该关键帧开始根据用户指定时间点确定与该用户指定时间点相对应的精确视频帧的位置,并从该位置开始解码播放,以实现视频的精确跳转。例如,一般情况下,一个视频文件由I帧(即关键帧)、P帧(即差别帧)和B帧(即双向差别帧)构成。当用户指定时间点对应的视频帧为P帧时,先确定该P帧之前(或之后)的I帧,从该I帧开始解码,直到解码至该P帧时停止,然后从该P帧开始播放,由此实现一种情况下视频的精确跳转;当用户指定时间点对应的视频帧为B帧时,先确定该B帧前后的两个I帧,根据两个I帧开始解码,直到完成B帧的解码,然后从该B帧开始播放,由此实现另一种情况下视频的精确跳转。因为现有技术的视频跳转仅能确定与用户指定时间点最接近的I帧,并从该I帧开始播放,因而视频跳转的精度受限于I帧的间隔长度,无法实现精确跳转,所以本发明通过根据I帧解码得到与用户指定时间点对应的视频帧,再开始播放,由此实现精确的视频跳转,能够定位到任意类型的视频帧,进一步方便用户的视频剪辑操作,提升用户体验感。
步骤S450:接收来自用户终端的分屏预览请求,确定与分屏预览请求相对应的第一类视频数据,生成与第一类视频数据相对应的第二类视频数据,将第一类视频数据与第二类视频数据合成为分屏预览视频流,将该分屏预览视频流传输给用户终端。
为了方便用户对处理前后的视频进行比较,本发明提供的视频处理系统中还可以提供一种分屏预览技术。本发明的分屏预览技术的优势在于通过将处理前和处理后的视频合并为一个视频并转码为一条数据流,由此,用户终端仅需一个播放器播放该数据流,且合成为一个视频流的方式还能够保证两类视频画面绝对同步绝对一致。同时,本领域技术人员还能够对本方式进行各种改动或变形,例如,上述的第二类视频数据的数量还可以是多个,例如,多个第二类视频数据分别对应于不同种类的特效处理结果,由此能够将该方法应用在三屏分屏预览甚至更多屏分屏预览的场景中而无需增加额外的成本。具体实施方法,与实施例二中分屏预览技术的描述一致,在此不再赘述。
关于上述方法实施例中各个步骤的实施细节可参照上述装置实施例中各个模块具体结构和工作原理的相应部分的描述,此处不再赘述。
本领域技术人员还可以对上述方法进行各种改动和变形,例如,可以调整各个步骤之间的执行顺序,对上述步骤进行合并或增删等。
综上所述,本发明提供的一种视频处理方法,一方面可以通过实现视频剪辑处理的云剪辑子系统利用云端分布式处理方式,获得更快的渲染速度,保持高效流畅的视频处理过程,同时降低了对本地个人电脑的配置要求,方便用户随时随地进行视频编辑操作;另一方面,可以通过实现视频存储的云存储子系统利用云端存储设备,省去了传统视频编辑操作过程中的下载与上传操作,降低了用户所连接网络的带宽和网络质量要求,并且在视频编辑过程中,对正在编辑的视频文件实时进行云端存储,避免本地机器故障导致的文件丢失或损坏,进一步提升了视频编辑处理的安全性。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的视频处理系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:A1、一种视频处理系统,包括:用于实现视频剪辑处理的云剪辑子系统,以及用于实现视频存储的云存储子系统;其中,所述云剪辑子系统进一步包括:预览模块和合成模块,其中,
所述预览模块,适于从所述云存储子系统中获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据所述视频剪辑请求生成与所述原始视频数据相对应的视频剪辑数据,向所述用户终端返回与所述视频剪辑数据相对应的预览内容数据;
所述合成模块,适于接收来自用户终端的视频合成请求,获取与所述视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与所述原始视频数据和/或视频剪辑数据相对应的视频合成数据。
A2、根据A1所述的系统,其中,所述预览模块进一步适于:接收来自用户终端的视频跳转请求,根据所述视频跳转请求中包含的时间点信息,确定与所述时间点信息相对应的关键帧,根据所述关键帧进行解码播放,并向所述用户终端返回对应的播放数据。
A3、根据A1所述的系统,其中,所述预览模块向所述用户终端返回与所述视频剪辑数据相对应的预览内容数据时,具体用于:根据所述用户终端的下载速度信息和/或网络流量信息确定所述预览内容数据的生成速度和/或数据量。
A4、根据A1所述的系统,其中,所述预览模块进一步适于:接收来自用户终端的分屏预览请求,确定与所述分屏预览请求相对应的第一类视频数据,生成与所述第一类视频数据相对应的第二类视频数据,将所述第一类视频数据与所述第二类视频数据合成为分屏预览视频流,将所述分屏预览视频流传输给所述用户终端。
A5、根据A1所述的系统,其中,所述合成模块进一步包括:中央处理子模块,以及多个分布式处理子模块,其中,
所述中央处理子模块适于确定与各个分布式处理子模块对应的视频数据的时间段信息;
各个分布式处理子模块适于根据所述中央处理子模块确定的与其对应的视频数据的时间段信息,从所述云存储子系统中获取相应时间段内的视频数据进行处理,并将处理结果提供给所述中央处理子模块。
A6、根据A1所述的系统,其中,所述视频剪辑请求包括以下中的至少一个:视频特效请求、视频分解请求、以及视频拼接请求;和/或,
所述视频合成请求中包括以下中的至少一个合成参数:视频分辨率、比特率、以及编码类型。
A7、根据A1所述的系统,其中,所述云存储子系统进一步包括:
视频素材数据库,用于存储各个用户终端对应的原始视频数据;
云存储数据库,用于存储各个用户终端对应的视频合成数据;
内容分发服务器,与所述云存储数据库相连,用于对所述云存储数据库中存储的视频合成数据提供内容分发服务。
A8、根据A7所述的系统,其中,所述合成模块进一步适于:将已生成的视频合成数据存储到所述云存储数据库中,并为所述视频合成数据设置对应的播放入口,以供用户终端根据所述播放入口进行播放。
本发明还公开了:B9、一种视频处理方法,包括:
获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据所述视频剪辑请求生成与所述原始视频数据相对应的视频剪辑数据,向所述用户终端返回与所述视频剪辑数据相对应的预览内容数据;
接收来自用户终端的视频合成请求,获取与所述视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与所述原始视频数据和/或视频剪辑数据相对应的视频合成数据。
B10、根据B9所述的方法,其中,所述方法进一步包括:接收来自用户终端的视频跳转请求,根据所述视频跳转请求中包含的时间点信息,确定与所述时间点信息相对应的关键帧,根据所述关键帧进行解码播放,并向所述用户终端返回对应的播放数据。
B11、根据B9所述的方法,其中,所述向所述用户终端返回与所述视频剪辑数据相对应的预览内容数据的步骤具体包括:根据所述用户终端的下载速度信息和/或网络流量信息确定所述预览内容数据的生成速度和/或数据量。
B12、根据B9所述的方法,其中,所述方法进一步包括:接收来自用户终端的分屏预览请求,确定与所述分屏预览请求相对应的第一类视频数据,生成与所述第一类视频数据相对应的第二类视频数据,将所述第一类视频数据与所述第二类视频数据合成为分屏预览视频流,将所述分屏预览视频流传输给所述用户终端。
B13、根据B9所述的方法,其中,所述视频剪辑请求包括以下中的至少一个:视频特效请求、视频分解请求、以及视频拼接请求;和/或,
所述视频合成请求中包括以下中的至少一个合成参数:视频分辨率、比特率、以及编码类型。
B14、根据B9所述的方法,其中,所述生成与所述原始视频数据和/或视频剪辑数据相对应的视频合成数据的步骤之后,进一步包括:将已生成的视频合成数据存储到云存储数据库中,并为所述视频合成数据设置对应的播放入口,以供用户终端根据所述播放入口进行播放。
Claims (10)
1.一种视频处理系统,包括:用于实现视频剪辑处理的云剪辑子系统,以及用于实现视频存储的云存储子系统;其中,所述云剪辑子系统进一步包括:预览模块和合成模块,其中,
所述预览模块,适于从所述云存储子系统中获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据所述视频剪辑请求生成与所述原始视频数据相对应的视频剪辑数据,向所述用户终端返回与所述视频剪辑数据相对应的预览内容数据;
所述合成模块,适于接收来自用户终端的视频合成请求,获取与所述视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与所述原始视频数据和/或视频剪辑数据相对应的视频合成数据。
2.根据权利要求1所述的系统,其中,所述预览模块进一步适于:接收来自用户终端的视频跳转请求,根据所述视频跳转请求中包含的时间点信息,确定与所述时间点信息相对应的关键帧,根据所述关键帧进行解码播放,并向所述用户终端返回对应的播放数据。
3.根据权利要求1所述的系统,其中,所述预览模块向所述用户终端返回与所述视频剪辑数据相对应的预览内容数据时,具体用于:根据所述用户终端的下载速度信息和/或网络流量信息确定所述预览内容数据的生成速度和/或数据量。
4.根据权利要求1所述的系统,其中,所述预览模块进一步适于:接收来自用户终端的分屏预览请求,确定与所述分屏预览请求相对应的第一类视频数据,生成与所述第一类视频数据相对应的第二类视频数据,将所述第一类视频数据与所述第二类视频数据合成为分屏预览视频流,将所述分屏预览视频流传输给所述用户终端。
5.根据权利要求1所述的系统,其中,所述合成模块进一步包括:中央处理子模块,以及多个分布式处理子模块,其中,
所述中央处理子模块适于确定与各个分布式处理子模块对应的视频数据的时间段信息;
各个分布式处理子模块适于根据所述中央处理子模块确定的与其对应的视频数据的时间段信息,从所述云存储子系统中获取相应时间段内的视频数据进行处理,并将处理结果提供给所述中央处理子模块。
6.根据权利要求1所述的系统,其中,所述视频剪辑请求包括以下中的至少一个:视频特效请求、视频分解请求、以及视频拼接请求;和/或,
所述视频合成请求中包括以下中的至少一个合成参数:视频分辨率、比特率、以及编码类型。
7.根据权利要求1所述的系统,其中,所述云存储子系统进一步包括:
视频素材数据库,用于存储各个用户终端对应的原始视频数据;
云存储数据库,用于存储各个用户终端对应的视频合成数据;
内容分发服务器,与所述云存储数据库相连,用于对所述云存储数据库中存储的视频合成数据提供内容分发服务。
8.根据权利要求7所述的系统,其中,所述合成模块进一步适于:将已生成的视频合成数据存储到所述云存储数据库中,并为所述视频合成数据设置对应的播放入口,以供用户终端根据所述播放入口进行播放。
9.一种视频处理方法,包括:
获取与接收到的来自用户终端的视频剪辑请求相对应的原始视频数据,根据所述视频剪辑请求生成与所述原始视频数据相对应的视频剪辑数据,向所述用户终端返回与所述视频剪辑数据相对应的预览内容数据;
接收来自用户终端的视频合成请求,获取与所述视频合成请求相对应的原始视频数据和/或视频剪辑数据,生成与所述原始视频数据和/或视频剪辑数据相对应的视频合成数据。
10.根据权利要求9所述的方法,其中,所述方法进一步包括:接收来自用户终端的视频跳转请求,根据所述视频跳转请求中包含的时间点信息,确定与所述时间点信息相对应的关键帧,根据所述关键帧进行解码播放,并向所述用户终端返回对应的播放数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710079111X | 2017-02-14 | ||
CN201710079111 | 2017-02-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106804002A true CN106804002A (zh) | 2017-06-06 |
Family
ID=58988849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710137617.1A Pending CN106804002A (zh) | 2017-02-14 | 2017-03-09 | 一种视频处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106804002A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151595A (zh) * | 2018-09-30 | 2019-01-04 | 北京微播视界科技有限公司 | 视频处理方法、装置、终端和介质 |
CN109618111A (zh) * | 2018-12-28 | 2019-04-12 | 北京亿幕信息技术有限公司 | 云剪多渠道分发系统 |
CN109862396A (zh) * | 2019-01-11 | 2019-06-07 | 苏州科达科技股份有限公司 | 一种视频码流的分析方法、电子设备及可读存储介质 |
CN109905749A (zh) * | 2019-04-11 | 2019-06-18 | 腾讯科技(深圳)有限公司 | 视频播放方法和装置、存储介质及电子装置 |
CN109936710A (zh) * | 2019-03-13 | 2019-06-25 | 深圳市瑞云科技有限公司 | 一种基于cg云渲染的嵌入式背景短视频的制作方法 |
CN109936763A (zh) * | 2017-12-15 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 视频的处理及发布方法 |
CN111709459A (zh) * | 2020-05-27 | 2020-09-25 | 长春博立电子科技有限公司 | 一种基于云平台的机器视觉算法训练数据的管理系统及方法 |
CN111800520A (zh) * | 2020-09-08 | 2020-10-20 | 北京维数统计事务所有限公司 | 业务处理方法、装置、电子设备和可读存储介质 |
CN111918128A (zh) * | 2020-07-23 | 2020-11-10 | 上海网达软件股份有限公司 | 一种云剪辑方法、装置、设备及存储介质 |
CN112437342A (zh) * | 2020-05-14 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | 一种视频编辑的方法及设备 |
CN114157917A (zh) * | 2021-11-29 | 2022-03-08 | 北京百度网讯科技有限公司 | 视频剪辑方法、装置及终端设备 |
CN114222156A (zh) * | 2021-12-14 | 2022-03-22 | 中国建设银行股份有限公司 | 视频剪辑方法、装置、计算机设备和存储介质 |
CN114257866A (zh) * | 2021-12-14 | 2022-03-29 | 上海掌门科技有限公司 | 视频展示方法、可读介质及电子设备 |
CN115577684A (zh) * | 2022-12-07 | 2023-01-06 | 成都华栖云科技有限公司 | 一种非线性编辑系统连接的方法、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932608A (zh) * | 2012-11-16 | 2013-02-13 | 成都索贝数码科技股份有限公司 | 基于云编辑技术的数字视频加工、编目系统及方法 |
CN103078937A (zh) * | 2012-12-31 | 2013-05-01 | 合一网络技术(北京)有限公司 | 一种基于信息网络的多视频云端合成的方法、客户端、服务器及系统 |
CN104244023A (zh) * | 2014-09-03 | 2014-12-24 | 无锡天脉聚源传媒科技有限公司 | 视频云编辑系统和方法 |
CN104284241A (zh) * | 2014-09-22 | 2015-01-14 | 北京奇艺世纪科技有限公司 | 一种视频剪辑方法和装置 |
CN104796767A (zh) * | 2015-03-31 | 2015-07-22 | 北京奇艺世纪科技有限公司 | 一种云视频编辑方法和系统 |
CN105592356A (zh) * | 2014-10-22 | 2016-05-18 | 北京拓尔思信息技术股份有限公司 | 一种音视频在线虚拟剪辑方法和系统 |
CN105704124A (zh) * | 2016-01-15 | 2016-06-22 | 北京天马网视科技有限公司 | 一种基于互联网的视频价值再生系统及方法 |
-
2017
- 2017-03-09 CN CN201710137617.1A patent/CN106804002A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932608A (zh) * | 2012-11-16 | 2013-02-13 | 成都索贝数码科技股份有限公司 | 基于云编辑技术的数字视频加工、编目系统及方法 |
CN103078937A (zh) * | 2012-12-31 | 2013-05-01 | 合一网络技术(北京)有限公司 | 一种基于信息网络的多视频云端合成的方法、客户端、服务器及系统 |
CN104244023A (zh) * | 2014-09-03 | 2014-12-24 | 无锡天脉聚源传媒科技有限公司 | 视频云编辑系统和方法 |
CN104284241A (zh) * | 2014-09-22 | 2015-01-14 | 北京奇艺世纪科技有限公司 | 一种视频剪辑方法和装置 |
CN105592356A (zh) * | 2014-10-22 | 2016-05-18 | 北京拓尔思信息技术股份有限公司 | 一种音视频在线虚拟剪辑方法和系统 |
CN104796767A (zh) * | 2015-03-31 | 2015-07-22 | 北京奇艺世纪科技有限公司 | 一种云视频编辑方法和系统 |
CN105704124A (zh) * | 2016-01-15 | 2016-06-22 | 北京天马网视科技有限公司 | 一种基于互联网的视频价值再生系统及方法 |
Non-Patent Citations (3)
Title |
---|
LINCHEN YU,XIAOFEI LIAO: "《Cloud based Mobile Video Editing System》", 《IEEE 9TH INTERNATIONAL CONFERENCE ON MOBILE AD-HOC AND SENSOR NETWORKS》 * |
单文盛,姜丽秋: "《"个人门户"时代视频网站传播模式研究》", 《东南传播》 * |
平淡: "《酷炫视频在线轻松制作》", 《电脑爱好者》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109936763A (zh) * | 2017-12-15 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 视频的处理及发布方法 |
CN109151595A (zh) * | 2018-09-30 | 2019-01-04 | 北京微播视界科技有限公司 | 视频处理方法、装置、终端和介质 |
US11037600B2 (en) | 2018-09-30 | 2021-06-15 | Beijing Microlive Vision Technology Co., Ltd. | Video processing method and apparatus, terminal and medium |
CN109151595B (zh) * | 2018-09-30 | 2019-10-18 | 北京微播视界科技有限公司 | 视频处理方法、装置、终端和介质 |
CN109618111A (zh) * | 2018-12-28 | 2019-04-12 | 北京亿幕信息技术有限公司 | 云剪多渠道分发系统 |
CN109618111B (zh) * | 2018-12-28 | 2021-04-02 | 北京亿幕信息技术有限公司 | 云剪多渠道分发系统 |
CN109862396A (zh) * | 2019-01-11 | 2019-06-07 | 苏州科达科技股份有限公司 | 一种视频码流的分析方法、电子设备及可读存储介质 |
CN109936710A (zh) * | 2019-03-13 | 2019-06-25 | 深圳市瑞云科技有限公司 | 一种基于cg云渲染的嵌入式背景短视频的制作方法 |
CN109905749B (zh) * | 2019-04-11 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 视频播放方法和装置、存储介质及电子装置 |
CN109905749A (zh) * | 2019-04-11 | 2019-06-18 | 腾讯科技(深圳)有限公司 | 视频播放方法和装置、存储介质及电子装置 |
CN112437342A (zh) * | 2020-05-14 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | 一种视频编辑的方法及设备 |
CN111709459A (zh) * | 2020-05-27 | 2020-09-25 | 长春博立电子科技有限公司 | 一种基于云平台的机器视觉算法训练数据的管理系统及方法 |
CN111918128A (zh) * | 2020-07-23 | 2020-11-10 | 上海网达软件股份有限公司 | 一种云剪辑方法、装置、设备及存储介质 |
CN111800520A (zh) * | 2020-09-08 | 2020-10-20 | 北京维数统计事务所有限公司 | 业务处理方法、装置、电子设备和可读存储介质 |
CN111800520B (zh) * | 2020-09-08 | 2021-06-15 | 北京维数统计事务所有限公司 | 业务处理方法、装置、电子设备和可读存储介质 |
CN114157917A (zh) * | 2021-11-29 | 2022-03-08 | 北京百度网讯科技有限公司 | 视频剪辑方法、装置及终端设备 |
CN114157917B (zh) * | 2021-11-29 | 2024-04-16 | 北京百度网讯科技有限公司 | 视频剪辑方法、装置及终端设备 |
CN114222156A (zh) * | 2021-12-14 | 2022-03-22 | 中国建设银行股份有限公司 | 视频剪辑方法、装置、计算机设备和存储介质 |
CN114257866A (zh) * | 2021-12-14 | 2022-03-29 | 上海掌门科技有限公司 | 视频展示方法、可读介质及电子设备 |
CN114257866B (zh) * | 2021-12-14 | 2024-09-20 | 上海掌门科技有限公司 | 视频展示方法、可读介质及电子设备 |
CN115577684A (zh) * | 2022-12-07 | 2023-01-06 | 成都华栖云科技有限公司 | 一种非线性编辑系统连接的方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106804002A (zh) | 一种视频处理系统及方法 | |
US12028564B2 (en) | Methods, systems, processors and computer code for providing video clips | |
CN103650526B (zh) | 用于实时或近实时流传输的播放列表 | |
CN106134146B (zh) | 处理连续的多周期内容 | |
US8126313B2 (en) | Method and system for providing a personal video recorder utilizing network-based digital media content | |
JP5112287B2 (ja) | ネットワーク上でデジタルメディアの分散編集及び記憶を提供するための方法及びシステム | |
CN103583051B (zh) | 用于实时或近实时流传输的播放列表 | |
RU2376632C2 (ru) | Цифровая промежуточная (цп) обработка и распространение с масштабируемым сжатием при пост-обработке кинофильмов | |
US11350184B2 (en) | Providing advanced playback and control functionality to video client | |
US7970260B2 (en) | Digital media asset management system and method for supporting multiple users | |
US9210482B2 (en) | Method and system for providing a personal video recorder utilizing network-based digital media content | |
US10009596B2 (en) | Video production sharing apparatus and method | |
CN106257930A (zh) | 生成内容的动态时间版本 | |
CN107197322A (zh) | 一种再现装置 | |
US10681431B2 (en) | Real-time interstitial content resolution and trick mode restrictions | |
KR20090113364A (ko) | 프로그램 방식의 동영상 및 제작방법 | |
CN109840879A (zh) | 图像渲染方法、装置、计算机存储介质及终端 | |
CN105743971A (zh) | 一种适用于新媒体内容融合的saas云平台的使用方法 | |
US20210264686A1 (en) | Method implemented by computer for the creation of contents comprising synthesis images | |
CN108632644B (zh) | 预览图的展示方法以及设备 | |
CN108156490B (zh) | 一种利用移动终端回放电视直播的方法、系统及存储介质 | |
CN108377429A (zh) | 一种视频流的拆条和抽帧方法 | |
WO2022020649A1 (en) | Video editing system | |
EP3780625A1 (en) | Recorded data processing method and relevant device | |
KR20030065684A (ko) | 색인 기반의 동영상 컨텐츠 관리 시스템 및 그 서비스 방법 |
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: 20170606 |