CN115967824A - 视频预览方法、装置、介质、设备和计算机程序产品 - Google Patents
视频预览方法、装置、介质、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN115967824A CN115967824A CN202111191438.9A CN202111191438A CN115967824A CN 115967824 A CN115967824 A CN 115967824A CN 202111191438 A CN202111191438 A CN 202111191438A CN 115967824 A CN115967824 A CN 115967824A
- Authority
- CN
- China
- Prior art keywords
- video
- address
- preview
- rendered
- stream
- 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 100
- 238000004590 computer program Methods 0.000 title claims abstract description 19
- 238000009877 rendering Methods 0.000 claims abstract description 200
- 230000000694 effects Effects 0.000 claims abstract description 115
- 230000015654 memory Effects 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 19
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 27
- 238000005516 engineering process Methods 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000005034 decoration Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241001290864 Schoenoplectus Species 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
提供了一种视频预览方法、装置、介质、设备和计算机程序产品,其中,该方法包括:获取预览指令,并将预览指令发送至视频渲染服务器,预览指令携带待渲染视频以及待渲染视频的待渲染效果,以供视频渲染服务器根据待渲染效果对待渲染视频进行渲染并生成目标视频流;接收视频渲染服务器返回的拉流地址,拉流地址为流媒体服务器中与目标视频流的推流地址相对应的地址;根据拉流地址从流媒体服务器拉取目标视频流,并播放目标视频流,从而有效降低开发成本,且能保证客户端实时预览的视频效果与视频渲染服务器渲染输出的视频效果保持一致。本申请实施例可应用于区块链、音视频、应用技术等各种场景。
Description
技术领域
本发明涉及视频处理技术领域,更具体地,涉及一种视频预览方法、装置、介质、设备和计算机程序产品。
背景技术
目前,市面上的广告发布平台流量复杂,广告位数量多,广告主针对一个产品,通常会在广告发布平台投放多个流量版位,且每个流量版位的广告突出不同的利益点,以提升宣传效果。
针对视频广告,若在线下对视频进行编辑,比如转换尺寸、转换时长等,耗时耗力,因此,很多广告主会直接在线编辑视频。然而,当视频模板新增效果特效或业务逻辑时,多端需同步开发支持,导致投入的开发成本资源过多,而且很难保持各端最终的表现一致。
发明内容
本申请提供了一种视频预览方法、装置、介质、设备和计算机程序产品,可以有效降低开发成本,且能保证前端实时预览的视频效果与后端渲染输出的视频效果保持一致。
第一方面,提供了一种视频预览方法,应用于客户端,所述视频预览方法包括:
获取预览指令,并将所述预览指令发送至视频渲染服务器,所述预览指令携带待渲染视频以及所述待渲染视频的待渲染效果,以供所述视频渲染服务器根据所述待渲染效果对所述待渲染视频进行渲染并生成目标视频流;
接收所述视频渲染服务器返回的拉流地址,所述拉流地址为流媒体服务器中与所述目标视频流的推流地址相对应的地址;
根据所述拉流地址从所述流媒体服务器拉取目标视频流,并播放所述目标视频流。
在一些实现方式中,还包括:
获取保存指令,并将所述保存指令发送至所述视频渲染服务器;
接收所述视频渲染服务器返回的视频成品地址;
根据所述视频成品地址从文件共享服务器获取视频成品,并保存所述视频成品。
在一些实现方式中,所述播放所述目标视频流,包括:
获取当前带宽;
根据所述当前带宽播放所述目标视频流。
在一些实现方式中,所述根据所述当前带宽播放所述目标视频流,包括:
若所述当前带宽小于预设带宽,则以第一清晰度播放所述目标视频流;
若所述当前带宽不小于预设带宽,则以第二清晰度播放所述目标视频流,所述第二清晰度大于所述第一清晰度。
在一些实现方式中,所述根据所述当前带宽播放所述目标视频流,包括:
若所述当前带宽小于预设带宽,则显示提示对话框,所述提示对话框包括选择区域,所述选择区域供用户选择是否降低清晰度播放所述目标视频流;
若用户选择降低清晰度播放所述目标视频流,则以第一清晰度播放所述目标视频流;
若用户选择不降低清晰度播放所述目标视频流,则以所述第二清晰度播放所述目标视频流。
在一些实现方式中,所述视频预览方法还包括:
将拉取到的所述目标视频流顺序缓存;
当网络中断时,将最后一个缓存的所述目标视频流的视频流标识发送至所述流媒体服务器,以从所述流媒体服务器拉取所述最后一个缓存的所述目标视频流之后的目标视频流。
第二方面,还提供了一种视频预览方法,应用于视频渲染服务器,所述视频预览方法包括:
获取客户端发送的预览指令,所述预览指令携带待渲染视频以及所述待渲染视频的待渲染效果;
创建拉流地址,并将所述拉流地址发送至所述预览指令对应的客户端;
根据所述待渲染视频以及所述待渲染视频的待渲染效果进行视频渲染,以生成目标视频流;
将所述目标视频流推流至推流地址,所述推流地址为流媒体服务器中与所述拉流地址对应的地址,以供所述客户端从所述流媒体服务器拉取所述目标视频流进行预览。
在一些实现方式中,所述视频预览方法还包括:
当所述视频渲染服务器根据所述待渲染效果对所述待渲染视频渲染完毕后,生成视频成品;
将所述视频成品发送至文件共享服务器,并获取所述视频成品的视频成品地址。
在一些实现方式中,所述视频预览方法还包括:
获取所述客户端发送的保存指令;
将所述视频成品地址发送至所述客户端,以供所述客户端根据所述视频成品地址获取所述视频成品并保存。
第三方面,提供了一种视频预览装置,应用于客户端,包括:
获取模块,用于获取预览指令,并将所述预览指令发送至视频渲染服务器,所述预览指令携带待渲染视频以及所述待渲染视频的待渲染效果,以供所述视频渲染服务器根据所述待渲染效果对所述待渲染效果进行渲染并生成目标视频流;
接收模块,用于接收所述视频渲染服务器返回的拉流地址,所述拉流地址为流媒体服务器中与所述目标视频流的推流地址相对应的地址;
播放模块,用于根据所述拉流地址从所述流媒体服务器拉取目标视频流,并播放所述目标视频流。
第四方面,还提供了一种视频预览装置,应用于视频渲染服务器,包括:
获取模块,用于获取客户端发送的预览指令,所述预览指令携带待渲染视频以及所述待渲染视频的待渲染效果;
创建模块,用于创建拉流地址,并将所述拉流地址发送至所述预览指令对应的客户端;
渲染模块,用于根据所述待渲染视频以及所述待渲染视频的待渲染效果进行视频渲染,以生成目标视频流;
推流模块,用于将所述目标视频流推流至推流地址,所述推流地址为流媒体服务器中与所述拉流地址对应的地址,以供所述客户端从所述流媒体服务器拉取所述目标视频流进行预览。
第五方面,提供了一种计算机可读存储介质,包括指令,当所述指令在计算机设备上运行时,使得所述计算机设备执行如上述第一方面或第二方面所述的方法。
第六方面,提供了一种计算机设备,包括:交互装置、输入/输出(I/O)接口、处理器和存储器,该存储器中存储有程序指令,该交互装置用于获取用户输入的操作指令,该处理器用于执行存储器中存储的程序指令,执行如上述第一方面或第二方面所述视频预览方法。
第七方面,提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现上述第一方面或第二方面所述方法的步骤。
本申请实施例通过获取预览指令,并将预览指令发送至视频渲染服务器,预览指令携带待渲染视频以及待渲染视频的待渲染效果,以供视频渲染服务器根据待渲染效果对待渲染视频进行渲染并生成目标视频流,之后接收视频渲染服务器返回的拉流地址,拉流地址为流媒体服务器中与目标视频流的推流地址相对应的地址,并根据拉流地址从流媒体服务器拉取目标视频流,并播放目标视频流,而无需客户端进行实时渲染预览,从而能保证客户端实时预览的视频效果与视频渲染服务器渲染输出的视频效果保持一致,并且,用过创新性地结合视频流技术,无需等待全部视频帧渲染输出完毕,可以一边渲染一边预览,提高用户的交互体验,同时客户端无需支持渲染等相关业务逻辑,可以有效减少开发成本,在开发资源有限的情况下,可以快速地相应业务诉求。
附图说明
图1是本申请实施例提供的视频预览方法的流程示意图。
图2是本申请实施例提供的视频预览方法的过程示意图。
图3是本申请实施例提供的另一种视频预览方法的流程示意图。
图4是本申请实施例提供的视频预览系统的结构示意图。
图5是本申请实施例提供的视频预览方法的过程示意图。
图6是本申请实施例提供的一种视频预览装置的示意性框图。
图7是本申请实施例提供的另一种视频预览装置的示意性框图
图8是本申请实施例提供的又一种视频预览装置的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。针对本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种视频预览方法、装置、计算机设备、存储介质和计算机程序产品。具体地,本申请实施例的视频预览方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。
首先,对本案进行描述的过程中出现的部分名词或者术语作如下解释:
视频流:视频流是指视频数据的传输,例如,它能够被作为一个稳定的和连续的流通过网络处理。因为流动,客户机浏览器或插件能够在整个文件被传输完成前显示多媒体数据。
流媒体服务器:流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。作为新一代互联网应用的标志,流媒体技术在近几年得到了飞速的发展。
流媒体服务器是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。流媒体服务器的主要功能是对流媒体内容进行采集、缓存、调度和传输播放。流媒体应用系统的主要性能体现都取决于媒体服务器的性能和服务质量。因此,流媒体服务器是流媒体应用系统的基础,也是最主要的组成部分。
文件共享服务器(Common Internet File System,CIFS):通过网络提供文件共享服务,提供文件的上传和下载服务。
区块链系统:是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,TransmissionControl Protocol)协议之上的应用层协议,在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
在一些场景中,流媒体服务器可以为基于区块链技术的去中心化的流媒体系统,包括多个节点。用户和节点之间的点对点连接,而不是通过中央服务器。
请参阅图1,图1示出了本申请实施例所描述的视频预览方法的流程示意图,该视频预览方法应用于客户端,说明如下:
步骤101.获取预览指令,并将预览指令发送至视频渲染服务器,预览指令携带待渲染视频以及待渲染视频的待渲染效果,以供视频渲染服务器根据待渲染效果对待渲染视频进行渲染并生成目标视频流。
为了便于理解,首先对目前广告发布平台的视频编辑功能进行如下介绍,以及对介绍过程中出现的部分名词进行如下解释:
Lottie是Airbnb开源的一个面向iOS(苹果公司开发的移动操作系统)、Android(美国谷歌公司开发的移动操作系统)、React Native(跨平台移动应用开发框架)的动画库,可以实时渲染After Effects(AE,一种图形视频处理软件)动画。
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
请参阅图2,在一些实例中设计师可以使用AE软件设计视频模板,使用Lottie提供的BodyMovin插件将设计好的视频模板导出成JSON格式文件,客户端使用Lottie库可以直接在iOS、Andorid、Web等各个终端上运行视频模板文件,还原视频模板效果。例如,当用户在Web端对广告视频进行编辑时,可以直接替换视频模板的内容,如图片、视频、文字等内容,具体根据视频模板的设定而定。在用户编辑之后,使用Lottie提供的lottie-web库可以在线预览视频效果,无需等待后台渲染输出。用户在预览视频模板的效果之后,可以提交保存请求,服务端渲染服务接收到视频模板渲染数据之后,使用Lottie提供的lottie-node库将视频模板画面的每帧渲染成多张图片,最后使用FFmpeg库将每帧图片合成视频成品mp4文件。
然而,受限于客户端动画渲染技术约束与Lottie动画效果方案支持的视频效果特性约束,广告发布平台的视频在线编辑预览功能主要存在以下缺点:首先,Lottie不支持AE的部分动画效果,如描边动画等,若广告业务场景需要用到Lottie不支持的AE动画效果时,需要基于Lottie进行二次开发,开发成本是非常高的,无法快速地响应业务的诉求。其次,视频模板新增效果特效或业务逻辑时,多端需同步开发支持,而且还需保持各端最终的表现一致,投入开发成本资源翻倍,在产品功能快速迭代而且开发资源有限的情况下,无法做到快速地响应业务的诉求。再次,前端动画渲染实现方案与后端动画渲染实现方案本身有差异的,会导致前端预览的视频效果与后端实际渲染出来的视频成品不一致,将会导致用户对产品质量产生怀疑而不再信任该产品。若改造前端动画渲染技术底层代码,成本也是巨大的,并且改造底层代码可能还会引入一些未知的问题。因此,本案提供了一种视频预览方法,已解决上述技术问题。
具体地,客户端可以为安装在终端设备上的任意具有视频编辑功能的应用程序对应的客户端,比如,广告发布平台的客户端,可以包括个人电脑、服务器、便携设备、车载设备等。当用户想要在广告发布平台上发布一个视频广告时,可以通过该客户端的视频编辑功能对视频广告进行编辑。
譬如,用户进入客户端的视频模板编辑页面,该视频模板编辑页面提供多种视频模板,用户可以编辑替换视频模板的内容,比如替换视频、替换图片、添加字幕或装饰、改变尺寸、改变时长、新增特效等操作。其中,该视频模板编辑页面可以设置有预览按钮,当用户对视频进行编辑后,可以点击该预览按钮,则生成预览指令。
在本实施例中,客户端获取到预览指令后,将该预览指令发送至视频渲染服务器,该预览指令携带有待渲染视频以及待渲染视频的待渲染效果。具体地,待渲染视频可以为视频模板,该视频模板中的视频元素(例如,视频片段、文案、配音等等)可以修改或替换,待渲染效果为用户针对视频模板进行的修改或替换操作,视频渲染服务器用于根据待渲染效果对待渲染视频进行渲染输出为目标视频流。
譬如,汽车出厂商想要在某广告平台投放汽车广告,可以进入广告平台客户端的视频模板编辑页面,选择合适的视频模板,将准备好的汽车素材进行导入,并进行添加字幕和装饰的操作,操作完成后,可以点击预览按钮进行效果预览。
步骤102.接收视频渲染服务器返回的拉流地址,拉流地址为流媒体服务器中与目标视频流的推流地址相对应的地址。
为了便于理解,对上述拉流地址和推流地址进行通俗的解释:
拉流地址,可以理解为,拉流端从流媒体服务器拉取视频流的地址。
推流地址,可以理解为,推流端将视频流上传至流媒体服务器的地址。
具体地,拉流端与流媒体服务器、推流端与流媒体服务器,可以采用特定的实时传输协议进行拉取和推送视频流,比如,RTSP(Real Time Streaming Protocol,实时流传输协议)等实时传输协议,更加适合动画、视音频在网上的流式实时传输。
在本实施例中,视频渲染服务器接收到预览指令后,首先会创建目标视频流的拉流地址,并直接返回给客户端,同时异步发起推流流程以及视频成品输出流程。
容易理解的是,该流媒体服务器可以为基于区块链技术的去中心化的流媒体系统,包括多个节点。其中,视频渲染服务器可以将渲染输出的目标视频流推流至其中的某个节点进行缓存,之后,客户端从该节点拉取目标视频流。如此,可以降低内容分发网络的带宽成本,提高流媒体服务器的效率。
其中,视频渲染服务器与流媒体服务器互联,视频渲染服务器接收到预览指令后,寻找流媒体服务器中的空闲节点,并将该空闲节点的地址作为拉流地址返回至客户端,同时,将该空闲节点的地址作为推流地址,将渲染输出的目标视频流实时推流至该空闲节点。
步骤103.根据拉流地址从流媒体服务器拉取目标视频流,并播放目标视频流。
具体地,当用户点击预览按钮后,客户端可以跳转至预览页面,在客户端接收到视频渲染服务器发送的拉流地址后,可以从流媒体服务器与拉流地址对应的节点拉取目标视频流,并在预览页面播放该视频流,而无需等待视频渲染结果,通常,视频在点击预览按钮后,等待一秒钟左右,就可以看到渲染后的视频内容。
值得注意的是,流式传输方式则是将多媒体文件经过特殊的压缩方式分成一个个压缩包,由流媒体服务器向客户端连续、实时传送,客户端利用解压设备(硬件或软件)对压缩的多媒体文件解压后,在预览界面进行播放。
如此,客户端无需针对视频预览做逻辑处理,将视频预览简化为仅是播放器组件的播放操作,而是直接从流媒体服务器拉取视频渲染服务器渲染输出的视频流,可以保证客户端所播放的预览视频与视频渲染服务器输出的视频成品完全一致,提升该视频渲染方法的可靠性。
在一些实施例中,该视频预览方法还可以包括:获取保存指令,并将保存指令发送至视频渲染服务器;接收视频渲染服务器返回的视频成品地址;根据视频成品地址从文件共享服务器获取视频成品,并保存视频成品。
容易理解的是,当用户对视频渲染效果满意并想要保存时,可以点击保存按钮,生成保存指令。客户端获取到保存指令后,可以将该保存指令发送至视频渲染服务器,若视频渲染服务器已经渲染完毕,则会将渲染后的视频成品推送至文件共享服务器,并获取视频成品地址,然后将该视频地址返回给客户端,客户端则可以从文件共享服务器中与该视频成品地址对应的地址获取视频成品并保存视频成品。
通常情况下,用户会完整地预览视频效果,即当用户发起保存操作时,视频成品已经渲染完毕,无需再等待视频成品渲染完成,用户操作体验顺畅,无卡顿。
其他情况下,若用户未完整的预览视频效果,且视频成品还未渲染完毕,则显示视频成品的渲染进度,并提示用户即将渲染完成。在这种情况下,用户需要等待的时间也不会太长。
在一些实施例中,步骤“播放目标视频流”主要可以包括:获取当前带宽;根据当前带宽播放目标视频流。
容易理解的是,为了保证视频的播放效果,对视频渲染服务器与客户端间的网络传输速度有一定的要求。如果网络传输速度较慢,播放时就会出现断断续续的现象。因此,可以根据用户的实际带宽,选择不同清晰度的播放效果。
在本实施例中,步骤“根据当前带宽播放目标视频流”具体可以包括:若当前带宽小于预设带宽,则以第一清晰度播放目标视频流;若当前带宽不小于预设带宽,则以第二清晰度播放目标视频流,其中,第二清晰度大于第一清晰度。
容易理解的是,预设带宽可以由开发者自定义。若用户的当前带宽较小,为了使目标视频流播放连贯,可以以较低的清晰度播放目标视频流,若用户的当前带宽较宽,则可以以较高的清晰度播放目标视频流,既可以保证播放连贯又可以保证视频的清晰度。
在本实施例中,步骤“根据当前带宽播放目标视频流”具体可以包括:若当前带宽小于预设带宽,则显示提示对话框,提示对话框包括选择区域,选择区域供用户选择是否降低清晰度播放目标视频流;若用户选择降低清晰度播放目标视频流,则以第三清晰度播放目标视频流;若用户选择不降低清晰度播放目标视频流,则以第四清晰度播放目标视频流,第四清晰度大于第三清晰度。
考虑到有些用户倾向于保证连贯而对清晰度要求不高,而有些用户倾向于保证清晰度而对连贯性要求不高,因此,若当前带宽小于预设带宽,则显示提示对话框,该提示对话框包括选择区域,供用户选择是否降低清晰度播放目标视频流。若用户选择降低清晰度播放视频流,则以较低的清晰度播放视频流,以保证视频播放的连贯性,若用户选择不降低清晰度播放目标视频流,则以较高的清晰度播放视频流,以保证视频的清晰度。如此,可以提升该视频预览方法的人性化。
具体地,上述第一清晰度、第二清晰度、第三清晰度以及第四清晰度可以由开发者自定义,比如,第一清晰度可以等于第三清晰度,第二清晰度可以等于第四清晰度。
在一些实施例中,该视频预览方法还可以包括:将拉取到的目标视频流顺序缓存;当网络中断时,将最后一个缓存的目标视频流的视频流标识发送至流媒体服务器,以从流媒体服务器拉取最后一个缓存的目标视频流之后的目标视频流。
值得注意的是,为了避免在预览过程中出现网络中断的情况,用户需要重新从流媒体服务器拉取目标视频流,导致占用过多网络资源,客户端可以将拉取到的目标视频流顺序缓存,当网络中断时,可以根据缓存的目标视频流重新预览,并且,通过将最后一个缓存的目标视频流的视频流标识发送至流媒体服务器,流媒体服务器收到该视频流标识后,将接收时间在该视频流标识对应的目标视频流的接收时间之后的目标视频流依次发送至客户端,如此,可以降低网络资源的占用,提高目标视频流的传输效率。
本申请实施例提供的视频预览方法,可应用于有创意工作台、视频模板独立工具等视频编辑业务场景中。例如,某个互联网平台的流量复杂、广告位多,一个视频想投入到该互联网平台的多个流量版位,线下转尺寸、时长耗时耗力,广告主想要快速为视频添加利益点,提升视频效果,此时,可以在该互联网平台上设置由本申请实施例提供的视频预览方法实现的创意工作台,该创意工作台可以提供多种智能调整方式,可以清晰地展现视频利益点,提高视频效果。例如,一般情况下,对广告视频添加字幕、氛围卖点装饰耗时耗力,设计师调整效率低,优化师也想快速调整视频,而由本申请实施例提供的视频预览方法实现的创意工作台,可以实现一键加字幕装饰、智能识别视频内容等功能,还可以通过算法优选来添加字幕、装饰。
譬如,用户可以通过创意工作台智能调整尺寸,比如将竖版9:16的视频转换为横版16:9的视频,这时会使用三宫格的方式来展示视频,上下是高斯模糊,中间是等比例缩小的原视频。或者,用户可以通过创意工作台提供的焦点跟随算法自动进行视频裁剪,比如,原版视频为横版视频,通过本创意工作台,可以跟踪焦点人物进行裁剪,若直接裁剪,可能出现裁剪出的视频画面全是背景而没有焦点人物的情况。如此,可以实现稳定平滑的画面效果,可以广泛应用于口播、情景剧等场景。
再譬如,视频编辑界面还可以提供多种字幕模板,用户可以点击其中一种模板选择字幕形式。比如,某即将上映的电影想要投放在某广告平台,广告主可以进入广告平台客户端的视频模板编辑页面,可以选择合适的电影模板,之后,导入提前准备的电影片段素材。该视频模板编辑界面可以设置有一键识别字幕功能,用户可以选择该功能,直接识别电影片段中出现的台词,如此,可以降低用户制作视频广告的门槛,提升广告的投放效率,此外,为广告视频增加字幕,可以有效提升点击转化。该视频模板编辑界面还可以设置有一键装饰功能,该一键装饰功能提供多种素材组合。具体地,素材组合可以与视频模板相对应,比如,用户选择电影模板,该电影模板可以对应多种素材组合,每种素材组合可以以电影类型进行命名,比如,警匪片、恐怖片、爱情片等。每一素材组合可以包括多个装饰、字幕形式、特效等,当用户导入素材后,可以在视频模板编辑界面提示用户选择相应的素材组合,实现一键选择装饰、字幕以及特效。
又譬如,视频编辑界面还可以提供文案助手功能,即提供优质文案建议,用户可以根据行业、关键词筛选出相关广告文案,如此,可以快速获取文案创意,实现高效编辑,并进一步提升视频广告的投放效率。
本申请实施例提供的视频预览方法,通过获取预览指令,并将预览指令发送至视频渲染服务器,预览指令携带待渲染视频以及待渲染视频的待渲染效果,以供视频渲染服务器根据待渲染效果对待渲染视频进行渲染并生成目标视频流,之后,接收视频渲染服务器返回的拉流地址,拉流地址为流媒体服务器中与目标视频流的推流地址相对应的地址,接着根据拉流地址从流媒体服务器拉取目标视频流,并播放目标视频流,而无需客户端进行实时渲染预览,从而能保证客户端实时预览的视频效果与视频渲染服务器渲染输出的视频效果保持一致,并且,用过创新性地结合视频流技术,无需等待全部视频渲染输出完毕,可以一边渲染一边预览,提高用户的交互体验,同时客户端无需支持渲染等相关业务逻辑,可以有效减少开发成本,在开发资源有限的情况下,可以快速地相应业务诉求。
请参阅图3,图3为本申请实施例提供的另一种视频预览方法的流程示意图,该方法应用于视频渲染服务器,主要可以包括步骤201至步骤204,说明如下:
步骤201.获取客户端发送的预览指令,预览指令携带待渲染视频以及待渲染视频的待渲染效果。
在一些实施例中,用户在客户端视频模板进行编辑后,点击预览按钮,会生成预览指令并发送至视频渲染服务器,视频渲染服务器获取该预览指令,该预览指令携带待渲染视频以及待渲染视频的待渲染效果,视频渲染服务器可以在后续步骤中,根据待渲染效果对待渲染视频进行渲染。
步骤202.创建拉流地址,并将拉流地址发送至预览指令对应的客户端。
具体地,视频渲染服务器可以与流媒体服务器互联,该流媒体服务器可以为基于区块链技术的去中心化的流媒体系统,包括多个节点。视频渲染服务器接收到预览指令后,寻找流媒体服务器中的空闲节点,并将该空闲节点的地址作为拉流地址返回至客户端,以供客户端根据该拉流地址拉取视频流进行视频预览。
步骤203.根据待渲染视频以及待渲染视频的待渲染效果进行视频渲染,以生成目标视频流。
具体地,视频渲染服务器可以根据待渲染效果对待渲染视频的每一帧进行渲染,之后,采用特定的编码工具,将渲染后的视频转码为流媒体格式,生成目标视频流。
譬如,用户在客户端对视频模板进行了替换视频、增加效果等操作,视频渲染服务器可以根据用户进行的多种操作对视频模板的每一帧进行渲染,并利用编码工具将渲染后的视频转码为目标视频流。
容易理解的是,视频渲染服务器可以按照特定的帧数生成一段目标视频流,比如,每渲染特定帧数后,将渲染后的视频帧转码为目标视频流,并在后续步骤中推流至流媒体服务器,以供客户端从流媒体服务器拉取目标视频流,而无需等到全部渲染完毕后才能预览渲染效果。
步骤204.将目标视频流推流至推流地址,推流地址为流媒体服务器中与拉流地址对应的地址,以供客户端从流媒体服务器拉取目标视频流进行预览。
具体地,视频渲染服务器在创建拉流地址的同时,可以异步发起视频渲染推流流程,将生成的目标视频流推流至推流地址,该推流地址为流媒体服务器中与拉流地址对应的地址,即上述空闲节点的地址。
如此,视频渲染服务器对视频广告进行渲染处理,客户端仅仅需要进行视频流的拉取播放操作,以使客户端所播放的效果将与最终视频成品完全一致,克服了目前广告视频在线编辑的缺点。且若后续需要新增视频模板、特效或业务逻辑,均只需要在视频渲染服务器开发支持即可,无需客户端开发支持,对比目前的广告视频在线编辑方法,投入的开发成本减少一半以上,在开发资源有限的情况下,可以快速相应业务的诉求。
在一些实施例中,该方法还可以包括:当视频渲染服务器根据待渲染效果对待渲染视频渲染完毕后,生成视频成品;将视频成品发送至文件共享服务器,并获取视频成品的视频成品地址。
具体地,视频渲染通常需要与视频时长差不多的渲染时长,如30秒的视频,需要30秒才能够渲染完毕。视频渲染服务器可以将视频成品渲染输出为MP4文件,并将该MP4文件发送至文件共享服务器,然后获取该MP4文件的视频成品地址,以在后续步骤中发送该视频成品地址至客户端,以供客户端获取视频成品并保存。
在一些实施例中,该方法还可以包括:获取客户端发送的保存指令;将视频成品地址发送至客户端,以供客户端根据视频成品地址获取视频成品并保存。
容易理解的是,当用户对视频渲染效果满意并想要保存时,可以点击保存按钮,生成保存指令。客户端获取到保存指令后,将该保存指令发送至视频渲染服务器。通常情况下,用户会完整地预览视频效果,即当用户发起保存操作时,视频成品已经渲染完毕,并且视频渲染服务器已经将该视频成品推送到文件共享服务器。视频渲染服务器接收到该保存指令后,将视频成品地址发送至客户端,客户端可以从文件共享服务器中与该视频成品地址对应的地址获取视频成品并保存。用户操作体验顺畅,无卡顿。本申请实施例提供的视频预览方法,通过获取客户端发送的预览指令,预览指令携带待渲染视频以及待渲染视频的待渲染效果,之后,创建拉流地址,并将拉流地址发送至预览指令对应的客户端,然后,根据待渲染视频以及待渲染视频的待渲染效果进行视频渲染,以生成目标视频流,并将目标视频流推流至推流地址,推流地址为流媒体服务器中与拉流地址对应的地址,以供客户端从流媒体服务器拉取目标视频流进行预览,使客户端直接预览视频渲染服务器渲染输出的效果,以保证客户端实时预览的视频效果与视频渲染服务器渲染输出的视频效果保持一致,并且,客户端无需进行渲染输出,则无需视频模板效果或业务逻辑的开发支持,对比现有方案,投入开发成本减少一半以上,在开发资源有限的情况下,可以快速地响应业务的诉求。
在一些实施例中,在视频渲染服务器从客户端获取到预览指令后,视频渲染服务器根据待渲染视频以及待渲染视频的待渲染效果渲染得到视频成品,并且将视频成品推送到文件共享服务器。同时,在从客户端接收到保存指令后,在视频渲染服务器中保存待渲染视频以及待渲染视频的待渲染效果,以及两者与视频成品地址的关联关系。在客户端上创建该待渲染视频以及待渲染视频的待渲染效果的用户,可以将该待渲染视频以及待渲染视频的待渲染效果分享给其他用户,以便于该其他用户在客户端上发出预览指令时,可以在视频渲染服务器中根据待渲染视频以及待渲染视频的待渲染效果,以及两者与视频成品地址的关联关系获取视频成品地址,并将视频成品地址返回客户端,从而该其他用户可以直接预览视频成品,而不用重新渲染视频成品。该其他用户也可以修改待渲染视频的待渲染效果,并且预览修改后的待渲染视频以及待渲染视频的待渲染效果,在这种情况下,视频渲染服务器根据修改后的待渲染视频以及待渲染视频的待渲染效果重新渲染新的视频成品,将新的视频成品推送给文件共享服务器进行存储,并且在视频渲染服务器中保存该待渲染视频以及修改后的待渲染视频的待渲染效果,以及两者与新的视频成品地址的关联关系,在本实施例中,该视频成品地址可以与新的视频成品地址相同或者不同。在一些实施例中,修改后的待渲染视频的待渲染效果只改变视频成品的部分帧(例如,当对待渲染视频的标题进行修改时只会改变视频成品的几十帧),因而,当视频渲染服务器接收到预览指令时,可以根据待渲染视频以及待渲染视频的待渲染效果获取原视频成品,根据修改后的待渲染视频的待渲染效果确定并且生成需要改变的视频成品的帧,并且将需要改变的视频成品的帧替换掉原视频成品的相应帧,从而生成新的视频成品,从而加快视频成品的生成效率。
请参阅图4和图5,图4为本申请实施例提供的视频预览系统的结构示意图,图5为本申请实施例提供的视频预览方法的过程示意图,下面结合图4以及图5进行整体性说明:
如图4所示,该视频预览系统包括客户端、视频渲染服务器、流媒体服务器以及文件共享服务器,其中,客户端可以为广告发布平台的浏览器端,该广告发布平台提供广告视频的在线编辑功能,流媒体服务器可以为基于区块链技术的去中心化的流媒体系统,包括多个节点。
具体地,如图5所示,当用户在浏览器端对视频进行在线编辑后,触发生成视频编辑效果的预览指令,跳转至视频预览页,并将该预览指令发送至视频渲染服务器端。视频渲染服务器收到预览请求后,首先会创先拉流地址,并直接返回给浏览器端视频预览页,无需等待视频渲染结果。其中,视频渲染服务器端收到预览请求后,可以寻找流媒体服务器中的空闲节点,并将该空闲节点的地址作为拉流地址返回至浏览器端。视频渲染服务器收到预览请求后,同时会异步发起推流流程,即对视频进行渲染并将视频流输出到流媒体服务器与拉流地址对应的地址。并且,视频渲染服务器收到预览请求后,会异步发起视频成品输出流程,即,当视频成品渲染完毕后,将视频成品推送至文件共享服务器,并获得视频成品地址。当视频渲染服务器收到浏览器端发送的保存指令时,将视频成品地址返回至浏览器端,然后,浏览器端从文件共享服务器中视频成品地址对应的地址获取视频成品并保存。
如此,当用户在浏览器端进行广告视频的在线编辑预览时,通过视频渲染服务器将视频渲染输出为视频流,而无需等待全部视频帧渲染输出完毕即可实时预览,保证交互体验顺畅。并且,浏览器端不参与视频的渲染,则无需针对视频渲染做逻辑处理,将视频预览简化为播放操作,保证浏览器端预览的效果与视频成品的最终效果一致。进一步地,当针对视频模板新增效果特效或者业务逻辑时,仅需要视频渲染服务器的开发支持,无需多端开发支持,对比现有方案,投入的开发成本可以减少一半以上,在开发资源有限的情况下,可以快速的响应业务的诉求。
上文详细描述了本申请的方法实施例,下文结合图6至图8,详细描述本申请的装置实施例,应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。
图6是根据本申请实施例的一种视频预览装置10的示意性结构图,如图6所示,该视频预览装置10可以包括:
获取模块11,用于获取预览指令,并将预览指令发送至视频渲染服务器,预览指令携带待渲染视频以及待渲染视频的待渲染效果,以供视频渲染服务器根据待渲染效果对待渲染效果进行渲染并生成目标视频流;
接收模块12,用于接收视频渲染服务器返回的拉流地址,拉流地址为流媒体服务器中与目标视频流的推流地址相对应的地址;
播放模块13,用于根据拉流地址从流媒体服务器拉取目标视频流,并播放目标视频流。
在一些实施例中,该视频预览装置10还可以包括保存模块,用于:获取保存指令,并将保存指令发送至视频渲染服务器;接收视频渲染服务器返回的视频成品地址;根据视频成品地址从文件共享服务器获取视频成品,并保存视频成品。
具体地,播放模块13主要可以用于:获取当前带宽;根据当前带宽播放目标视频流。
进一步地,播放模块13具体可以用于:若当前带宽小于预设带宽,则以第一清晰度播放目标视频流;若当前带宽不小于预设带宽,则以第二清晰度播放目标视频流,第二清晰度大于第一清晰度。
进一步地,播放模块13具体可以用于:若当前带宽小于预设带宽,则显示提示对话框,提示对话框包括选择区域,选择区域供用户选择是否降低清晰度播放目标视频流;若用户选择降低清晰度播放目标视频流,则以第三清晰度播放目标视频流;若用户选择不降低清晰度播放目标视频流,则以第四清晰度播放目标视频流,第四清晰度大于第三清晰度。
在本实施例中,该频预览装置10还可以包括缓存模块,用于:将拉取到的目标视频流顺序缓存;当网络中断时,将最后一个缓存的目标视频流的视频流标识发送至流媒体服务器,以从流媒体服务器拉取最后一个缓存的目标视频流之后的目标视频流。
需要说明的是,本申请实施例中的视频预览装置10中各模块的功能可对应参考上述各方法实施例中的具体实现方式,这里不再赘述。
上述视频预览装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各个模块可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行上述各个模块对应的操作。
本申请实施例提供的视频预览装置10,当预设客户端在终端设备上首次运行时,通过获取模块11从服务器获取预览指令,并将预览指令发送至视频渲染服务器,预览指令携带待渲染视频以及待渲染视频的待渲染效果,以供视频渲染服务器根据待渲染效果对待渲染视频进行渲染并生成目标视频流,之后接收模块12接收视频渲染服务器返回的拉流地址,拉流地址为流媒体服务器中与目标视频流的推流地址相对应的地址,接着播放模块13根据拉流地址从流媒体服务器拉取目标视频流,并播放目标视频流,而无需客户端进行实时渲染预览,从而能保证客户端实时预览的视频效果与视频渲染服务器渲染输出的视频效果保持一致,并且,用过创新性地结合视频流技术,无需等待全部视频渲染输出完毕,可以一边渲染一边预览,提高用户的交互体验,同时客户端无需支持渲染等相关业务逻辑,可以有效减少开发成本,在开发资源有限的情况下,可以快速地相应业务诉求。
图7是为本申请实施例的视频预览装置的另一示意性结构图,如图7所示,该视频预览装置20可以包括:
获取模块21,用于获取客户端发送的预览指令,预览指令携带待渲染视频以及待渲染视频的待渲染效果;
创建模块22,用于创建拉流地址,并将拉流地址发送至预览指令对应的客户端;
渲染模块23,用于根据待渲染视频以及待渲染视频的待渲染效果进行视频渲染,以生成目标视频流;
推流模块24,用于将目标视频流推流至推流地址,推流地址为流媒体服务器中与拉流地址对应的地址,以供客户端从流媒体服务器拉取目标视频流进行预览。
在一些实施例中,该视频预览装置20还可以包括第一发送模块,用于:当视频渲染服务器根据待渲染效果对待渲染视频渲染完毕后,生成视频成品;将视频成品发送至文件共享服务器,并获取视频成品的视频成品地址。
在一些实施例中,该视频预览装置20还可以包括第二发送模块,用于:获取客户端发送的保存指令;将视频成品地址发送至客户端,以供客户端根据视频成品地址获取视频成品并保存。
需要说明的是,本申请实施例中的视频预览装置20中各模块的功能可对应参考上述各方法实施例中的具体实现方式,这里不再赘述。
上述视频预览装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各个模块可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行上述各个模块对应的操作。
本申请实施例提供的视频预览装置20,通过获取模块21获取客户端发送的预览指令,预览指令携带待渲染视频以及待渲染视频的待渲染效果,之后,创建模块22创建拉流地址,并将拉流地址发送至预览指令对应的客户端,接着,渲染模块23根据待渲染视频以及待渲染视频的待渲染效果进行视频渲染,以生成目标视频流,然后,推流模块24将目标视频流推流至推流地址,推流地址为流媒体服务器中与拉流地址对应的地址,以供客户端从流媒体服务器拉取目标视频流进行预览,使客户端直接预览视频渲染服务器渲染输出的效果,以保证客户端实时预览的视频效果与视频渲染服务器渲染输出的视频效果保持一致,并且,客户端无需进行渲染输出,则无需视频模板效果或业务逻辑的开发支持,对比现有方案,投入开发成本减少一半以上,在开发资源有限的情况下,可以快速地响应业务的诉求。
图8为本申请实施例提供的视频预览装置的又一示意性结构图,如图8所示,视频预览装置30可以包括:通信接口31,存储器32,处理器33和通信总线34。通信接口31,存储器32,处理器33通过通信总线34实现相互间的通信。通信接口31用于视频预览装置30与外部设备进行数据通信。存储器32可用于存储软件程序以及模块,处理器33通过运行存储在存储器32的软件程序以及模块,例如前述方法实施例中的相应操作的软件程序。
在一些实施例中,该处理器33可以调用存储在存储器32的软件程序以及模块执行如下操作:
获取预览指令,并将预览指令发送至视频渲染服务器,预览指令携带待渲染视频以及待渲染视频的待渲染效果,以供视频渲染服务器根据待渲染效果对待渲染视频进行渲染并生成目标视频流;接收视频渲染服务器返回的拉流地址,拉流地址为流媒体服务器中与目标视频流的推流地址相对应的地址;根据拉流地址从流媒体服务器拉取目标视频流,并播放目标视频流。或者,
获取客户端发送的预览指令,预览指令携带待渲染视频以及待渲染视频的待渲染效果;创建拉流地址,并将拉流地址发送至预览指令对应的客户端;根据待渲染视频以及待渲染视频的待渲染效果进行视频渲染,以生成目标视频流;将目标视频流推流至推流地址,推流地址为流媒体服务器中与拉流地址对应的地址,以供客户端从流媒体服务器拉取目标视频流进行预览。
在一些实施例中,本申请还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。该计算机可读存储介质可应用于计算机设备,并且该计算机程序使得计算机设备执行本申请实施例中的视频预览方法中的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行本申请实施例中的视频预览方法中的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行本申请实施例中的视频预览方法中的相应流程,为了简洁,在此不再赘述。
应理解,本申请实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,上述存储器为示例性但不是限制性说明,例如,本申请实施例中的存储器还可以是静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)以及直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)等等。也就是说,本申请实施例中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种视频预览方法,其特征在于,应用于客户端,所述视频预览方法包括:
获取预览指令,并将所述预览指令发送至视频渲染服务器,所述预览指令携带待渲染视频以及所述待渲染视频的待渲染效果,以供所述视频渲染服务器根据所述待渲染效果对所述待渲染视频进行渲染并生成目标视频流;
接收所述视频渲染服务器返回的拉流地址,所述拉流地址为流媒体服务器中与所述目标视频流的推流地址相对应的地址;
根据所述拉流地址从所述流媒体服务器拉取目标视频流,并播放所述目标视频流。
2.根据权利要求1所述的视频预览方法,其特征在于,还包括:
获取保存指令,并将所述保存指令发送至所述视频渲染服务器;
接收所述视频渲染服务器返回的视频成品地址;
根据所述视频成品地址从文件共享服务器获取视频成品,并保存所述视频成品。
3.根据权利要求1所述的视频预览方法,其特征在于,所述播放所述目标视频流,包括:
获取当前带宽;
根据所述当前带宽播放所述目标视频流。
4.根据权利要求3所述的视频预览方法,其特征在于,所述根据所述当前带宽播放所述目标视频流,包括:
若所述当前带宽小于预设带宽,则以第一清晰度播放所述目标视频流;
若所述当前带宽不小于预设带宽,则以第二清晰度播放所述目标视频流,所述第二清晰度大于所述第一清晰度。
5.根据权利要求3所述的视频预览方法,其特征在于,所述根据所述当前带宽播放所述目标视频流,包括:
若所述当前带宽小于预设带宽,则显示提示对话框,所述提示对话框包括选择区域,所述选择区域供用户选择是否降低清晰度播放所述目标视频流;
若用户选择降低清晰度播放所述目标视频流,则以第三清晰度播放所述目标视频流;
若用户选择不降低清晰度播放所述目标视频流,则以所述第四清晰度播放所述目标视频流,所述第四清晰度大于所述第三清晰度。
6.根据权利要求1所述的视频预览方法,其特征在于,还包括:
将拉取到的所述目标视频流顺序缓存;
当网络中断时,将最后一个缓存的所述目标视频流的视频流标识发送至所述流媒体服务器,以从所述流媒体服务器拉取所述最后一个缓存的所述目标视频流之后的目标视频流。
7.一种视频预览方法,其特征在于,应用于视频渲染服务器,所述视频预览方法包括:
获取客户端发送的预览指令,所述预览指令携带待渲染视频以及所述待渲染视频的待渲染效果;
创建拉流地址,并将所述拉流地址发送至所述预览指令对应的客户端;
根据所述待渲染视频以及所述待渲染视频的待渲染效果进行视频渲染,以生成目标视频流;
将所述目标视频流推流至推流地址,所述推流地址为流媒体服务器中与所述拉流地址对应的地址,以供所述客户端从所述流媒体服务器拉取所述目标视频流进行预览。
8.根据权利要求7所述的视频预览方法,其特征在于,还包括:
当所述视频渲染服务器根据所述待渲染效果对所述待渲染视频渲染完毕后,生成视频成品;
将所述视频成品发送至文件共享服务器,并获取所述视频成品的视频成品地址。
9.根据权利要求8所述视频预览方法,其特征在于,还包括:
获取所述客户端发送的保存指令;
将所述视频成品地址发送至所述客户端,以供所述客户端根据所述视频成品地址获取所述视频成品并保存。
10.一种视频预览装置,其特征在于,应用于客户端,包括:
获取模块,用于获取预览指令,并将所述预览指令发送至视频渲染服务器,所述预览指令携带待渲染视频以及所述待渲染视频的待渲染效果,以供所述视频渲染服务器根据所述待渲染效果对所述待渲染效果进行渲染并生成目标视频流;
接收模块,用于接收所述视频渲染服务器返回的拉流地址,所述拉流地址为流媒体服务器中与所述目标视频流的推流地址相对应的地址;
播放模块,用于根据所述拉流地址从所述流媒体服务器拉取目标视频流,并播放所述目标视频流。
11.一种视频预览装置,其特征在于,应用于视频渲染服务器,包括:
获取模块,用于获取客户端发送的预览指令,所述预览指令携带待渲染视频以及所述待渲染视频的待渲染效果;
创建模块,用于创建拉流地址,并将所述拉流地址发送至所述预览指令对应的客户端;
渲染模块,用于根据所述待渲染视频以及所述待渲染视频的待渲染效果进行视频渲染,以生成目标视频流;
推流模块,用于将所述目标视频流推流至推流地址,所述推流地址为流媒体服务器中与所述拉流地址对应的地址,以供所述客户端从所述流媒体服务器拉取所述目标视频流进行预览。
12.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机设备上运行时,使得所述计算机设备执行如权利要求1至6中任意一项所述的方法、或者7至9中任意一项所述的方法。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行权利要求1至6中任意一项所述的方法、或者7至9任一项所述的视频预览方法中的步骤。
14.一种计算机程序产品,包括计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1至6中任意一项所述的方法、或者7至9所述的视频预览方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111191438.9A CN115967824A (zh) | 2021-10-13 | 2021-10-13 | 视频预览方法、装置、介质、设备和计算机程序产品 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111191438.9A CN115967824A (zh) | 2021-10-13 | 2021-10-13 | 视频预览方法、装置、介质、设备和计算机程序产品 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN115967824A true CN115967824A (zh) | 2023-04-14 |
Family
ID=87358436
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202111191438.9A Pending CN115967824A (zh) | 2021-10-13 | 2021-10-13 | 视频预览方法、装置、介质、设备和计算机程序产品 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115967824A (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024240174A1 (zh) * | 2023-05-22 | 2024-11-28 | 北京字跳网络技术有限公司 | 媒体资源的渲染方法、装置、计算机设备及存储介质 |
| WO2025082197A1 (zh) * | 2023-10-16 | 2025-04-24 | 北京字跳网络技术有限公司 | 一种视频生成方法、装置、设备及存储介质 |
| WO2025139330A1 (zh) * | 2023-12-29 | 2025-07-03 | 北京字跳网络技术有限公司 | 多媒体数据流处理方法、装置、电子设备及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103247067A (zh) * | 2013-04-02 | 2013-08-14 | 深圳市瑞云科技有限公司 | 一种远程渲染方法及云渲染平台 |
| US20140171204A1 (en) * | 2012-12-13 | 2014-06-19 | Microsoft Corporation | Asynchronous cloud rendered video delivery |
| CN104732568A (zh) * | 2015-04-16 | 2015-06-24 | 成都品果科技有限公司 | 一种在线对图片添加歌词字幕的方法及装置 |
| CN109168028A (zh) * | 2018-11-06 | 2019-01-08 | 北京达佳互联信息技术有限公司 | 视频生成方法、装置、服务器及存储介质 |
| CN110415324A (zh) * | 2019-07-23 | 2019-11-05 | 南阳市润德数码科技有限公司 | 一种基于云端渲染的方法 |
-
2021
- 2021-10-13 CN CN202111191438.9A patent/CN115967824A/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140171204A1 (en) * | 2012-12-13 | 2014-06-19 | Microsoft Corporation | Asynchronous cloud rendered video delivery |
| CN103247067A (zh) * | 2013-04-02 | 2013-08-14 | 深圳市瑞云科技有限公司 | 一种远程渲染方法及云渲染平台 |
| CN104732568A (zh) * | 2015-04-16 | 2015-06-24 | 成都品果科技有限公司 | 一种在线对图片添加歌词字幕的方法及装置 |
| CN109168028A (zh) * | 2018-11-06 | 2019-01-08 | 北京达佳互联信息技术有限公司 | 视频生成方法、装置、服务器及存储介质 |
| CN110415324A (zh) * | 2019-07-23 | 2019-11-05 | 南阳市润德数码科技有限公司 | 一种基于云端渲染的方法 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024240174A1 (zh) * | 2023-05-22 | 2024-11-28 | 北京字跳网络技术有限公司 | 媒体资源的渲染方法、装置、计算机设备及存储介质 |
| WO2025082197A1 (zh) * | 2023-10-16 | 2025-04-24 | 北京字跳网络技术有限公司 | 一种视频生成方法、装置、设备及存储介质 |
| WO2025139330A1 (zh) * | 2023-12-29 | 2025-07-03 | 北京字跳网络技术有限公司 | 多媒体数据流处理方法、装置、电子设备及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9478256B1 (en) | Video editing processor for video cloud server | |
| US8868465B2 (en) | Method and system for publishing media content | |
| KR100987880B1 (ko) | 저해상도 미디어 자산을 편집하여 고해상도 편집된 미디어 자산을 생성하는 방법, 컴퓨터 판독가능 매체 및 시스템 | |
| KR100976887B1 (ko) | 동적 미디어 사양 작성기 및 적용기를 작성 및 적용하는 방법 및 시스템 | |
| US20070239787A1 (en) | Video generation based on aggregate user data | |
| KR100991583B1 (ko) | 편집 정보를 미디어 콘텐츠와 결합하는 방법, 컴퓨터 판독가능 저장 매체 및 시스템 | |
| CN107197386B (zh) | 一种无客户端的跨平台视频播放实现方法 | |
| CN115967824A (zh) | 视频预览方法、装置、介质、设备和计算机程序产品 | |
| US20080285939A1 (en) | Proxy editing and rendering for various delivery outlets | |
| CN103503340B (zh) | 同步内容广播分发系统 | |
| CN112261416A (zh) | 基于云的视频处理方法、装置、存储介质与电子设备 | |
| CN102007486A (zh) | 程序设计的原版动画以及用于制作该原版动画的方法 | |
| CN114222156B (zh) | 视频剪辑方法、装置、计算机设备和存储介质 | |
| JP7290260B1 (ja) | サーバ、端末及びコンピュータプログラム | |
| CN115250335A (zh) | 视频处理方法、装置、设备及存储介质 | |
| CN102819851B (zh) | 一种有声图片的计算机实现方法 | |
| KR100987862B1 (ko) | 미디어 콘텐츠에 편집들을 기록하는 방법 및 시스템 | |
| CN108616768A (zh) | 多媒体资源的同步播放方法、装置、存储位置及电子装置 | |
| CN113645482A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
| CN101395909A (zh) | 用于组合编辑信息和媒体内容的方法和系统 | |
| HK40084588A (zh) | 视频预览方法、装置、介质、设备和计算机程序产品 | |
| EP4423635A1 (en) | Method for tracking distribution of a shared digital media file | |
| US20220377409A1 (en) | Distributed network recording system with single user control | |
| KR20090044856A (ko) | 멀티미디어 컨텐츠를 제공하기 위한 사용자 단말기 및컨텐츠 서버, 이를 이용한 컨텐츠 제공 시스템 및 그 방법 | |
| CN118803300A (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 | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40084588 Country of ref document: HK |