不支援 libx264

不支援 libx264

請幫助我的情況,我在這裡遇到 ffmpeg 的問題,我使用命令:

ffmpeg -i whiskey.mkv -threads 0 -c:v libx264 -crf 28 -preset veryslow -vf "movie=logo.png[wm];[in][wm]overlay=0:0,subtitles=whiskey.srt[out]" whiskey2.mp4

但出現錯誤

root@:~/ffmpeg# ffmpeg -i whiskey.mkv -threads 0 -c:v libx264 -crf 2
8 -preset veryslow -vf "movie=logo.png[wm];[in][wm]overlay=0:0,subtitles=whiskey
.srt[out]" whiskey2.mp4
ffmpeg version N-80522-ge0faad8 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration:
  libavutil      55. 24.100 / 55. 24.100
  libavcodec     57. 46.100 / 57. 46.100
  libavformat    57. 38.102 / 57. 38.102
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 46.102 /  6. 46.102
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
Unrecognized option 'crf'.
Error splitting the argument list: Option not found

如果您有任何無品質損失的編碼水印+子命令,請告訴我。

答案1

不支援 libx264

您正在嘗試使用編碼器 libx264,但您的編碼器ffmpeg未配置為支援此編碼器。您的configure行是空白的,但它需要--enable-libx264&--enable-gpl才能使用 libx264。

解決這個問題最簡單的方法是下載靜態版本ffmpeg:它將支援 libx264。

沒有“質量損失”

過濾需要重新編碼,但您嘗試使用會產生有損輸出的選項。

如果您確實想要沒有品質損失,則必須進行無損輸出,但大多數用戶並不真正想要這樣做,因為檔案會很大並且並非所有播放器/設備都支援它。對於使用 libx264 的無損輸出,請使用-crf 0.

您可能真正想要的是有損的,但品質足夠好,您無法判斷這在技術上不是無損的。對於這個用途-crf 18

你的命令有額外的、無用的選項。清理後的範例是:

ffmpeg -i whiskey.mkv -i logo.png -filter_complex \
"[0:v][1:v]overlay,subtitles=whiskey.srt" \
-c:v libx264 -crf 18 -preset veryslow output.mp4

如果輸入音訊與 MP4 容器相容新增-c:a copy串流複製音訊而不是重新編碼。

另請參閱:

相關內容