Ich habe also folgendes Videobeispiel
Stream #0:0(jpn): Video: h264 (High 10), yuv420p10le(progressive), 1920x1036 [SAR 1:1 DAR 480:259], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.0(side), fltp, 640 kb/s (default)
Stream #0:2(jpn): Audio: ac3, 48000 Hz, 5.0(side), fltp, 640 kb/s
Stream #0:3(eng): Subtitle: ass (default)
Metadata:
title : English Signs & Songs
Stream #0:4(eng): Subtitle: ass
Metadata:
title : English Subtitles
Stream #0:5: Attachment: ttf
Metadata:
filename : PutoInsanity.ttf
mimetype : application/x-truetype-font
Ich möchte benutzenffprobeum die Anzahl der Video-Streams und Audio-Streams zu zählen, was mir in diesem Fall geben sollte1Und2bzw. Wie kann dies erreicht werden?
Antwort1
Keine solche Funktion, aber Sie können ffprobe
plus zusätzliche Tools wie uniq
(und sort
falls gewünscht) verwenden, um die Ausgabe zu verarbeiten.
Anzahl der Streamtypen auflisten
ffprobe -v error -show_entries stream=codec_type -of default=nw=1:nk=1 input.mkv | uniq -c
1 data
1 video
1 attachment
8 subtitle
6 audio
Geben Sie einfach die Nummer für den spezifischen Streamtyp aus
Oder eine stückweise Methode. Dieses Beispiel zeigt, wie viele Audiostreams es gibt:
ffprobe -v error -select_streams a -show_entries stream=index -of csv=p=0 input.mkv | wc -w
2
Akzeptierte Werte für -select_streams
:
v
VideoV
Video (ausgenommen angehängte Bilder, Video-Thumbnails oder Cover-Art).a
Audio-s
Untertiteld
Datent
Anhänge