短视频编辑:可实时交互的播放器

作者&投稿:孙卫 (若有异议请与网页底部的电邮联系)
~ 如何开发一个类似剪影或抖音的视频剪辑工具?

其开发任务如上图,一个短视频生产app的首要任务在于实现一个高度可实时交互的播放器,在播放预览时支持多种编辑能力。

最初我们调研了多种方案,乍一看Android原生播放器肯定不够用,估计要在众多c++的开源播放器中寻找参考方案,最好自己实现一个播放器,高度灵活高度可控。然而我们发现exo这个男团播放器的厉害之处,虽然这个播放器如此常用,但是我们不知道其潜力值爆表,可以拓展得如此强大。

事实上直到现在,我们仍然在自研视频剪辑工具中使用exoplayer做编辑预览。为什么选择exoplayer,基于以下几点原因(一句话,性价比高):

使用基于exoplayer播放器进行二次开发,快速高效实现视频剪辑功能。视频剪辑播放器用于视频编辑过程中的实时预览播放,支持有功能有:

针对上述视频剪辑所需要支持的功能,逐一对照explayer的api文档,寻找拓展实现的方法。

其中,视频旋转、文字贴纸、美颜滤镜、素材转场需要调用setVideoSurface控制视频呈现层,自定义GLSurfaceView,使用opengl实现对视频的旋转、美颜滤镜、添加贴纸。exoplayer播放输出的surface与自定义GLSurfaceView的渲染纹理相绑定。

视频裁剪播放使用ClippingMediaSource设置裁剪素材,按api文档传入起始时间和结束时间。

多个视频拼接播放,使用ConcatenatingMediaSource可以用来无缝地合并播放多个素材,为了能对单个素材进行编辑,isAtomic设为true。

变速使用setPlaybackParameters设置速度参数

这三个功能使用exoplayer已提供的api就可以实现,相对容易。在执行编辑操作后即时更新播放器素材和参数即可。在我们的产品中,有一个撤销操作的交互,所以需要保留一份数据拷贝,如果用户撤销操作则更新为原来的数据。

exoplayer本身不支持图片格式的素材播放。注入一个自定义渲染器来实现图片(格式为jpg、png、gif等)

其中ImageRender继承BaseRenderer,实现了图片的自定义渲染。render主要工作是将每帧数据解码流渲染为屏幕图像。对于图片来说,我们定义ImageMediaSourceImage、SampleStreamImpl和ImageMediaPeriod,分别继承于BaseMediaSource、SampleStream和MediaPeriod,从原素材解析并传送每帧图片数据。图片不需要真正的解码,实现SampleStream的readData方法读取图片uri为解码buffer。

实现图片播放的核心在于实现render接口:

在这个方法内,我们创建opengl环境,将bitmap绘制到屏幕上

添加的文字或贴纸支持移动、旋转、缩放和设置时间轴。对于多个文字贴纸,我们最终包装为一个与渲染屏幕同尺寸的bitmap,在这个bitmap的画布上绘制一系列带坐标大小、起止时间的小bitmap(即stickerItem.getBitmap)。

将这张贴纸画布bitmap与原视频帧像素混合就实现了所有文字贴纸的绘制。用opengl绘制贴纸,就是对屏幕上像素做一个水印滤镜的运算。采用GLSL内建的mix函数做两个纹理的混合,以下是水印滤镜所用的片元着色器。

和文字贴纸一样,要实现实时的美颜滤镜效果,必须使用帧缓冲fbo。帧缓冲的每一存储单元对应着屏幕每一个像素。而美颜滤镜涉及较复杂算法,由部门内的人工智能组提供sdk接入,在绘制过程中调用sdk方法如下,就是使用fbo进行一次图像纹理转换。传入参数为屏幕方向、摄像头方向和渲染尺寸。

目前产品实现了左右移、上下移、拉近拉远、顺时针逆时针旋转等几种转场效果。转场的实现方法是:对于两个在其中添加了转场的素材,在上一个素材的最后1000ms绘制转场滤镜,转场滤镜即将两张图片的像素以一定的规律进行渲染,转场算法由opengl使用glsl着色器实现。转场基类的片元着色器如下,移动转场(左右向移动和上下移动)、缩放转场(拉近拉远)、旋转转场对getFromColor与getToColor执行的行为不同。

以移动转场的转场glsl着色器为例

转场的具体实现参考了GPUImageFilter库,和美颜滤镜以及文字贴纸不同的是,转场滤镜需要在渲染前预先设置将下个素材的首帧图。

在预览编辑过程中,由于音乐并不需要真正合成于视频中,因此可以使用另一个播放器单独播放音频,我们采用android更原始的MediaPlayer单独播放音乐,单独支持音乐的裁剪播放和seek。

抽帧预览即每隔固定时间取视频的一帧图片构成时间轴,我们使用ffmpegMediaMetadataRetriever库进行抽帧 ,使用方法为

