FFMPEG将两个视频合并为一个具有并排相同质量输出的视频

时间:2017-02-15 16:38:23

标签: video ffmpeg

我已经在处理带有3d视频的项目了,我有问题,我得到了左右视频通道并排将它合并到一起。我已经阅读了一些关于这个问题的博客,我得到了这个代码:

ffmpeg -i avatar35l.avi -vf "movie=avatar35r.avi [in1]; [in]pad=1920*2:1080[in0]; [in0][in1] overlay=1920:0 [out]" avatar35sbs.avi

它的工作原理,但我的质量损失很大,我需要一个与输入视频相同的输出视频质量,30fps,1080p,相同的长度,我是新的ffmpeg,我需要一个具体的例子

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

无损

如果您需要"与输入视频相同的输出视频质量"您必须使用真正的无损格式。 ffv1的示例使用hstack过滤器而不是movie + pad + overlay:

module()

FFmpeg支持其他几种无损压缩格式,例如:

  • 无损H.264:define()
  • huffyuv:ffmpeg -i left.avi -i right.avi -filter_complex hstack -c:v ffv1 output.avi
  • ffvhuff:-c:v libx264 -crf 0
  • UT视频:-c:v huffyuv
  • 当然还有无损的未压缩格式,包括rawvideo。

由于它是无损的,输出文件会非常庞大​​,而您的播放器或设备可能不会喜欢它。

视觉无损

当然,你可能真正想要的是“有损,但视觉无损”,但不是一个巨大的巨大文件,如真正的无损提供"。在这种情况下使用:

-c:v huffyuv

你没有提到音频。如果您想合并每个输入的音频,请使用amerge过滤器:

-c:v utvideo

请参阅FFmpeg Wiki: H.264 Video Encoding