我正在使用以下 FFMPEG 命令在android中合并 mp4 视频。但是,合并后,视频会旋转 90度。
我被困了两天。如果有任何想法,那将是非常值得推荐的。
提前致谢 !
complexCommand = new String[] {
"ffmpeg",
"-y",
"-i",
recordpath + "Vid1.mp4",
"-i",
recordpath + "Vid2.mp4",
"-strict",
"experimental",
"-filter_complex",
"[0:v]scale=w=640:h=480[v1]; [1:v]scale=w=640:h=480[v2]; [v1][0:a][v2][1:a] concat=n=2:v=1:a=1 [v] [a]",
"-map", "[v]", "-map", "[a]", "-b", "2097k", "-vcodec",
"mpeg4","-ab","64k","-ac","2","-ar","22050", recordpath + "Outputnew.mp4"};
最佳答案
以下是合并两个视频并保持两个视频的长宽比的工作命令
complexCommand = new String[]{"-y", "-i", file1.toString(), "-i", file2.toString(), "-strict", "experimental", "-filter_complex",
"[0:v]scale=iw*min(1920/iw\\,1080/ih):ih*min(1920/iw\\,1080/ih), pad=1920:1080:(1920-iw*min(1920/iw\\,1080/ih))/2:(1080-ih*min(1920/iw\\,1080/ih))/2,setsar=1:1[v0];[1:v] scale=iw*min(1920/iw\\,1080/ih):ih*min(1920/iw\\,1080/ih), pad=1920:1080:(1920-iw*min(1920/iw\\,1080/ih))/2:(1080-ih*min(1920/iw\\,1080/ih))/2,setsar=1:1[v1];[v0][0:a][v1][1:a] concat=n=2:v=1:a=1",
"-ab", "48000", "-ac", "2", "-ar", "22050", "-s", "1920x1080", "-vcodec", "libx264", "-crf", "27", "-q", "4", "-preset", "ultrafast", rootPath + "/output.mp4"};