如何讓 ffmpeg 更安靜/更簡潔?

如何讓 ffmpeg 更安靜/更簡潔?

預設情況下,ffmpeg 會向 stderr 發送大量訊息:何時建置、如何建置、編解碼器等。

要怎麼樣才能讓它安靜一點呢?

我已經嘗試過-v 0-v 10因為文件只是羞澀地說,Set the logging verbosity level.沒有說明輸入的範圍是什麼)——仍然不安靜。

我已經試過了-loglevel quiet——還是不安靜。

我應該提到,我正在尋找“更安靜”,而不是“沒有輸出”。如果有錯誤我想看到它,但我不需要每次都聽到 ffmpeg 的配置。單身的。時間。

答案1

ffmpeg -hide_banner -loglevel error

目前答案下面的評論中提到了這一點。

該選項-hide_banner於 2013 年底推出——https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html

-loglevel warning導致輸出多於該error等級(但小於預設info等級),因為它顯示所有警告訊息。

-loglevel panic是最不詳細的輸出(甚至省略錯誤訊息),但沒有記錄。

官方-loglevel文件可以在ffmpeg 文檔在下面通用選項,小節-loglevel [flags+]loglevel | -v [flags+]loglevel

答案2

我還沒有測試過它,但我在手冊頁中看到了一個選項:

ffmpeg -loglevel panic [rest of your ffmpeg stuff]

理論上應該只記錄嚴重錯誤

答案3

這裡有來自原始碼的日誌等級(FFmpeg 版本 0.10.2.git)

const struct { const char *name; int level; } log_levels[] = {
        { "quiet"  , AV_LOG_QUIET   },
        { "panic"  , AV_LOG_PANIC   },
        { "fatal"  , AV_LOG_FATAL   },
        { "error"  , AV_LOG_ERROR   },
        { "warning", AV_LOG_WARNING },
        { "info"   , AV_LOG_INFO    },
        { "verbose", AV_LOG_VERBOSE },
        { "debug"  , AV_LOG_DEBUG   },
    };

答案4

ffmpeg -loglevel error [other commands]

這會隱藏橫幅並僅顯示錯誤。-loglevel warning如果您想看到警告,請使用。

在 Ffmpeg 3.0.2 中測試。

來自文件:

-loglevel [重複+]loglevel | -v [重複+]日誌級別

設定庫使用的日誌記錄等級。新增「repeat+」表示重複的日誌輸出不應壓縮到第一行,並且「Last message returned n times」行將被省略。 「重複」也可以單獨使用。如果單獨使用“repeat”,並且沒有事先設定日誌級別,則將使用預設日誌級別。如果給予多個日誌等級參數,使用「repeat」將不會變更日誌等級。 loglevel 是包含以下值之一的字串或數字:

'安靜,-8'

不顯示任何內容;安靜。

“恐慌,0”

僅顯示可能導致進程崩潰的致命錯誤,例如斷言失敗。目前這還沒有用於任何用途。

“致命,8”

只顯示致命錯誤。這些都是錯誤,之後這個過程絕對無法繼續。

“錯誤,16”

顯示所有錯誤,包括可以恢復的錯誤。

“警告,24 點”

顯示所有警告和錯誤。將顯示與可能不正確或意外事件相關的任何訊息。

'信息,32'

在處理過程中顯示資訊性訊息。這是對警告和錯誤的補充。這是預設值。

'詳細,40'

與 相同info,但更詳細。

'調試,48'

顯示一切,包括調試資訊。

“踪跡,56”

預設情況下,程式會記錄到 stderr,如果終端支援著色,則使用顏色來標記錯誤和警告。可以透過設定環境變數來停用日誌著色 AV_LOG_FORCE_NOCOLORNO_COLOR或者可以強制設定環境變數AV_LOG_FORCE_COLOR。不建議使用環境變量NO_COLOR,並將在後續 FFmpeg 版本中刪除。

相關內容