该库内部使用ffmpeg进行解码取帧,接口易用但是其软件解码方式效率过低,相对较慢。因为exoplayer播放器是默认使用硬件解码的,可以采用另一个exoplayer播放器快速播放一次素材,然后每隔一段时间获取屏幕图像,但此种方法开销过大,两个exoplayer播放器不利于管理。

最后,我们发现常用的图片加载库glide也能进行视频抽帧,使用更为简单方便,其内部采用mediaMetadataRetriever进行抽帧。

1.调整素材,拼接、裁剪、变速

https://vod.cc.163.com/file/5f896ef25655da63cc2d3237.mp4

2.转场、文字贴纸、美颜滤镜

https://vod.cc.163.com/file/5f896edad70f81a0e3c77dbe.mp4


影视后期制作好学吗?
影视后期制作还是很好学的,只要掌握了相关知识和常用的几款软件,学习起来都是十分简单的。影视后期制作的工作有:1、视频编辑:按要求、按脚本,为突出某主题内容为目的剪辑制作、段落删减、增加删减片段、FLASH等,以及根据自主化要求剪辑制作。想要成为一名及格的剪辑师并不简单,需要有足够的耐心和兴趣来...

短视频剪辑推荐哪个软件?APP跟电脑版都行。
5.编辑星 编辑星可能了解的人并不多,但是它有着一大优点就是自带解码转码器,不需另外安装。同款的软件还有快剪辑,这两款软件在很多方面还是比较类似,同时即使是初学者用起来是很容易上手的,如果有在今日头条做自媒体的话就可以发现头条官方推荐的视频剪辑软件就是编辑星;6.会声会影 会声会影可能...

视频编辑软件有哪些?
目前这款软件广泛应用于广告制作和电视节目制作中。02 会声会影: 会声会影是加拿大Corel公司制作的一款功能强大的视频编辑软件,正版英文名:Corel VideoStudio,具有图像抓取和编修功能,可以抓取,转换MV、DV、V8、TV和实时记录抓取画面文件,并提供有超过100 多种的编制功能与效果,可导出多种常...

视频剪辑怎么接单
2、转场特效:过渡两段视频素材片段,让视频过渡更加自然。3、画中画:在同一画面中添加多个视频片段,可以增加视频的趣味性,原创度也会增加。4、添加bgm:一个匹配的bgm能让整个视频作品锦上添花。5、缩放:可以改变剪辑视频素材在整个画布中显示的比例。6、蒙版:可让图层遮挡或显示一部分,被遮挡部位...

数字媒体技术具有哪些特点?
4.多样性:数字媒体技术可以处理多种类型的媒体信息,包括文本、图像、音频、视频、动画等。同时,数字媒体技术也支持多种格式和标准的媒体信息,以满足不同应用场景的需求。5.实时性:数字媒体技术可以实现实时处理和传输。例如,通过数字音频和视频处理技术,可以实现实时音频和视频的采集、编辑和处理,以及...

有哪些免费的视频剪辑软件?
3、巧影 巧影是一款在安卓系统上运行的专业视频编辑应用。为剪辑中的视频、图像、贴图、文本、手写提供多图层操作功能。主要有逐帧修剪、拼接和切片、实时预览、色调、亮度和饱和度控制、视频剪辑速度控制等功能。4、趣推 趣推,朋友圈趣味视频制作APP。拥有丰富的视频模板,招商模板、节日模板、早晚安模板、...

什么软件可以剪辑视频
的。在视频编码上可以储存多种档案的格式,例如:.rm,.wmv,.avi,.mov,mpeg1-2等,在音频档案格式上则支持有.aif,.mp3,.wav,.rm,.wma等;其次在视频及音频上也具有自动淡入及淡出的功能效果(音频的自动淡入淡出,我喜欢这个功能,手动调太麻烦了)优点:可多轨实时浏览,特技众多,界面美观 缺点...

如何使用微信对视频进行编辑
随着微信版本的不断升级,微信功能越来越丰富。现在微信还可以编辑视频,对视频进行剪裁和添加文字、涂鸦和表情的操作。接下来小编就告诉大家如何使用微信对视频进行编辑。1、我们首先进入微信的“发现”页面,点击进入“朋友圈”。2、然后点击屏幕右上角相机按钮,接着点击“从相册选择”。3、选择好需要编辑...

如何将多个视频拼接起来
怎么将多个视频拼接在一起制作成一个视频呢?是困扰着很多人的难题,然而其实制作视频拼接一点也不复杂,在手机上就可以制作。那么下面来演示用手机制作视频拼接的方法。希望能够帮助到你!具体步骤如下:第一步:首先点击“清爽视频编辑器”首页下方项目栏中的“视频工具”,进入视频工具页面。第二步:视...

