GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich die Länge einer Videodatei von der Konsole abrufen?

ffprobe -i some_video -show_entries format=duration -v quiet -of csv="p=0"

gibt die Videodauer in Sekunden zurück.


Etwas Ähnliches wie:

ffmpeg -i input 2>&1 | grep "Duration"| cut -d ' ' -f 4 | sed s/,//

Dies liefert:HH:MM:SS.ms . Sie können auch ffprobe verwenden , die mit den meisten FFmpeg-Installationen geliefert wird:

ffprobe -show_format input | sed -n '/duration/s/.*=//p'

… oder:

ffprobe -show_format input | grep duration | sed 's/.*=//')

Um in Sekunden umzuwandeln (und die Millisekunden beizubehalten), leiten Sie in:

awk '{ split($1, A, ":"); print 3600*A[1] + 60*A[2] + A[3] }'

Um es in Millisekunden umzuwandeln, leiten Sie in:

awk '{ split($1, A, ":"); print 3600000*A[1] + 60000*A[2] + 1000*A[3] }'

Wenn Sie nur die Sekunden ohne die Millisekunden wollen, leiten Sie in:

awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }'

Beispiel:


Linux
  1. Wie kann ich die Auflösung (Breite und Höhe) für eine Videodatei von einer Linux-Befehlszeile abrufen?

  2. Wie kann ich eindeutige Werte aus einem Array in Bash erhalten?

  3. Wie bekomme ich den Pfad zur aktuellen Datei (pwd) in Linux von C?

  4. Wie erhalte ich das absolute Verzeichnis einer Datei in Bash?

  5. Wie kann ich die letzte Zahl von String in Bash bekommen?

So erhalten Sie den Dateinamen aus dem vollständigen Pfad in Linux

Wie kann ich Docker-Linux-Containerinformationen aus dem Container selbst abrufen?

Wie kann ich die Bitrate eines Videos von einer Befehlszeile in Linux abrufen?

Wie kann ich Protokollmeldungen vom LAMP-Server unter Ubuntu 10.04 erhalten?

Wie kann ich die Menge an verfügbarem Speicher portabel über Distributionen hinweg abrufen?

Wie erhalte ich die physische Größe einer Datei unter Linux?