2016-06-30 13 views
0

Wie kann ich ein Video Dauer erhalten und es heraus als PHP-Ausgabe drucken,Php ffmpeg erhalten Videodauer

wie echo $ Dauer.

Bisher habe ich diesen Befehl ein:

ffprobe -i C: \ FFMpeg \ bunny.mp4 -show_format | findstr Dauer

um nach der Videodauer zu suchen.

bekam ich eine Ausgabe plus das:

... 
Unsupported codec with id 0 for input stream 2 
Unsupported codec with id 0 for input stream 3 
duration=60.095000 

Ich weiß nicht, wie man diese Dauer erhalten und in nach unten drucken.

+1

Mögliches Duplikat von [Wie Videodauer, Dimension und Größe in PHP bekommen?] (Http://stackoverflow.com/questions/4847752/how-to-get-video-duration-dimension-and- size-in-php) – Pete

Antwort

1

OK ich es schließlich tat, aber ich weiß nicht, ob es die beste Praxis ist, aber für mich ist es im Moment in Ordnung, was Ich habe die Dauer in einer temporären Textdatei gespeichert.

Befehl:

cd C: \ FFMpeg \ bin; . \ ffprobe -i ". $ pfad." -show_format | findstr Dauer> C: \ xampp \ htdocs \ Bass \ storage \ Generator \ projects \ duration.txt

Jetzt werde ich diese Datei mit PHP zugreifen und den Inhalt davon.

0

Sollte ‚ffmpeg‘ anstelle von ‚ffprobe‘ verwenden

ffmpeg -i C:\FFMpeg\bunny.mp4 
+0

Dies funktioniert nicht, der Fehler besagt, dass mindestens ein Ausgabepfad angegeben werden sollte – utdev

+0

Bitte fügen Sie die Ausgabe hier ein – webzar

0

Anstatt eine temporäre Textdatei zu verwenden, könnten Sie popen() verwenden, um den Befehl auszuführen (einschließlich | findstr duration, wenn Sie möchten) und aus dem zurückgegebenen Dateizeiger auf die gleiche Weise lesen, wie Sie aus der Datei lesen, e. G.

$handle = popen($command, 'r'); 
$line = fgets($handle); 
pclose($handle);