FFMPEG 中的慢速视频旋转

Slow Video rotation in FFMPEG

我正在使用 Ffmpeg4Android 库对视频进行编码。我想通过 select 合并视频。我遇到的问题是,如果一个 select 纵向视频,制作的视频有旋转的视频。为解决此问题,我根据其旋转元数据旋转视频,然后执行合并命令。 10 秒的高清视频需要大约 3-5 分钟的时间。请建议我更快的方法..

旋转命令:

String[] cmd= new String[]{"ffmpeg", "-y", "-i", orginalFilePath, "-strict", "experimental", "-vf", "transpose=" + transposeby, newFilePath}; 

//transposeby=1 for 90degree cw

合并命令:

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]