Как известно, для показа видеороликов, загруженных на сайт, неплохо подходит модуль Video. Хотя в статьях и мануалах на модуль, в основном, речь идет о настройке модуля так, чтобы загруженные файлы были автоматически перекодированы в нужный формат (ffmpeg-ом), обязательным условием это не является: загрузив на сайт видео в подходящем формате, его можно показывать без всякого перекодирования.
Но есть тут один нюанс. Дело в том, что в текущей версии модуля информация о видеоролике (такая как продолжительность, например) существует только в таблице БД, которая заполняется при перекодировании. То есть чтобы вывести длительность ролика, мы должны его перекодировать. Несправедливо как-то.
К счастью, эту проблему легко решить с помощью модуля (и библиотеки) getid3. Например, пусть у нас есть видеоролик, путь к которому находится в переменной $filepath
:
$info = getid3_analyze($filepath);
if (isset($info['error'])) {
//file not found or something, ignore the info
return ;
}
$video_length = $info['playtime_string'];
И всё. В $video_length
будет лежать строка с продолжительностью ролика, например «1:23:45».