Piszę skrypt bash, aby przyspieszyć podcasty. W nim mam:
ffmpeg -nostats -hide_banner -loglevel panic -y -i normal/$channel/$filename -filter:a "atempo=1.3" fast/$channel/$filename
Jednak po uruchomieniu tego otrzymuję wiele takich danych wyjściowych:
stream #0:
keyframe=1
duration=0.026
dts=336.196 pts=336.196
size=836
Czy -nostats
flaga nie powinna tego zatrzymać? Zgodnie z dokumentacją :
-stats
(global)
Wydrukuj postęp kodowania / statystyki. Jest domyślnie włączony, aby jawnie go wyłączyć, musisz określić
-nostats
.
Ponadto nadal otrzymuję wyjście bannera z ffmpeg, mimo że mam -hide_banner
.
-hide_banner
Pomiń druk transparentu.
Wszystkie narzędzia FFmpeg zwykle wyświetlają informację o prawach autorskich, opcje kompilacji i wersje bibliotek. Tej opcji można użyć do pominięcia drukowania tych informacji.
Nie mogę zrozumieć, dlaczego ffmpeg ignoruje te flagi lub (bardziej prawdopodobne) to, co robię źle.
Aktualizacja
Próbowałem także -loglevel panic
i nadal wszystko wyprowadza.
Otrzymuję również wynik w kolorze czerwonym:
00000060 b3 2e 0d 77 68 54 73 a9 e3 79 c7 65 ca 85 45 64 ...whTs..y.e..Ed
00000070 30 5c 94 ef 4b 02 be 67 4e 71 e4 39 18 5c 23 a3 0\..K..gNq.9.\#.
00000080 d6 54 ec 8a 79 59 e1 74 31 52 a4 5f 52 2f 48 5f .T..yY.t1R._R/H_
00000090 15 2a a5 5f 2f e7 c2 c3 7a 85 da bf 2e 18 ca d2 .*._/...z.......
000000a0 8d ad ab 69 d3 e8 c5 7c 98 7c 8c 79 34 c6 9a 2d ...i...|.|.y4..-
000000b0 10 fe 69 91 73 23 9e 3c 7e fc b3 eb e4 95 7c 92 ..i.s#.<~.....|.
000000c0 b4 b4 21 bc b4 5e 68 43 d7 fb 4b 4a 1a be 87 b4 ..!..^hC..KJ....
000000d0 f5 e0 e0 01 00 1f e4 40 33 bd ff fc 59 ae 86 94 .......@3...Y...
000000e0 30 60 30 f6 7f c1 12 4b c8 43 c9 2c a4 74 bc 3c 0`0....K.C.,.t.<
000000f0 f0 40 00 1d ab f1 9f 8c 9a 60 30 8c 6c c8 40 d5 .@.......`0.l.@.
Mam więcej wyników na Pastebin
Biegnę ffmpeg version 3.0.2-1~trusty
ffmpeg -nostats -hide_banner -loglevel panic -y -i normal/$channel/$filename -filter:a "atempo=1.3" fast/$channel/$filename >/dev/null 2>&1
Odpowiedzi:
Jedyną potrzebną flagą jest:
To powinno powstrzymać wszystkie wyjścia terminala. Jeśli to nie działa, upewnij się, że używasz najnowszej wersji FFmpeg (4.0 w momencie pisania).
źródło
Przepraszamy za rozwiązanie do nekropostii; jest to jedyny istniejący wątek, który opisuje sytuację, w której się znajduję, która pochodzi z próby rozwiązania późniejszych błędów w skrypcie.
Jednym ze sposobów wyzwalania tego wyjścia jest to, że
ffmpeg
mogą one pobierać bajtystdin
.Poniższe spowodują
stream #0
wydruk danych wyjściowych; spowoduje to także konwersję kolejnych plików.Problem wynika z
stdin
domyślnego używania ffmpeg ; użyj,-nostdin
aby wyłączyć to zachowanieZe strony podręcznika:
źródło