一、FFmpeg简介
视频播放是目前各大移动应用必不可少的功能,视频播放可以进一步细分为视频解码、视频渲染、音视频同步三部分。
FFmpeg是一套音视频多媒体处理开源框架,它提供了对音视频的采集、编码、解码、转码、音视频分离、合并、流化、过滤器等丰富的功能。
- 业界视频播放框架:MPC、MPlayer、VLC 占市场90%,均使用或融合FFmpeg的视频解码技术
- 主流播放器均使用FFmpeg作为内核:暴风影音等
- 现在火热的短视频APP,技术处理会用到FFmpeg:裁剪、滤镜、拼接、过渡、混音、调整播放速度等特效
二、用FFmpeg构造丰富的测试物料资源,更好的模拟各类场景
1. 不同格式的视频资源
在测试视频初期,需要收集不同格式的视频资源来进行视频格式的视频。收集完整的视频格式资源相对比较费劲,更不用提还有视频尺寸和分辨率的测试需求。
①转换编码方式-c:v
ffmpeg -i sourcename -c:v mpeg4 objectname
②转换容器-c
ffmpeg -i sourcename.mp4 -c copy output.webm
③调整码速-b:v
ffmpeg -i test.mp4 -b:v 1500k testk.mp4
④调整分辨率-s
ffmpeg -i D:\test\test.mp4 -s 800600 D:\test\testf.mp4
⑤调整帧率-r
ffmpeg -i D:\test\test.mp4 -r 25 output D:\test\testr.mp4
⑥调整视频大小-fs (file size)
ffmpeg -i demo.mp4 -fs 500K demo-fs-500K.mp4
*2. 不同需求的广告物料**
在测试过程,基于产品需求,对于应用内广告展示的测试也需要满足不同的需求。通过FFmpeg可以更精准的生成满足不同需求的测试物料。
3. 制作带有动态封面的视频
之前有反馈过问题,场景和动态封面的视频有关,场景较难模拟,通过FFmpeg可以实现动态封面的视频,方便测试同学进行相关的问题定位。
4. 更多其他媒体处理功能
正如前面介绍的,FFmpeg可以方便裁剪、滤镜、水印、拼接、过渡、混音功能,在短视频和云表情相同功能的测试有更多用处待大家使用。
更多参考:http://ffmpeg.org/