Php ffmpeg получить продолжительность видео

Как я могу получить длительность видео и распечатать его как вывод 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 ответа

Решение

Хорошо, я наконец сделал это, но я не знаю, является ли это наилучшей практикой, но для меня сейчас все в порядке, я сделал сохранение длительности во временном текстовом файле.

Команда:

cd C: \ FFMpeg \ bin;. \ ffprobe -i ". $ path." -show_format | длительность findstr> C:\xampp\htdocs\bass\storage\generator\projects\duration.txt

Теперь я получу доступ к этому файлу с помощью php и получу его содержимое.

Следует использовать "ffmpeg" вместо "ffprobe"

ffmpeg -i C:\FFMpeg\bunny.mp4

Вместо использования временного текстового файла, вы можете использовать popen() выполнить команду (в том числе | findstr duration если хотите), и читайте из возвращенного указателя файла так же, как вы читаете из файла, например

$handle = popen($command, 'r');
$line = fgets($handle);
pclose($handle);
Другие вопросы по тегам