Php ffmpeg获得视频时长

时间:2016-06-30 08:19:05

标签: php shell video ffmpeg ffprobe

如何获取视频时长并将其作为php输出打印出来

喜欢echo $ duration。

到目前为止,我使用了这个命令:

  

ffprobe -i C:\ FFMpeg \ bunny.mp4 -show_format | findstr持续时间

查找视频时长。

我得到了一些输出加上:

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

我不知道如何获得这段时间并打印下来。

3 个答案:

答案 0 :(得分:1)

好吧我终于做到了,但我不知道这是不是最好的做法,但对我来说现在还可以,我所做的就是将持续时间保存在临时文本文件中。

命令:

  

cd C:\ FFMpeg \ bin; 。\ ffprobe -i“。$ path。” - show_format | FINDSTR   持续时间>   C:\ XAMPP \ htdocs中\低音\存储\发生器\项目\ duration.txt

现在我将使用php访问该文件并获取其内容。

答案 1 :(得分:0)

应该使用' ffmpeg'而不是' ffprobe'

ffmpeg -i C:\FFMpeg\bunny.mp4

答案 2 :(得分:0)

您可以使用popen()执行命令(包括| findstr duration,而不是使用临时文本文件),并从返回的文件指针读取,方法与从文件,e。克。

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