Insbesondere möchten Sie die -identifyOption. Die Option -frames 0weist es an, die Datei nicht abzuspielen, und -vo null -ao nullgibt keine Treiber für Video und Audio an (sodass Sie diesen Befehl über SSH oder ein anderes nicht X-fähiges Terminal verwenden können).
Sie können dies mit grepoder anderen Werkzeugen kombinieren , um die gewünschte Linie herauszuziehen:
ffmpeg setzt sich dort durch, wo mplayer fehlschlägt.
dom0
Einige neuere Distributionen (Debian, Ubuntu 14) haben ffmpeg gelöscht und stattdessen die libav-Verzweigung ausgeliefert, sodass Sie möglicherweise installieren libav-toolsund ausführen müssen, avconv -ianstattffmpeg -i
bain am
Können Sie mir bitte anhand der folgenden Beispielausgabe sagen, welche Videobitrate verwendet wird? Eingabe Nr. 0, flv, aus 'mi-cc-03-bed_and_breakfast.flv': Dauer: 00: 00: 18.7, Start: 0.000000, Bitrate: 64 kb / s Stream Nr. 0.0: Video: flv, yuv420p, 480x360, 29.92 fps (r) Stream # 0.1: Audio: MP3, 44100 Hz, Stereo, 64 kb / s Muss mindestens eine Ausgabedatei liefern
Um die Gesamtbitrate anzuzeigen, sollten Sie besser -show_formatoder sogar besser (on * nix) verwenden avprobe -show_format file.avi | grep bit_rate. Die gleiche Syntax funktioniert auch für ffprobe.
Evilsoup
2
Hier ist ein weiteres Tool, das dasselbe tut:, tcprobedas Teil des transcodePakets ist. Verwenden Sie den -iSchalter, um einen Info-Dump aus der Datei abzurufen (Beispielausgabe aus derselben Datei wie im mplayerBeispiel):
Erhalten Sie genau die Videobitrate über mediainfo : $ mediainfo --Output='Video;%BitRate%' '/MY/MEDIA/FILE.MP4'
oder in Kbps: $ mediainfo --Output='Video;%BitRate/String%'
Erhalten Sie genau die Audio-Bitrate über mediainfo in bps: $ mediainfo --Output='Audio;%BitRate%' '/MY/MEDIA/FILE.MP4'
oder in Kbps: $ mediainfo --Output='Audio;%BitRate/String%' '/MY/MEDIA/FILE.MP4'
Hier ist eine Copy-Paste-Bash-Antwort mit avprobe (die mit avconv und vielleicht ffmpeg geliefert wird), falls Sie nur die Nummer wollen (für weitere Skripterstellung).
function bitrate () { avprobe -show_format "$1" 2> /dev/null | grep "bit_rate" | sed 's/.*bit_rate=\([0-9]\+\).*/\1/g'; }
Das funktioniert so. In dieser Zeile werden Informationen zur Datei abgerufen (zusätzliche Informationen zu stdout werden entfernt):
avprobe -show_format test.mp4 2> /dev/null
Dann grepwählt die Linie , die Bitrate erwähnt
grep "bit_rate"
Aus denen seddann extrahiert die Bitrate (in Bits / Sekunde)
sed 's/.*bit_rate=\([0-9]\+\).*/\1/g';
Lange Rede kurzer Sinn, kopieren Sie die Funktion in die erste Zeile und dann können Sie tun
$ bitrate test.mp4
593567
(Das ist kein qualitativ hochwertiges Video mit 593 kb / s, da die Bitrate anscheinend 1000 statt 1024 verwendet.)
Ich habe versucht, die gleichen Informationen zu erhalten, aber nur diese Daten, um sie in einer Bash-Schleife zu verwenden. Und ich habe sie! FFPROBE verwenden!
FFPROBE: hide_banner: Kopfzeileninfo verbergen, loglevel 0 gibt nur die erforderlichen Informationen an, select_streams gibt an, an welchem Stream (Video) wir arbeiten, show_entries gibt an, welche Daten speziell wir möchten
Antworten:
Sie können MPlayer verwenden, um diese Informationen abzurufen.
Insbesondere möchten Sie die
-identify
Option. Die Option-frames 0
weist es an, die Datei nicht abzuspielen, und-vo null -ao null
gibt keine Treiber für Video und Audio an (sodass Sie diesen Befehl über SSH oder ein anderes nicht X-fähiges Terminal verwenden können).Sie können dies mit
grep
oder anderen Werkzeugen kombinieren , um die gewünschte Linie herauszuziehen:Die vollständige Ausgabe sieht folgendermaßen aus:
quelle
ffmpeg funktioniert gut:
quelle
libav-tools
und ausführen müssen,avconv -i
anstattffmpeg -i
quelle
-show_format
oder sogar besser (on * nix) verwendenavprobe -show_format file.avi | grep bit_rate
. Die gleiche Syntax funktioniert auch für ffprobe.Hier ist ein weiteres Tool, das dasselbe tut:,
tcprobe
das Teil destranscode
Pakets ist. Verwenden Sie den-i
Schalter, um einen Info-Dump aus der Datei abzurufen (Beispielausgabe aus derselben Datei wie immplayer
Beispiel):quelle
Erhalten Sie genau die Videobitrate über mediainfo :
$ mediainfo --Output='Video;%BitRate%' '/MY/MEDIA/FILE.MP4'
oder in Kbps:
$ mediainfo --Output='Video;%BitRate/String%'
Erhalten Sie genau die Audio-Bitrate über mediainfo in bps:
$ mediainfo --Output='Audio;%BitRate%' '/MY/MEDIA/FILE.MP4'
oder in Kbps:
$ mediainfo --Output='Audio;%BitRate/String%' '/MY/MEDIA/FILE.MP4'
quelle
Hier ist eine Copy-Paste-Bash-Antwort mit avprobe (die mit avconv und vielleicht ffmpeg geliefert wird), falls Sie nur die Nummer wollen (für weitere Skripterstellung).
Das funktioniert so. In dieser Zeile werden Informationen zur Datei abgerufen (zusätzliche Informationen zu stdout werden entfernt):
Dann
grep
wählt die Linie , die Bitrate erwähntAus denen
sed
dann extrahiert die Bitrate (in Bits / Sekunde)Lange Rede kurzer Sinn, kopieren Sie die Funktion in die erste Zeile und dann können Sie tun
(Das ist kein qualitativ hochwertiges Video mit 593 kb / s, da die Bitrate anscheinend 1000 statt 1024 verwendet.)
quelle
Ich habe versucht, die gleichen Informationen zu erhalten, aber nur diese Daten, um sie in einer Bash-Schleife zu verwenden. Und ich habe sie! FFPROBE verwenden!
FFPROBE: hide_banner: Kopfzeileninfo verbergen, loglevel 0 gibt nur die erforderlichen Informationen an, select_streams gibt an, an welchem Stream (Video) wir arbeiten, show_entries gibt an, welche Daten speziell wir möchten
fer @ FerPC: ~ / Downloads / TEMP $ ffprobe -hide_banner -loglevel 0 -of flat -i 'Eng_Sub_EP.1_1_4.mkv' -select_streams v -show_entries 'format = bit_rate'
Sie erhalten: format.bit_rate = "1085360"
quelle