Domyślnie ffmpeg wysyła całą masę komunikatów do stderr: po zbudowaniu, jak zbudowane, kodeki itp. Itd.
Jak mogę zrobić to ciszej?
Próbowałem -v 0
(a -v 10
ponieważ dokumentacja po prostu nieśmiało mówi Set the logging verbosity level.
bez wskazania, jaki jest zakres danych wejściowych) - wciąż nie jest cicho.
Próbowałem -loglevel quiet
- wciąż nie cicho.
Powinienem wspomnieć, że szukam „spokojniejszego”, a nie „nigdy nie ma wyjścia”. Jeśli jest jakiś błąd, chcę go zobaczyć, ale nie muszę słyszeć o konfiguracji ffmpeg. pojedynczy. czas.
-loglevel quiet -stats
.-loglevel error -stats
pokażą błędy „w tym te, które można odzyskać”, a użycie-stats
zapewnia wydruk postępu kodowania i linii statystyk. Zmiana-loglevel
zerror
nawarning
jest nieco bardziej szczegółowa, ale wygodnie mieści się na jednej stronie terminalu.Odpowiedzi:
ffmpeg -hide_banner -loglevel panic
Wspomniano o tym w komentarzu pod bieżącą odpowiedzią.
Opcja
-hide_banner
została wprowadzona pod koniec 2013 r. - https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html )źródło
-nostats
?Nie przetestowałem tego, ale na stronie podręcznika widzę opcję:
Powinno to powodować, że teoretycznie rejestrowane są tylko poważne błędy
źródło
-loglevel panic
, dla mnie to tylko trochę zmniejsza wydajność - nadal drukuje informacje o wersji, mapowanie strumienia, opcje konfiguracji, (a nawet informacje o postępie!) ... jakieś pomysły? Może muszę wspomnieć, że jest to wersja kompilowana z najnowszego pnia svn.-hide_banner
oprócz obniżonego poziomu gadatliwości byłoby dobrym kompromisem.Tutaj masz loglevels z kodu źródłowego (FFmpeg wersja 0.10.2.git)
źródło
Z powodzeniem wykorzystałem następujące (najnowsza wersja FFMPEG w momencie pisania):
W moim scenariuszu użytkowania jest absolutnie cicho.
źródło
-nostats
tego szukałem. Pominie to wynik postępu (np. Przydatne w kontekście nieterminalnym).-nostats
ukrywa również banner. ffmpeg potrzebuje-show_banner
opcji;)To ukrywa baner i wyświetla tylko błędy. Użyj,
-loglevel warning
jeśli chcesz zobaczyć ostrzeżenia.Testowane w Ffmpeg 3.0.2.
Z dokumentacji :
źródło
Poniższe działało dla mnie na macOS:
lub tylko zobaczyć postęp:
źródło
Możesz przepuścić stderr przez grep. Na przykład, jeśli chcesz usunąć informacje o konfiguracji, możesz to zrobić w następujący sposób:
źródło
ffmpeg … 2>&1 >/dev/null | grep …
.Jest to trochę tanie, ale dołączanie
>/dev/null 2>&1
to pewny sposób na milczenie ffmpeg w powłoce.Przykład
Więcej informacji o wyjściu bash
źródło
ffmpeg -loglevel error -hide_banner -nostats
Tylko błędy, nic więcej.
Ja osobiście najbardziej to lubię;
ffmpeg -loglevel warning -hide_banner -stats
Daje tylko ostrzeżenia i błędy, ale także pokazuje postęp pracy.
źródło