CN114222156A - 视频剪辑方法、装置、计算机设备和存储介质 - Google Patents
视频剪辑方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114222156A CN114222156A CN202111525505.6A CN202111525505A CN114222156A CN 114222156 A CN114222156 A CN 114222156A CN 202111525505 A CN202111525505 A CN 202111525505A CN 114222156 A CN114222156 A CN 114222156A
- Authority
- CN
- China
- Prior art keywords
- video
- audio
- clipping
- real
- cloud 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 122
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 122
- 239000000463 material Substances 0.000 claims abstract description 113
- 230000005540 biological transmission Effects 0.000 claims abstract description 66
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 64
- 238000004590 computer program Methods 0.000 claims abstract description 49
- 239000000203 mixture Substances 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000002457 bidirectional effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 210000005252 bulbus oculi Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001795 light effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/233—Processing of audio elementary streams
- H04N21/2335—Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
-
- 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/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/234381—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 altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- 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/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及一种视频剪辑方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取实时视频流;将实时视频流传输至云服务器;接收音视频数据,音视频数据由云服务器对实时视频流编码得到;响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。本方法直接获取用户拍摄的实时视频流,将实时视频流传输至云服务器,通过云服务器对实时视频流进行编码以及剪辑,提高了视频传输以及剪辑的实时性,提升了视频剪辑的效率。
Description
技术领域
本申请涉及云计算资源调度技术领域,特别是涉及一种视频剪辑方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着5G信息时代的到来,信息传输、交互体验都带来了科技革新。短视频,是指近几年火热的几十秒到几分钟的场景式视频短片;短视频剪辑是指将拍摄的短视频通过剪辑工具平台等压缩长短、拼接片段、添加贴纸、添加文字、添加背景音乐、添加滤镜、增加转场动画等方式丰富短视频呈现方式。
传统的视频处理软件功能繁多,对设备性能要求较高,剪辑过程复杂,交互繁琐,且剪辑过程无法实时交互,视频剪辑效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高视频剪辑效率的视频剪辑方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种视频剪辑方法。该方法包括:
获取实时视频流;
将实时视频流传输至云服务器;
接收音视频数据,音视频数据由云服务器对实时视频流编码得到;
响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;
接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。
在其中一个实施例中,将实时视频流传输至云服务器包括:通过实时传输服务线程,将实时视频流传输至云服务器。
在其中一个实施例中,将实时视频流传输至云服务器之前,还包括:获取实时视频流的视频码率;当视频码率超出预设传输码率,则对实时视频流进行主动丢帧。
第二方面,本申请还提供了一种视频剪辑方法。该方法包括:
接收终端传输的实时视频流;
对实时视频流进行编码,得到并推送音视频数据;
接收剪辑素材以及音视频片段,剪辑操作以及音视频片段由终端响应剪辑操作并获取与剪辑操作对应的剪辑素材以及音视频片段得到;
根据剪辑素材以及音视频片段生成合成队列;
根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
在其中一个实施例中,根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端包括:根据时间链依次读取合成队列;根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段;将剪辑片段进行组装,得到并推送目标剪辑视频至终端。
在其中一个实施例中,根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段包括:以音视频片段中的首个关键帧为起点,通过剪辑合成服务线程,根据合成队列的剪辑素材对音视频片段进行剪辑合成,得到剪辑片段。
第三方面,本申请还提供了一种视频剪辑装置。该装置包括:
视频流获取模块,用于获取实时视频流;
终端传输模块,用于将实时视频流传输至云服务器;
终端接收模块,用于接收音视频数据,音视频数据由云服务器对实时视频流编码得到;
终端响应模块,用于响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;
目标剪辑视频接收模块,用于接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。
在其中一个实施例中,终端传输模块还用于通过实时传输服务线程,将实时视频流传输至云服务器。
在其中一个实施例中,视频剪辑装置还包括主动丢帧模块,用于获取实时视频流的视频码率;当视频码率超出预设传输码率,则对实时视频流进行主动丢帧。
第四方面,本申请还提供了一种视频剪辑装置。该装置包括:
云接收模块,用于接收终端传输的实时视频流;
编码模块,用于对实时视频流进行编码,得到并推送音视频数据;
剪辑接收模块,用于接收剪辑素材以及音视频片段,剪辑操作以及音视频片段由终端响应剪辑操作并获取与剪辑操作对应的剪辑素材以及音视频片段得到;
合成队列生成模块,用于根据剪辑素材以及音视频片段生成合成队列;
剪辑合成模块,用于根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
在其中一个实施例中,剪辑合成模块还用于根据时间链依次读取合成队列;根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段;将剪辑片段进行组装,得到并推送目标剪辑视频至终端。
在其中一个实施例中,剪辑合成模块还用于以音视频片段中的首个关键帧为起点,通过剪辑合成服务线程,根据合成队列的剪辑素材对音视频片段进行剪辑合成,得到剪辑片段。
第五方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现以下步骤:
获取实时视频流;
将实时视频流传输至云服务器;
接收音视频数据,音视频数据由云服务器对实时视频流编码得到;
响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;
接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。
第六方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现以下步骤:
接收终端传输的实时视频流;
对实时视频流进行编码,得到并推送音视频数据;
接收剪辑素材以及音视频片段,剪辑操作以及音视频片段由终端响应剪辑操作并获取与剪辑操作对应的剪辑素材以及音视频片段得到;
根据剪辑素材以及音视频片段生成合成队列;
根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
第七方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取实时视频流;
将实时视频流传输至云服务器;
接收音视频数据,音视频数据由云服务器对实时视频流编码得到;
响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;
接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。
第八方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收终端传输的实时视频流;
对实时视频流进行编码,得到并推送音视频数据;
接收剪辑素材以及音视频片段,剪辑操作以及音视频片段由终端响应剪辑操作并获取与剪辑操作对应的剪辑素材以及音视频片段得到;
根据剪辑素材以及音视频片段生成合成队列;
根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
第九方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取实时视频流;
将实时视频流传输至云服务器;
接收音视频数据,音视频数据由云服务器对实时视频流编码得到;
响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;
接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。
第十方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收终端传输的实时视频流;
对实时视频流进行编码,得到并推送音视频数据;
接收剪辑素材以及音视频片段,剪辑操作以及音视频片段由终端响应剪辑操作并获取与剪辑操作对应的剪辑素材以及音视频片段得到;
根据剪辑素材以及音视频片段生成合成队列;
根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
上述视频剪辑方法、装置、计算机设备、存储介质和计算机程序产品,获取实时视频流;将实时视频流传输至云服务器;接收音视频数据,音视频数据由云服务器对实时视频流编码得到;响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。本方法通过终端直接获取用户拍摄的实时视频流,将实时视频流传输至云服务器,通过云服务器对实时视频流进行编码以及剪辑,减少了对设备性能的依赖,提高了视频传输以及剪辑的实时性,进一步提升了视频剪辑的效率。
附图说明
图1为一个实施例中视频剪辑方法的应用环境图;
图2为一个实施例中视频剪辑方法的流程示意图;
图3为另一个实施例中视频剪辑方法的流程示意图;
图4为一个实施例中实时视频流采集及编码的流程示意图;
图5位一个实施例中视频帧的构成示意图;
图6位一个实施例中剪辑合成过程的示意图;
图7位一个实施例中核心框架单元的示意图;
图8为一个实施例中视频剪辑装置的结构框图;
图9为另一个实施例中视频剪辑装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如今,图文传播时代已渐渐失去传播优势,短视频传播更能捕捉用户眼球,针对一些想利用短视频营销、用户促活等小场景,无需集成终端短视频SDK却又能达到对短视频高精剪辑、增加贴纸、添加背景音乐、添加滤镜、转场动画等需求。
传统的视频剪辑方法,尝尝苦于对设备性能要求高、大型软件上手难或者无法达到帧级别的视频处理精度要求等问题;与此同时,随着近几年移动时代短视频应用的火热发展,“抖音”、“快手”等短视频APP已成为上亿用户体量的新兴移动应用。但开发此类应用需集成第三方短视频剪辑SDK,开发成本高、SDK费用高昂且需要多终端集成。
本申请正是为解决这一问题,提供了一种的轻量灵活、跨平台、高精度且多功能的云端实现的跨平台剪辑方法。
同样,传统的云剪辑方式,需要将拍摄的视频上传至云平台后,再通过向平台发送剪辑指令,如此实现剪辑方法不够实时,交互繁琐。上传、交互合成、下载等过程延时明细。本申请利用WebRTC通信技术,省去了上传环节,可解决传统云剪辑的繁琐和效率问题。
云剪辑,是指将视频剪辑平台工具放在云端服务器,通过服务器对视频进行压缩长短、拼接片段、添加贴纸、添加文字、添加背景音乐、添加滤镜、增加转场动画等剪辑操作。
WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。WebRTC允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。
本申请实施例提供的视频剪辑方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与云服务器104进行通信。数据存储系统可以存储云服务器104需要处理的数据。数据存储系统可以集成在云服务器104上,也可以放在云上或其他网络服务器上。终端获取实时视频流,将实时视频流传输至云服务器104,云服务器104对实时视频流进行编码,得到音视频数据,终端响应用户的剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器104,云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到,并发送至终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种视频剪辑方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,获取实时视频流。
具体地,终端通过视频流获取接口获取终端摄像头采集的实时视频流。进一步地,终端通过WebRTC的getUserMedia API接口方法获取终端摄像头采集的实时视频流。
步骤204,将实时视频流传输至云服务器。
具体地,终端将摄像头采集的实时视频流通过双向数据传输通道传输至云服务器。双向数据传输通道是终端与云服务器通过UDP协议建立的传输通道。
步骤206,接收音视频数据。
其中,音视频数据由云服务器对实时视频流编码得到。
具体地,终端通过双向数据传输通道接收云服务器传输的音视频数据,将音视频数据中的关键帧推送至显示界面进行展示,以使用户对音视频进行实时预览。
步骤208,响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器。
其中,剪辑素材库提供了剪辑的多种素材,是云剪辑的丰富剪辑内容功能。如FFMpeg提供的滤镜功能,旋转等;或者是一些gif动图、光效动画、或者背景音乐等;每一个素材包括了素材id和素材类型、合成操作动作指令等。后续的合成队列会逐一解析,调用相应合成方法。
具体地,响应用户在终端显示界面对音视频数据的剪辑操作,获取与剪辑操作对应的剪辑素材、合成操作动作指令以及对应的音视频片段,将剪辑素材、合成操作动作指令以及音视频片段通过双向数据传输通道传输至云服务器。
步骤210,接收目标剪辑视频。
其中,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。
具体地,当云服务器对音视频剪辑完成后,将目标剪辑视频通过双向数据传输通道传输至终端,终端接收目标剪辑视频后,推送至显示界面,以使用户对目标剪辑视频进行浏览。
上述视频剪辑方法中,上述视频剪辑方法、装置、计算机设备、存储介质和计算机程序产品,获取实时视频流;将实时视频流传输至云服务器;接收音视频数据,音视频数据由云服务器对实时视频流编码得到;响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。本方法通过终端直接获取用户拍摄的实时视频流,将实时视频流传输至云服务器,通过云服务器对实时视频流进行编码以及剪辑,减少了对设备性能的依赖,提高了视频传输以及剪辑的实时性,进一步提升了视频剪辑的效率。
在一个可选的实施例中,将实时视频流传输至云服务器包括:通过实时传输服务线程,将实时视频流传输至云服务器。
其中,实时传输服务线程基于WebRTC通信服务协议进行传输服务。
具体地,终端获取到实施视频流后,通过RTCPeerConnection方法与云服务器建立连接,得到双向数据传输通道RTCDataChannel以及下行信息,下行信息是终端与云服务器建立连接时的握手信息,根据双向数据传输通道以及下行信息基于RTP和RTCP协议将实时视频流传输至云服务器。
RTP和RTCP协议是WebRTC在互联网上传输的数据包格式,是由WebRTC规范定义,包括报文格式和传输规则等。其中,RTP协议是Internet上针对流媒体传输的基础协议,规定了在互联网上传输音视频的标准数据包格式。RTP协议本身只保证实时数据的传输,RTCP协议则负责流媒体的传输质量保证,提供流量控制和拥塞控制等服务。在RTP会话期间,终端与云服务器周期性彼此发送RTCP报文。报文中包含终端与云服务器数据发送和接收等统计信息,终端与云服务器可以据此动态控制流媒体传输质量。
在一个可选的实施例中,将实时视频流传输至云服务器将实时视频流传输至云服务器之前,还包括:获取实时视频流的视频码率;当视频码率超出预设传输码率,则对实时视频流进行主动丢帧。
其中,视频码率是数据传输时单位时间传送的数据位数,一般单位是kbps即千位每秒。通俗理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件。
具体地,本申请在WebRTC通信服务协议中设计了丢帧逻辑来追踪当前实时视频流的视频码率,当当前的视频码率超出了编码器的预设传输码率,终端则对实时视频流进行主动丢帧。
当实时视频流传输的累积码率超出编码器的预设累积传输码率,终端则对实时视频流进行主动丢帧。
BufferFullnessSkip=Σ(CodedBitsPerFrame–TargetBitsPerFrame)
BufferFullnessSkip丢帧逻辑对每帧编码都做检查,TargetBitsPerFrame表示每帧编码的预设码率,CodedBitsPerFrame表示当前每帧的传输码率,当实时视频流传输的累积码率超出预设的累积传输码率(即缓冲区已满),终端则对实时视频流进行主动丢帧。
当实时视频流传输的最大码率超出编码器的预设最大传输码率,终端则对实时视频流进行主动丢帧。
BufferMaxBRFullness=Σ(CodedBitsPerFrame–MaxBitsPerFrame)
BufferMaxBRFullness丢帧逻辑对每帧视频都进行检查,MaxBitsPerFrame表示预设最大传输码率。
编码后的音视频数据包括I帧、P帧、B帧三种帧类型,主动丢帧针对实时视频流中的P帧,而I帧不会丢。I帧是关键帧,可以理解为是一个个图像,P帧是需要参考前面一张I帧或B帧来形成完整图片,同理B帧也是一样,需要参考前面的I或P或者后面的P来形成一张完整图片。
主动丢帧的过程不仅可以在实施视频流传输的过程中进行,也可以在编码过程中丢帧,云服务器处理实时视频流的过程中丢帧,解码器丢帧等。主动丢帧可以发送在视频流采集时、传输时,也可以发生在剪辑合成后发送回来等过程中。
本实施例中,主动丢P帧能够在不影响质量的前提下,去掉非重要帧,误码率低,丢包少,提高传输效率、传输成功率,还可以提升合成效率以及高精度剪辑效果。
在一个实施例中,如图3所示,提供了一种视频剪辑方法,以该方法应用于图1中的云服务器为例进行说明,包括以下步骤:
步骤302,接收终端传输的实时视频流。
具体地,云服务器通过与终端建立的双向数据传输通道接收终端传输的实时视频流。
步骤304,对实时视频流进行编码,得到并推送音视频数据。
具体地,如图4所示,云服务器对实时视频流中的视频流进行VP8编码,对实时视频流中的音频进行Opus编码,得到编码后的音视频数据。编码后的音视频数据包括I帧、P帧、B帧三种帧类型。如图5所示,GOP(Group of Pictures,画面组)就是由一个I帧和多个P帧或B帧组成的一组相近的画面。视频帧GOP策略影响编码质量,一个GOP就是一组连续的画面。一个组是一段图像编码后的数据流,以I帧开始,到下一个I帧结束。
I帧:帧内编码帧,就是一个完整帧。P帧:前向预测编码帧,是一个非完整帧,通过参考前面的I帧或P帧生成。B帧:双向预测内插编码帧,参考前后图像帧编码生成,B帧依赖其前最近的一个I帧或P帧及其后最近的一个P帧。音视频解码器可以直接解码I帧,但是P帧和B帧必须依赖I帧,或者前后的P或B才能解码。
步骤306,接收剪辑素材以及音视频片段。
其中,剪辑操作以及音视频片段由终端响应剪辑操作并获取与剪辑操作对应的剪辑素材以及音视频片段得到。
具体地,云服务器通过双向数据传输通道接收终端发送的剪辑素材、合成操作动作指令以及音视频片段。
步骤308,根据剪辑素材以及音视频片段生成合成队列。
其中,合成处理队列,是下达给剪辑合成服务线程的一连串指令集方法。
具体地,每个指令以关键I帧为起点,处理时长为n个I帧间隔,即音视频片段的长度。每个指令头为处理剪辑素材类型,指令载荷为处理对象,如视频帧,音频轨道,转场滤镜,贴纸动画等。云服务器对每个音视频片段通过剪辑合成服务线程根据每个音视频片段的剪辑素材、以及合成操作动作指令生成合成队列。
步骤310,根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
具体地,云服务器通过剪辑合成服务线程将每个合成队列进行剪辑,将剪辑后的合成队列进行合成,得到并推送目标剪辑视频至终端。
在一个可选的实施例中,如图6所示,根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端包括:根据时间链依次读取合成队列;根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段;将剪辑片段进行组装,得到并推送目标剪辑视频至终端。
具体地,根据每个音视频片段的时间戳(PTS(Presentation TimeStamp),渲染用的时间戳)获取剪辑的时间链,根据时间链依次读取每个合成队列;通过剪辑合成服务线程将与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段;将剪辑片段按照时间链进行组装,得到并推送目标剪辑视频至终端。
剪辑片段(即视频帧)是按照PTS的时间戳来展示的。DTS(Decoding TimeStamp)解码时间戳,是用于视频解码的。
终端还可以不断响应用户的剪辑操作,根据新的剪辑素材以及音视频片段生成缓存队列,根据缓存队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
本实施例中,通过缓存中间态保存用户对音视频的多次动态调整,根据缓存队列即可直接剪辑生成目标剪辑视频,提升了云剪辑效率。
在一个可选的实施例中,根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段包括:以音视频片段中的首个关键帧为起点,通过剪辑合成服务线程,根据合成队列的剪辑素材对音视频片段进行剪辑合成,得到剪辑片段。
具体地,以音视频片段中的首个关键帧为起点,通过剪辑合成服务线程(即图6中的合成服务),根据合成队列的剪辑素材对音视频片段中每一帧进行剪辑合成,由此各帧队列片段由FFMpeg编码成剪辑片段。
进一步地,FFMpeg是处理视频剪辑合成的核心技术,剪辑合成服务线程首先按照时间链读取处理后的需要合并的多个视频内容、混音后的音频内容以及选取的剪辑素材内容等队列(即合成队列),然后开始分别对视频内容,音频内容,素材内容等进行合并,合并实现方式为对视频内容和音频内容做基于FFmpeg的编码,将编码后的视音频(剪辑片段)合并为整体的媒体文件(即目标剪辑视频),最后对外输出合并后目标剪辑视频,可以以mp4的格式输出,也可以以其他格式输出,本实施例在此不作限定。
本实施例中,在云服务器端实现视频剪辑合成,有效将剪辑操作对设备的性能压力转移到云端;高效的通信服务也同时降低了系统处理时延。通过WebRTC传输协议进行实时视频流、剪辑素材以及音视频片段、目标剪辑视频的多线程传输,具体可以通过WebRTC的MessageQueue实现的。
为例便于理解本申请提出的视频剪辑方法,以终端与云服务器端两端交互的视频剪辑过程对本申请实施例提供的视频剪辑方法进行详细说明,具体包括:
(1)终端获取实时视频流,将实时视频流传输至云服务器。
(2)云服务器接收终端传输的实时视频流,对实时视频流进行编码,得到并推送音视频数据。
(3)终端接收音视频数据。
(4)终端响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器。
(5)云服务器接收剪辑素材以及音视频片段;根据剪辑素材以及音视频片段生成合成队列;根据时间链依次读取合成队列;以音视频片段中的首个关键帧为起点,通过剪辑合成服务线程,根据合成队列的剪辑素材对音视频片段进行剪辑合成,得到剪辑片段;将剪辑片段进行组装,得到并推送目标剪辑视频至终端。
(6)终端接收目标剪辑视频。
如图7所示,本申请分有三块核心处理装置单元:
(1)前端交互层(由终端实现):WebRTC音视频采集,视频帧预览(音视频数据的关键帧预览),获取剪辑操作(剪辑交互指令)等;
(2)云剪辑逻辑层(由云服务器实现):剪辑素材管理,时间线管理(合成队列的时间戳),缓存中间态(缓存队列存储),合成队列等;
(3)云剪辑处理层(由云服务器实现):WebRTC通信服务(实时传输服务线程),剪辑合成(剪辑合成服务线程),剪辑输出等。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的视频剪辑方法的视频剪辑装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个视频剪辑装置实施例中的具体限定可以参见上文中对于视频剪辑方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种视频剪辑装置,应用于终端,包括:视频流获取模块802、终端传输模块804、终端接收模块806、终端响应模块808和目标剪辑视频接收模块810,其中:
视频流获取模块802,用于获取实时视频流;
终端传输模块804,用于将实时视频流传输至云服务器。
终端接收模块806,用于接收音视频数据,音视频数据由云服务器对实时视频流编码得到。
终端响应模块808,用于响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器。
目标剪辑视频接收模块810,用于接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。
在一个可选的实施例中,终端传输模块804还用于通过实时传输服务线程,将实时视频流传输至云服务器。
在一个可选的实施例中,视频剪辑装置还包括主动丢帧模块,用于获取实时视频流的视频码率;当视频码率超出预设传输码率,则对实时视频流进行主动丢帧。
在一个实施例中,如图9所示,提供了一种视频剪辑装置,应用于云服务器,包括:云接收模块902、编码模块904、剪辑接收模块906、合成队列生成模块908和剪辑合成模块910,其中:
云接收模块902,用于接收终端传输的实时视频流;
编码模块904,用于对实时视频流进行编码,得到并推送音视频数据;
剪辑接收模块906,用于接收剪辑素材以及音视频片段,剪辑操作以及音视频片段由终端响应剪辑操作并获取与剪辑操作对应的剪辑素材以及音视频片段得到;
合成队列生成模块908,用于根据剪辑素材以及音视频片段生成合成队列;
剪辑合成模块910,用于根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
在其中一个实施例中,剪辑合成模块910还用于根据时间链依次读取合成队列;根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段;将剪辑片段进行组装,得到并推送目标剪辑视频至终端。
在其中一个实施例中,剪辑合成模块910还用于以音视频片段中的首个关键帧为起点,通过剪辑合成服务线程,根据合成队列的剪辑素材对音视频片段进行剪辑合成,得到剪辑片段。
上述视频剪辑装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种视频剪辑方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取实时视频流;
将实时视频流传输至云服务器;
接收音视频数据,音视频数据由云服务器对实时视频流编码得到;
响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;
接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将实时视频流传输至云服务器包括:通过实时传输服务线程,将实时视频流传输至云服务器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将实时视频流传输至云服务器之前,还包括:获取实时视频流的视频码率;当视频码率超出预设传输码率,则对实时视频流进行主动丢帧。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收终端传输的实时视频流;
对实时视频流进行编码,得到并推送音视频数据;
接收剪辑素材以及音视频片段,剪辑操作以及音视频片段由终端响应剪辑操作并获取与剪辑操作对应的剪辑素材以及音视频片段得到;
根据剪辑素材以及音视频片段生成合成队列;
根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端包括:根据时间链依次读取合成队列;根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段;将剪辑片段进行组装,得到并推送目标剪辑视频至终端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段包括:以音视频片段中的首个关键帧为起点,通过剪辑合成服务线程,根据合成队列的剪辑素材对音视频片段进行剪辑合成,得到剪辑片段。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取实时视频流;
将实时视频流传输至云服务器;
接收音视频数据,音视频数据由云服务器对实时视频流编码得到;
响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;
接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将实时视频流传输至云服务器包括:通过实时传输服务线程,将实时视频流传输至云服务器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将实时视频流传输至云服务器之前,还包括:获取实时视频流的视频码率;当视频码率超出预设传输码率,则对实时视频流进行主动丢帧。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收终端传输的实时视频流;
对实时视频流进行编码,得到并推送音视频数据;
接收剪辑素材以及音视频片段,剪辑操作以及音视频片段由终端响应剪辑操作并获取与剪辑操作对应的剪辑素材以及音视频片段得到;
根据剪辑素材以及音视频片段生成合成队列;
根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端包括:根据时间链依次读取合成队列;根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段;将剪辑片段进行组装,得到并推送目标剪辑视频至终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段包括:以音视频片段中的首个关键帧为起点,通过剪辑合成服务线程,根据合成队列的剪辑素材对音视频片段进行剪辑合成,得到剪辑片段。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取实时视频流;
将实时视频流传输至云服务器;
接收音视频数据,音视频数据由云服务器对实时视频流编码得到;
响应剪辑操作,获取与剪辑操作对应的剪辑素材以及音视频片段,将剪辑素材以及音视频片段发送至云服务器;
接收目标剪辑视频,目标剪辑视频由云服务器根据剪辑素材以及音视频片段生成合成队列,根据合成队列对音视频数据进行剪辑合成得到。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将实时视频流传输至云服务器包括:通过实时传输服务线程,将实时视频流传输至云服务器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将实时视频流传输至云服务器之前,还包括:获取实时视频流的视频码率;当视频码率超出预设传输码率,则对实时视频流进行主动丢帧。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收终端传输的实时视频流;
对实时视频流进行编码,得到并推送音视频数据;
接收剪辑素材以及音视频片段,剪辑操作以及音视频片段由终端响应剪辑操作并获取与剪辑操作对应的剪辑素材以及音视频片段得到;
根据剪辑素材以及音视频片段生成合成队列;
根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据合成队列对音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端包括:根据时间链依次读取合成队列;根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段;将剪辑片段进行组装,得到并推送目标剪辑视频至终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据合成队列对与合成队列对应的音视频片段进行剪辑合成,得到剪辑片段包括:以音视频片段中的首个关键帧为起点,通过剪辑合成服务线程,根据合成队列的剪辑素材对音视频片段进行剪辑合成,得到剪辑片段。
需要说明的是,本申请所涉及的视频数据(包括但不限于用于剪辑的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种视频剪辑方法,其特征在于,所述方法包括:
获取实时视频流;
将所述实时视频流传输至云服务器;
接收音视频数据,所述音视频数据由所述云服务器对所述实时视频流编码得到;
响应剪辑操作,获取与所述剪辑操作对应的剪辑素材以及音视频片段,将所述剪辑素材以及音视频片段发送至所述云服务器;
接收目标剪辑视频,所述目标剪辑视频由所述云服务器根据所述剪辑素材以及所述音视频片段生成合成队列,根据所述合成队列对所述音视频数据进行剪辑合成得到。
2.根据权利要求1所述的方法,其特征在于,所述将所述实时视频流传输至云服务器包括:
通过实时传输服务线程,将所述实时视频流传输至云服务器。
3.根据权利要求1所述的方法,其特征在于,所述将实时视频流传输至云服务器之前,还包括:
获取所述实时视频流的视频码率;
当所述视频码率超出预设传输码率,则对所述实时视频流进行主动丢帧。
4.一种视频剪辑方法,其特征在于,所述方法包括:
接收终端传输的实时视频流;
对所述实时视频流进行编码,得到并推送音视频数据;
接收剪辑素材以及音视频片段,所述剪辑操作以及所述音视频片段由终端响应剪辑操作并获取与所述剪辑操作对应的剪辑素材以及音视频片段得到;
根据所述剪辑素材以及所述音视频片段生成合成队列;
根据所述合成队列对所述音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
5.根据权利要求4所述的方法,其特征在于,所述根据所述合成队列对所述音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端包括:
根据时间链依次读取合成队列;
根据所述合成队列对与所述合成队列对应的音视频片段进行剪辑合成,得到剪辑片段;
将所述剪辑片段进行组装,得到并推送目标剪辑视频。
6.根据权利要求5所述的方法,其特征在于,所述根据所述合成队列对与所述合成队列对应的音视频片段进行剪辑合成,得到剪辑片段包括:
以所述音视频片段中的首个关键帧为起点,通过剪辑合成服务线程,根据合成队列的剪辑素材对所述音视频片段进行剪辑合成,得到剪辑片段。
7.一种视频剪辑装置,其特征在于,所述装置包括:
视频流获取模块,用于获取实时视频流;
终端传输模块,用于将所述实时视频流传输至云服务器;
终端接收模块,用于接收音视频数据,所述音视频数据由所述云服务器对所述实时视频流编码得到;
终端响应模块,用于响应剪辑操作,获取与所述剪辑操作对应的剪辑素材以及音视频片段,将所述剪辑素材以及音视频片段发送至所述云服务器;目标剪辑视频接收模块,用于接收目标剪辑视频,所述目标剪辑视频由所述云服务器根据所述剪辑素材以及所述音视频片段生成合成队列,根据所述合成队列对所述音视频数据进行剪辑合成得到。
8.根据权利要求7所述的装置,其特征在于,所述终端传输模块还用于通过实时传输服务线程,将所述实时视频流传输至云服务器。
9.根据权利要求7所述的装置,其特征在于,所述视频剪辑装置还包括丢帧模块,用于:
获取所述实时视频流的视频码率;
当所述视频码率超出预设传输码率,则对所述实时视频流进行主动丢帧。
10.一种视频剪辑装置,其特征在于,所述装置包括:
云接收模块,用于接收终端传输的实时视频流;
编码模块,用于对所述实时视频流进行编码,得到并推送音视频数据;
剪辑接收模块,用于接收剪辑素材以及音视频片段,所述剪辑操作以及所述音视频片段由终端响应模块响应剪辑操作并获取与所述剪辑操作对应的剪辑素材以及音视频片段得到;
合成队列生成模块,用于根据所述剪辑素材以及所述音视频片段生成合成队列;
剪辑合成模块,用于根据所述合成队列对所述音视频数据进行剪辑合成,得到并推送目标剪辑视频至终端。
11.根据权利要求10所述的装置,其特征在于,所述剪辑合成模块还用于根据时间链依次读取合成队列;
根据所述合成队列对与所述合成队列对应的音视频片段进行剪辑合成,得到剪辑片段;
将所述剪辑片段进行组装,得到并推送目标剪辑视频至终端。
12.根据权利要求11所述的装置,其特征在于,所述剪辑合成模块还用于以所述音视频片段中的首个关键帧为起点,通过剪辑合成服务线程,根据合成队列的剪辑素材对所述音视频片段进行剪辑合成,得到剪辑片段。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111525505.6A CN114222156A (zh) | 2021-12-14 | 2021-12-14 | 视频剪辑方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111525505.6A CN114222156A (zh) | 2021-12-14 | 2021-12-14 | 视频剪辑方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114222156A true CN114222156A (zh) | 2022-03-22 |
Family
ID=80701653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111525505.6A Pending CN114222156A (zh) | 2021-12-14 | 2021-12-14 | 视频剪辑方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114222156A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697710A (zh) * | 2022-04-22 | 2022-07-01 | 卡莱特云科技股份有限公司 | 基于服务器的素材预览方法、装置、系统、设备及介质 |
CN115174942A (zh) * | 2022-07-08 | 2022-10-11 | 叠境数字科技(上海)有限公司 | 一种自由视角切换方法及交互式自由视角播放系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016054835A1 (zh) * | 2014-10-08 | 2016-04-14 | 陈刚 | 一种应用于交通工具上的多媒体云智能系统 |
CN106804002A (zh) * | 2017-02-14 | 2017-06-06 | 北京时间股份有限公司 | 一种视频处理系统及方法 |
US20170163929A1 (en) * | 2015-12-04 | 2017-06-08 | Livestream LLC | Video stream encoding system with live crop editing and recording |
CN111918128A (zh) * | 2020-07-23 | 2020-11-10 | 上海网达软件股份有限公司 | 一种云剪辑方法、装置、设备及存储介质 |
CN112383790A (zh) * | 2020-11-12 | 2021-02-19 | 咪咕视讯科技有限公司 | 直播的录屏方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-14 CN CN202111525505.6A patent/CN114222156A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016054835A1 (zh) * | 2014-10-08 | 2016-04-14 | 陈刚 | 一种应用于交通工具上的多媒体云智能系统 |
US20170163929A1 (en) * | 2015-12-04 | 2017-06-08 | Livestream LLC | Video stream encoding system with live crop editing and recording |
CN106804002A (zh) * | 2017-02-14 | 2017-06-06 | 北京时间股份有限公司 | 一种视频处理系统及方法 |
CN111918128A (zh) * | 2020-07-23 | 2020-11-10 | 上海网达软件股份有限公司 | 一种云剪辑方法、装置、设备及存储介质 |
CN112383790A (zh) * | 2020-11-12 | 2021-02-19 | 咪咕视讯科技有限公司 | 直播的录屏方法、装置、电子设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697710A (zh) * | 2022-04-22 | 2022-07-01 | 卡莱特云科技股份有限公司 | 基于服务器的素材预览方法、装置、系统、设备及介质 |
CN114697710B (zh) * | 2022-04-22 | 2023-08-18 | 卡莱特云科技股份有限公司 | 基于服务器的素材预览方法、装置、系统、设备及介质 |
CN115174942A (zh) * | 2022-07-08 | 2022-10-11 | 叠境数字科技(上海)有限公司 | 一种自由视角切换方法及交互式自由视角播放系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6570646B2 (ja) | オーディオビデオファイルのライブストリーミング方法、システム及びサーバー | |
US9514783B2 (en) | Video editing with connected high-resolution video camera and video cloud server | |
US8875208B1 (en) | High quality multimedia transmission from a mobile device for live and on-demand viewing | |
WO2018010662A1 (zh) | 视频文件的转码方法,装置及存储介质 | |
US8407565B2 (en) | System and method for producing importance rate-based rich media, and server applied to the same | |
WO2016049987A1 (zh) | 一种数据处理方法、装置及相关服务器 | |
CN111343504B (zh) | 视频处理方法、装置、计算机设备和存储介质 | |
CN102882829A (zh) | 一种转码方法及系统 | |
JP7515546B2 (ja) | 中断可能な映像トランスコーディング | |
CN114222156A (zh) | 视频剪辑方法、装置、计算机设备和存储介质 | |
WO2023040825A1 (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
US20160100132A1 (en) | Reception apparatus, reception method, and program thereof, image capturing apparatus, image capturing method, and program thereof, and transmission apparatus, transmission method, and program thereof | |
CN112135163A (zh) | 视频起播的方法以及装置 | |
US20240314396A1 (en) | Methods for generating videos, and related systems and servers | |
CN118233691A (zh) | 一种多媒体文件的播放方法、装置和电子设备 | |
CN115811621A (zh) | 一种直播流播放方法、装置、计算机设备及存储介质 | |
Ranjan et al. | Onlive cloud gaming service |
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 |