在FFmpeg上复制视频质量


1

我想使用FFmpeg添加水印,但我希望视频具有相同的质量。我怎么做?

我尝试使用-vcodec copy -acodec copy但没有水印:

ffmpeg -y -i treino.mp4 -vf "movie=logo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" -vcodec copy -acodec copy video2.mp4

如何自动获取原始编码信息并为新文件预设?
Don Donllei

Answers:


4

您正在使用的过滤器和过滤需要重新编码,所以你不能使用-vcodec copy流拷贝视频。如果您想要“相同的质量”,则需要使用无损编码器:

ffmpeg -i video.mp4 -i image.png -filter_complex overlay -c:v libx264 -crf 0 -c:a copy -movflags +faststart output.mp4
  • 生成的文件可能很大:对于无损输出,这是预期的。

  • 您的播放器或设备可能无法播放无损文件。

  • 如果您希望获得“视觉上无损”的输出(从技术上讲不是无损的,但看上去几乎是无损的),请使用-crf 18代替-crf 0

  • 无需电影源过滤器。就像我的示例所示,像输入其他文件一样,只需在输入中添加覆盖图像即可。

  • 由于您使用的是PHP,因此我假设您将通过渐进式下载来展示视频。添加文件,-movflags +faststart以便它可以在文件完全下载之前开始播放。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.