【发布时间】:2016-09-27 21:53:51
【问题描述】:
我正在使用 Ffmpeg4Android 库对视频进行编码。我想通过选择视频来合并它们。我面临的问题是,如果选择肖像视频,则制作的视频具有旋转视频。为了解决这个问题,我根据视频的旋转元数据旋转视频,然后我正在执行合并命令。 10 秒的高清视频大约需要 3-5 分钟。请建议我更快的方法..
旋转指令:
String[] cmd= new String[]{"ffmpeg", "-y", "-i", orginalFilePath, "-strict", "experimental", "-vf", "transpose=" + transposeby, newFilePath};
//transposeby=1 表示顺时针 90 度
合并命令:
String[] command = new String[]{"ffmpeg", "-y", "-i", files[0], "-i", files[1], "-strict", "experimental",
"-filter_complex", "[0:v]scale=640x480,setsar=1:1[v0];[1:v]scale=640x480,setsar=1:1[v1];[v0][0:a][v1][1:a] concat=n=2:v=1:a=1",
"-ab", "48000", "-ac", "2", "-ar", "22050", "-s", "640x480", "-r", "30", "-vcodec", "mpeg4", "-b", "2097k", newFilePath};
【问题讨论】:
-
组合命令。如果
0:v是旋转后的视频,那么在合并命令中,将[0:v]transpose=1,scale=640x480,setsar=1[v0]与原始视频一起使用。
标签: android video ffmpeg rotation video-editing