前两篇文章介绍过FFmpeg进行音频处理、音视频处理:android端采用FFmpeg进行音频混合与拼接剪切, android端采用FFmpeg进行音视频合成与分离。关于FFmpeg涉及文件导入以及cmake配置,可查看第一篇文章。现在接着探讨视频相关处理:视频转码、视频剪切、视频截图、添加水印、视频转Gif动图、图片合成视频。
1、视频转码
视频转码包括格式、码率、尺寸大小等转换,-f代表强制转换格式,-b代表码率,-s代表尺寸,-r代表帧率:
/**
* 使用ffmpeg命令行进行视频转码
* @param srcFile 源文件
* @param targetFile 目标文件(后缀指定转码格式)
* @return 转码后的文件
*/
public static String[] transformVideo(String srcFile, String targetFile){
String transformVideoCmd = "ffmpeg -i %s -r 25 -b 200 -s 1080x720 %s";
transformVideoCmd = String.format(transformVideoCmd, srcFile, targetFile);