Как вы рассчитываете продолжительность / длину видео в формате mp4 с помощью php? - PullRequest
4 голосов
/ 11 февраля 2011

Как вы получаете / рассчитываете продолжительность / продолжительность видео в формате mp4 с помощью php?

Я пытался использовать это , но оно работает только для f4v. : <Можете ли вы помочь мне с делом mp4? </p>

Ответы [ 3 ]

4 голосов
/ 02 декабря 2011

Я не смог заставить работать решение Танду.

Вот что в итоге сработало для меня:

$ffmpeg_output = shell_exec("ffmpeg -i \"$file\" 2>&1");
if( preg_match('/.*Duration: ([0-9:]+).*/', $ffmpeg_output, $matches) ) {
    echo $matches[1];
} else {
    echo "$file failed\n";
}

Надеюсь, это кому-нибудь поможет.

2 голосов
/ 12 февраля 2011

Я тоже хотел сделать это недавно.Я провел много исследований по этому вопросу, и нет никакого родного пути в php.Одно из предложений - ffmpeg-php , но оно, похоже, не работает для меня.Другой способ - использовать командную строку ffmpeg:

exec("ffmpeg -i \"{$videofile}\" 2>&1");
$search='/Duration: (.*?),/';
$duration=preg_match($search, $duration, $matches, PREG_OFFSET_CAPTURE, 3);
1 голос
/ 28 апреля 2011

Это можно сделать на чистом php с помощью библиотеки php-reader . Эта библиотека является полной реализацией ISO Base Media File Format, or ISO/IEC 14496-12 на чистом php. Затем вы можете либо доверять заголовку метаданных на время, либо рассчитать его самостоятельно на основе блоков stbl.

...