一时兴起,想看看手机端的非线形编辑系统-的设计思路
一、分析录制完的视频和时间轴的关系
1、下载android腾讯微视,录制了一个视频大概10s多一点,录制完后就进入了编辑界面,未加入任何效果,保存文件。
2、使用ffprobe 分析下视频信息 编码格式是h264,gop大小是25,视频的fps 大小是25,算下来也就是1s一个I帧,10s的话,我看了微视时间轴大概显示了10帧多一点,也就是1个gop 是一个编辑单元,选择特效时可以插入到gop内部。
二、如何编辑视频
普遍采用opengl 进行视频的后期处理,说一下我的想法;
1、编辑预览:
编辑预览采取opengl 渲染加上视频的各种滤镜,具体滤镜的算法可以参考网上大部分的大神的blog;
特效贴纸的部分:主要依赖于逐帧的贴纸进行实现,具体贴纸的更换频率,可以在编写代码时根据合适的场景调整。
2、编辑保存:
主要采取OpenGL的离屏渲染技术,按照已经编辑好的规则,使用opengl渲染一遍,然后做音频和视频的重新编码。