Próbuję określić szybkość transmisji wideo (do transkodowania) za pomocą polecenia ffmpeg, próbowałem wykonać następujące polecenie.
ffmpeg -i 28572615.wmv
i daje następujący wynik
Input #0, asf, from '28572615.wmv':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isomavc1
encoder : Lavf57.36.100
Duration: 00:02:50.92, start: 0.000000, bitrate: 1982 kb/s
Stream #0:0: Video: wmv2 (WMV2 / 0x32564D57), yuv420p, 640x360, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc
Stream #0:1: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 2 channels, fltp, 128 kb/s
At least one output file must be specified
Jeśli użyję innego filmu
ffmpeg -i with_out_sound.mp4
następnie otrzymuję następujące dane wyjściowe
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'with_out_sound.mp4':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6avc1mp41
creation_time : 2015-04-21 05:14:57
Duration: 00:00:27.86, start: 0.000000, bitrate: 500 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 622x480 [SAR 1:1 DAR 311:240], 100 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default)
Metadata:
creation_time : 2015-04-21 05:14:57
handler_name : VideoHandler
At least one output file must be specified
Chodzi mi o to, że powinienem poszukać w linii metadanych Czas trwania lub linii metadanych Strumienia wideo (Strumień 0: 0) szybkości transmisji wideo?
Odpowiedzi:
Szybkość transmisji wideo jest wyświetlana w informacjach o strumieniu wideo. Informacje o formacie zawierają bitrate dla wszystkich strumieni plus narzuty związane z multipleksowaniem.
Jeśli brakuje bitrate wideo, brudnym sposobem na uzyskanie tej wartości jest odjęcie bitrate wszystkich innych strumieni od całkowitej bitrate.
Jeśli to nie jest wykonalne, nieporęczną metodą jest uruchomienie ffprobe, aby wyświetlić rozmiary pakietów i czas trwania strumienia, a następnie obliczenie szybkości transmisji bitów przez zsumowanie wszystkich linii oprócz ostatniej i podzielenie przez wartość w ostatniej linii.
Wynik:
Oczywiście jest to rozwiązanie ostateczne i ma zastosowanie tylko wtedy, gdy informacje o strumieniu wideo nie mają szybkości transmisji, a oszacowanie szybkości transmisji przez zdyskontowanie szybkości wszystkich innych strumieni również nie jest możliwe.
źródło