专业视频编辑软件前十名
7、后面会不断汇聚更多优秀学习资源,供大家交流分享学习,需要的可以先收藏转存,有时间慢慢看~手机剪辑学习实时更新 链接?pwd=2D72 提取码2D72。8、08 Vegas Vegas 是一个专业影像编辑软件现在被制作成为Vegas Movie Studio ,是专业版的简化而高效的版本,将成为PC上最佳的入门级视频编辑软件,...

康平县18560651654: 一边看一边剪接视频的播放器? -
荡苇氟氯: dv视频剪辑论坛 视频编辑软件|视频剪辑软件|视频素材|电子相册模... 论坛5号ftp服务器开通(2007-10-9)金秋十月,dv视频剪辑论坛改版庆祝祖国58周岁生日!(2007-10-1)关于登陆论坛后又...dv视频剪辑论坛规章制度(2006-9-16) ≡ 摄像机与拍摄 ≡ 版块 主题 帖数 最后发表 『 摄像机选购与使用 』 www.dvedit.cn/ 36k 2007-12-28

康平县18560651654: 有什么视频播放软件可以对视频进行编辑的? -
荡苇氟氯: 视频播放器是不能对视频进行编辑的.视频编辑需要用视频编辑软件,主要有以下几种:一类是玩具式的:特点是操作非常简单,没有什么更多的功能和特效,质量难以保证.这类软件有系统自带的move make(有的系统没有安装),玩家宝宝.二类是业余级别的视频编辑软件:特点是有一定的功能和特效,操作相对比较简单.特效是傻瓜式的,不能进行调整或只能有限的调整.质量一般.如绘声绘影等.三类是半专业级别的:特点是功能相对较全,特效比较多一些,操作不太复杂,能根据编辑人员的要求实现一些特效要求.如EDIUS VEGAS四类是专业级别的:如premiere.功能强大,操作复杂,需要认真学习.

康平县18560651654: 手机剪辑视频用什么软件好 -
荡苇氟氯: 好用的手机剪辑视频2113有:小影5261、美拍、巧影、乐秀、VUE,因为它们的4102功能很多,技术炫酷,具体介绍如下:1653 1、小影 原创视频、全能剪辑的短视频社区app.可录制10秒短视频,同时提供拍摄、编辑更长原创视频内容的服...

康平县18560651654: 有哪些好用的手机剪辑视频软件 -
荡苇氟氯: 好用的手机剪辑视频软件有快影、小影、巧影、快剪辑、splice,下面是具体介绍. 1、快影 快影软件优点:强大的视频剪辑功能,丰富的音乐库、音效库和新式封面,让你在手机上就能轻轻松松完成视频编辑和视频创意,制作出令人惊艳的趣...

康平县18560651654: 哪个播放器可以编辑手机上传的视频 -
荡苇氟氯: 播放器是不能编辑视频的,需要视频编辑软件.有的播放器可以从整个视频上裁下需要的一段,这不是严格意义上的视频编辑. 视频编辑软件简单的绘声绘影,2个小时就能上手,但功能少.专业的如premiere,功能强大,但操用复杂,需要认真学习.上传的格式一般在视频编辑软件中没有,在视频格式转换软件中有需要上传的格式.视频格式转换软件如格式工厂等

康平县18560651654: 视频编辑制作软件哪些好用?
荡苇氟氯: 1. RealProducer Plus V11.0 由 Real 公司官方出品的新一代 Real 格式音频、视频文件制作软件,它可将 Wav、Mov、Avi、Au、Mpeg 等多媒体文件压制成 Real 影音流媒体文件(rmvb、ra、rm、ram...),以 www.skycn.com/soft/1825.html 2. ...

康平县18560651654: 谁知道视频剪辑得用什么软件?
荡苇氟氯: RealMedia Editor 11.0.1.262 汉化版(合并提取修改Real 媒体信息) http://5.51ct.cn/uuauth/RealMedia%20Editor.rar Helix Real媒体编辑器汉化版,可以编辑RM以及RMVB,这是最新版本的 RM 编辑软件,直接解压到任一目录下,即可使用...

康平县18560651654: 谁告诉 编辑视频软件哪个好~~ -
荡苇氟氯: 国外的Adobe Premiere、Ulead Media Studio Pro、Sony Vegas,国内免费的有编辑星啊,会声会影啊,都可以用啊!

康平县18560651654: 剪视频的软件哪个好?
荡苇氟氯: 随着短视频的普及,人们对视频编辑和视频编辑软件的需求逐渐增加.因此,选择一个好的视频编辑器可以大大节省我们的时间,剪视频比较好的软件有,电脑视频剪辑软...

康平县18560651654: 快手里面制作视频有哪些软件 -
荡苇氟氯: 制作快手视频可以用会声会影,eduis,Movie Maker,爱剪辑,威力导演等软件. 1、会声会影.是一款强大的照片,图片和视频制作的剪辑软件,具有多种的视频编辑功能和制作动画效果. 2、eduis.非线性编辑软件专为广播和后期制作环境而...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网