Mein ffProbe-Skript scheint nur mit MKV-Dateien zu funktionieren

Ich habe gerade gestern von ffprobe erfahren und konnte nach langem Googeln eine Befehlszeilen-BAT-Datei zusammenstellen, um die gewünschten Metainformationen zu erhalten. Dann stellt sich heraus, dass es nur etwa die Hälfte der Zeit funktioniert. Nach einigem Experimentieren scheint es, dass es nur mit MKV-Dateien funktioniert.

Ich weiß nicht, ob hier ein Fehler vorliegt oder ob meine Befehlszeile verbessert werden muss. Vielleicht funktioniert ffProbe nur mit bestimmten Dateien, aber ich ging davon aus, dass es mit den meisten gängigen Videoformaten funktionieren würde.

Ich verwende AutoHotKey, um eine BAT-Datei zu erstellen, die ich dann starte. Also müssen wir uns wirklich nur die BAT-Datei ansehen.

Hier ist mein BAT-Skript ...

C:\PROGRA~1\ffmpeg\bin\ffprobe.exe -pretty -select_streams v \
-show_entries \
format=filename,size,duration,bit_rate:stream=codec_name,codec_type,bit_rate,width,height,display_aspect_ratio \
-of ini \
"S:\myTVshows\SampleName - S01E01 - SampleTitle.mp4"

Nachdem dies ausgeführt wurde, gibt die Konsole nur den #ffprobe outputHeader aus und hängt sich dann auf. Wenn es auf einer mkv-Datei läuft, gibt es wie erwartet sofort alle gewünschten Daten aus.

Update: Wenn ich als Parameter hinzufüge -report, bekomme ich natürlich die Berichtsprotokolldatei ... aber ich bekomme auch die gewünschte Ausgabe (anstatt wie zuvor zu hängen). Ich frage mich, ob es bedeutet, dass dies ein Fehler ist.

Anmerkungen

  • Ich habe den Pfad für ffprobe auf das 8.3-Format reduziert, damit ich mich nicht um Anführungszeichen in diesem Teil kümmern muss.
  • Ich arbeite mit einer sehr aktuellen Installation von ffmpeg/ffprobe (ffmpeg-20170404-1229007-win64-static).

Unten ist die Konsolenausgabe ...

ffprobe version N-85266-g1229007 Copyright (c) 2007-2017 the FFmpeg developers
built with gcc 6.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --e
nable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --
enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv
--enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-li
bfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug -
-enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enabl
e-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-li
bsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolam
e --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx
--enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable
-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
libavutil      55. 59.100 / 55. 59.100
libavcodec     57. 90.100 / 57. 90.100
libavformat    57. 72.100 / 57. 72.100
libavdevice    57.  7.100 / 57.  7.100
libavfilter     6. 83.100 /  6. 83.100
libswscale      4.  7.100 /  4.  7.100
libswresample   2.  8.100 /  2.  8.100
libpostproc    54.  6.100 / 54.  6.100
# ffprobe output

Link zur Protokolldatei, wenn der Parameter „-report“ hinzugefügt wurde

Führen Sie den Befehl manuell auf einem MP4 aus und zeigen Sie die Konsolenausgabe an.
fertig. ich hoffe es hilft!
Fügen Sie - reportzum Befehl hinzu und führen Sie ihn aus. Geben Sie die Berichtsdatei frei.
Okay. Zwei Dinge sind passiert. 1) Ich habe die Protokolldatei erhalten und 2) Ich habe tatsächlich die Ausgabe erhalten, die ich wollte, anstatt aufzulegen. Und danke für die Hilfe! Hier ist das Protokoll (das sich auch im Beitrag befindet) ... Link zur Protokolldatei, die beim -reportHinzufügen erstellt wurde
Es ist ein Fehler, der die Ausgabe von ffprobe abhängig von der Dauer von MP4 verzögert. Sieht so aus, als wäre es zusammen mit der Dekodierungs-API eingeführt worden.
Nun, es ist sicher schön, eine Antwort zu haben. Irgendwelche Workarounds, die Sie kennen? Oder eine andere Technik, die mir diese grundlegenden Informationen über Videos liefern würde?
Verwenden Sie eine ältere Version, z. B. 2 Wochen oder länger. Mediainfo wird auch einige Informationen bereitstellen.
Die ältere Version funktionierte einwandfrei. Vielen Dank! Möchtest du deine Kommentare unten als Antwort hinterlassen und ich werde es markieren, damit du gewürdigt wirst?

Antworten (1)

Seit der Implementierung der neuen Dekodierungs-API dauert das Auslesen von ffprobe für MP4-Dateien viel länger zum Drucken und hängt von der Dauer des Videos ab. Wechseln Sie zu einer Version vor April 2017.

Ja. Ich wechselte zu 3.2.4 und es lieferte sofort Ergebnisse! Vielen Dank!