Установить пакет ffmpeg и использовать утилиту
ffprobe
Вот информация о видео в json:
ffprobe -v quiet -print_format json -show_format example.avi
или вот конкретно одно поле с длительностью в секундах
ffprobe -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 example.avi
соответственно на php выполни эту команду, например:
$duration=`ffprobe -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$filename"`';
и получишь в $duration секунды в float или пусто при ошибке.