Protokollieren mehrerer Mediendateien mit Details (und, wenn möglich, Fehlern)

Protokollieren mehrerer Mediendateien mit Details (und, wenn möglich, Fehlern)

Zunächst möchte ich sagen, dass es sich hier eigentlich um eine Anfrage für ein Skript handelt. Wenn ich also am falschen Ort poste, lassen Sie es mich bitte wissen, und ich werde darum bitten, dies zu beenden und stattdessen dorthin zu gehen - ich habe gerade festgestelltAbonnierenzu seinam hilfreichstenUndam wenigsten herablassendder Foren, die ich besuche, also wollte ich es zuerst hier versuchen.

Ich verwende Ubuntu LTS 16.04 Destop, falls das wichtig ist.

Was ich verlange, ist eineBash-Datei(es muss nicht unbedingt Bash sein, ich verstehe nur eher, wie es funktioniert, sodass ich aus der Erfahrung lernen kann, wenn es so istmp4), das ein einzelnes Verzeichnis voller Mediendateien (vor allem Filme; , mkv, avi, sind die einzigen Erweiterungen) durchsucht mpgund eine Protokolldatei mit dem Namen "0.log"(damit sie oben in der Liste leichter zu finden ist) erstellt und die folgenden Informationen in einem leicht lesbaren Format bereitstellt:

  • Dateiname
  • Verlängerung
  • Länge des Films
  • Abmessungen des Films (Breite x Höhe)
  • Liegt ein Fehler in der Datei vor?
  • wenn es möglich ist, was der Fehler ist

Ich kann alle diese Informationen mithilfe der ffmpeg-Funktion erfassen, aber ich kann dies immer nur einzeln tun, indem ich die Informationen manuell in eine Tabelle eintrage, was, wie Sie sicher verstehen, unendlich viel* Zeit in Anspruch nimmt.

*nichtstrengWAHR

beim Tippen:

ffmpeg -i filename.ext

Die benötigten Informationen werden unter der Liste der verwendeten Bibliotheken angezeigt. Eine Ausgabe könnte beispielsweise lauten:

.......
other stuff that i don't need
.......
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
    [aac @ 0x142fc20] element type mismatch 3 != 0
    Input #0, matroska,webm, from '13 (2010).mkv':
      Metadata:
        encoder         : libebml v1.2.0 + libmatroska v1.1.0
        creation_time   : 2011-07-29 21:37:53
      Duration: 01:37:12.19, start: 0.000000, bitrate: 1999 kb/s
        Stream #0:0: Video: h264 (High), yuv420p, 1280x536 [SAR 1:1 DAR 160:67], 24 fps, 24 tbr, 1k tbn, 48 tbc (default)
        Stream #0:1: Audio: aac (HE-AAC), 48000 Hz, 5.1, fltp (default)
        Stream #0:2: Subtitle: subrip (default)

Die erste Zeile nach der Liste der Bibliotheken ist ein Beispiel für einen möglichen Fehler in der Datei. Sie wird beim Auschecken der Datei weggelassen. *Es gibt keinen Ersatz für „Diese Datei ist in Ordnung“, sie ist einfach nicht vorhanden. Es können eine Reihe von Fehlern auftreten, daher nehme ich an, dass Sie einfach zwischen der endgültigen Bibliothek (in diesem Fall libpostproc; und Input #0;) nachsehen müssen, ob dort etwas vorhanden ist oder nicht.

Sie können die Dauer (in diesem Fall 01:37:12.19) und die Abmessungen (in diesem Fall 1280 x 536) sehen.

Kann das jemand für mich machen oder mir eine vorhandene Software nennen, die das kann? Die Ausgabe wird schließlich in eine Tabelle eingefügt, aber ich kann Formatierung und so ganz einfach selbst erledigen, ich brauche wirklich nur Rohdaten, mit denen ich arbeiten kann. Oder kann mir jemand zeigen, wie ich das selbst machen kann? Ich leide unter einer leichten Hirnschädigung, die mein Kurzzeitgedächtnis zerstört hat, daher habe ich Mühe, Online-Tutorials zu verwenden, um das Problem zu lösen.

Vielen Dank im Voraus,

Danny

verwandte Informationen