0

我想要分辨率为 1920x1080 的不对称并排视频。第一个视频的比特率是 1mb/s,第二个视频的比特率是 500kb/s。两个视频具有相同的分辨率 1920x1080 和编码 h.265,容器 mp4。我使用了ffmpeg代码:

 ffmpeg -i leftvideo.mp4 -i rightvideo.mp4 -filter_complex "[0:v] scale=iw/2:ih, pad=2*iw:ih [left]; [1:v] scale=iw/2:ih [right]; [left][right] overlay=main_w/2:0 [out]" -map [out] -c:v libx265 output.mp4 

它运作良好,但我希望在保持的同时获得视频质量。我不想重新编码。

这两个视频是否有可能改变分辨率(960x1080)并一起打包到容器 mp4 中?

编辑:或其他方法?

4

1 回答 1

1

使用ffmpeg

如果要在 中使用过滤器,则需要重新编码ffmpeg,但如果要“保持质量”,可以使用无损输出:

ffmpeg -i left.mp4 -i right.mp4 -filter_complex \
"[0:v]scale=iw/2:ih[l];[1:v]scale=iw/2:ih[r];[l][r]hstack" \
-c:v libx264 -qp 0 output.mp4

生成的文件大小可能很大。如果这是不可接受的,您可以通过更改为来尝试“视觉无损”-qp 0输出-crf 18

您没有提供有关输入的完整详细信息,也没有提及音频,所以我假设您不关心音频。

您没有提供命令的完整控制台输出,所以我认为您ffmpeg的新功能足以使用 hstack 过滤器。

使用ffplay

另一种选择是只使用您的播放器并排播放,甚至不处理重新编码。使用ffplay.

ffplay -f lavfi "movie=left.mp4,scale=iw/2:ih[v0];movie=right.mp4,scale=iw/2:ih[v1];[v0][v1]hstack"
于 2016-05-10T20:08:11.870 回答