在 FFmpeg 上複製影片質量

在 FFmpeg 上複製影片質量

我想使用 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

答案1

您正在使用過濾器,並且過濾需要重新編碼,因此您不能-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以便在檔案完全下載之前就可以開始播放。

相關內容