2016-06-09 13 views
0

Ich versuche die Dauer einer .webm-Videodatei, die ich mit dem video.js-Plugin aufgenommen habe, abzurufen (https://github.com/collab-project/videojs-record).Dauer der Webm-Datei kann nicht mit ffmpeg abgerufen werden

ich ffmpeg bin mit der Dauer zu erhalten, aber es ist immer N/A zurück:

ffprobe version 3.0.2-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2007-2016 the FFmpeg developers 
    built with gcc 5.3.1 (Debian 5.3.1-16) 20160424 
    configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --enable-librtmp --enable-libmfx --enable-libzimg --cc=gcc 
    libavutil  55. 17.103/55. 17.103 
    libavcodec  57. 24.102/57. 24.102 
    libavformat 57. 25.100/57. 25.100 
    libavdevice 57. 0.101/57. 0.101 
    libavfilter  6. 31.100/6. 31.100 
    libswscale  4. 0.100/4. 0.100 
    libswresample 2. 0.101/2. 0.101 
    libpostproc 54. 0.100/54. 0.100 
Input #0, matroska,webm, from '/home/demoss/public_html/source/bALRt9I697PVQh4zglou.webm': 
    Metadata: 
    encoder   : Chrome 
    Duration: N/A, start: 0.000000, bitrate: N/A 
    Stream #0:0(eng): Video: vp8, yuv420p, 640x480, SAR 1:1 DAR 4:3, 30 fps, 30 tbr, 1k tbn, 1k tbc (default) 
    Stream #0:1(eng): Audio: opus, 48000 Hz, mono, fltp (default) 
duration=N/A 

Ich glaube nicht, das Video beschädigt ist, wie es in meinem VideoJS Spieler ohne Probleme gespielt.

Alle Hinweise darauf, warum es die Dauer nicht zurückgibt, würden sehr geschätzt. Ich würde nicht

Dank

+0

Bitte geben Sie eine Beispiel-Eingabedatei an. – LordNeckbeard

+0

Leider sind die Videos intern und ich kann es leider nicht teilen, aber ich konnte es mithilfe des in meiner Antwort erwähnten Befehls konvertieren. Vielen Dank! –

Antwort

0

mit einer alternativen Bibliothek auch etwas dagegen, konnte ich die webm zu mp4 mit dem folgenden Befehl konvertieren:

ffmpeg -fflags +genpts -i myfile.webm -r 24 mynew.mp4 

ich nicht ganz sicher bin, wie es funktioniert intern, aber ich hoffe, die Experten könnten das weiter ausbauen.

hoffte, das hilft jemand

2

Wenn ffprobe/ffmpeg nicht das Format oder Strom Dauern nicht zeigen, dann können Sie in vollem Umfang die Datei entschlüsseln die Dauer zu finden:

ffmpeg -i input.webm -f null - 
... 
frame= 2087 fps=0.0 q=-0.0 Lsize=N/A time=00:01:23.48 bitrate=N/A speed= 123x 

zu time= Siehe in den zweit- bis zur letzten Zeile in der Ausgabe. In diesem Beispiel ist die Dateidauer 00: 01: 23.48.

Abhängig von der Dauer und Komplexität Ihrer Eingabe kann dies einige Zeit in Anspruch nehmen.

Siehe auch FFmpeg Wiki: FFprobe Tips - Duration.