我想要不对称的并排视频,分辨率为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?
编辑:或其他方法?
答案 0 :(得分:2)
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"