Сегодня я напишу долгожданную статью для многих моих посетителей: " Как конвертировать AVI в FLV на сервере ". Возможно, Вы читали одну из моих прошлых статей о том, что AVI на сайте никак не просмотреть. И если пользователь загружает к Вам на сайт видео в формате AVI , надеясь потом его просмотреть (например, как н...

Конвертация AVI в FLV на сервере

Сегодня я напишу долгожданную статью для многих моих посетителей: "Как конвертировать AVI в FLV на сервере". Возможно, Вы читали одну из моих прошлых статей о том, что AVI на сайте никак не просмотреть. И если пользователь загружает к Вам на сайт видео в формате AVI, надеясь потом его просмотреть (например, как на Youtube), то на сервере необходимо данное видео конвертировать во Flash-формат, например, в FLV. И в этом материале Вы узнаете, как это сделать.

Как я уже говорил, потребуется стороннее приложение, которое называется ffmpeg. Данное приложение должно быть у Вас уже установлено: установка ffmpeg на Denwer.

Теперь такой момент. В интересах простоты я советую Вам скопировать приложение ffmpeg в корень Вашего сайта.

Итак, сейчас у Вас должна быть установлена библиотека php_ffmpeg.dll, а также приложение ffmpeg должно находиться в корне сайта.

Теперь привожу код конвертации AVI в FLV с помощью приложения ffmpeg и библиотеки php_ffmpeg.dll:

<?php
  //Полный путь к исходному файлу
  $input = $_SERVER['DOCUMENT_ROOT']."/video.avi";
  //Имя выходного файла
  $output = "video.flv";
  //Создание объекта ffmpeg_movie
  $ffmpeg = new ffmpeg_movie($input);
  //Увеличиваем ширину и высоту видео в 2 раза
  $width = 2 * $ffmpeg->getFrameWidth();
  $height = 2 * $ffmpeg->getFrameHeight();
  //Вызываем приложение ffmpeg с соответствующими параметрами
  system("ffmpeg -i $input -ar 44100 -s ".$width."x".$height." -f flv $output");
?>

Фактически, мы данным кодом не только провели конвертацию видео из AVI в FLV, но ещё и увеличили размеры видео. Разумеется, Вы можете этого не делать.

Полное описание параметров приложения ffmpeg я приводить здесь не буду, так как их огромное количество. Подробное описание всевозможных параметров описано здесь: http://www.ffmpeg.org/ffmpeg.html. От себя хочу добавить, что данное приложение позволяет изменять не только все возможные параметры видео, но и аудио, поэтому оно является универсальным. Всё, что нужно - это узнать синтксис команды, а дальше Вы можете спокойно вызывать его в PHP с помощью функции system().

Также чтобы использовать это приложение на полную катушку очень важно знать API библиотеки php_ffmpeg.dll, которое подробно описано здесь: http://ffmpeg-php.sourceforge.net/doc/api/.