Php ffmpeg 获取视频时长

Php ffmpeg get video duration

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

喜欢 echo $duration.

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

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

寻找视频时长。

我得到了一些输出加上这个:

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

我不知道如何获取该持续时间并打印下来。

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

ffmpeg -i C:\FFMpeg\bunny.mp4

好的我终于做到了,但我不知道这是否是最佳实践,但对我来说目前还可以,我所做的是将持续时间保存在一个临时文本文件中。

命令:

cd C:\FFMpeg\bin; .\ffprobe -i " . $path . " -show_format | findstr duration > C:\xampp\htdocs\bass\storage\generator\projects\duration.txt

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

您可以使用 popen() 来执行命令(如果需要,还包括 | findstr duration),而不是使用临时文本文件,并以与读取相同的方式从返回的文件指针中读取从文件中,e。 g.

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