我想制作一个合并两个视频的应用程序,其中一个视频具有垂直分辨率,另一视频具有水平分辨率。我设法合并了,但这导致视频拉伸,理想情况下不应该发生。有谁知道这样做吗?谢谢!
command = new String[]{"-y", "-i", video1.mp4, "-i", video2.mp4,"-strict", "experimental", "-filter_complex",
"[0:v]scale=1920x1080,setdar=4:3[v0];[1:v]scale=1920x1080,setdar=4:3[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",output.mp4};
答案 0 :(得分:1)
您需要按比例缩放然后填充。
[0:v]scale=1920x1080:force_original_aspect_ratio=decrease,pad=1920:1080:'(ow-iw)/2':'(oh-ih)/2'[v0];
[1:v]scale=1920x1080:force_original_aspect_ratio=decrease,pad=1920:1080:'(ow-iw)/2':'(oh-ih)/2'[v1];
答案 1 :(得分:0)
在提供填充后使用 setsar=1
。
例如
[0:v]scale=1920x1080:force_original_aspect_ratio=decrease,pad=1920:1080:'(ow-iw)/2':'(oh-ih)/2,setsar=1'[v0];