Я тоже хотел сделать это недавно.Я провел много исследований по этому вопросу, и нет никакого родного пути в php.Одно из предложений - ffmpeg-php , но оно, похоже, не работает для меня.Другой способ - использовать командную строку ffmpeg:
exec("ffmpeg -i \"{$videofile}\" 2>&1");
$search='/Duration: (.*?),/';
$duration=preg_match($search, $duration, $matches, PREG_OFFSET_CAPTURE, 3);