Студия разработки сайтов и приложений

Netspark.ru

Заметки и разработки

OctoberCMS

Продолжительность видео с помощью getid3

Как известно, для показа видеороликов, загруженных на сайт, неплохо подходит модуль 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».

Комментарии