Ffmpeg-php это модуль для php который позволяет делать некоторые вещи с видео. Для того чтоб это штука заработала надо иметь сурцы ffmpeg’а ( в основном сурцы двух библиотек libavcodec и libavformat ибо ffmpeg-php это по сути «гейт» этих библиотек в php ) и собранный с --enable-shared ffmpeg и библиотеку gd2 (нафиг вам только свойства видео – с ГД можно кадры выдирать). Собирается ffmpeg-php просто:
tar -xjf ffmpeg-php-X.x.x.tar.gz
cd ffmpeg-php-X.x.x/
phpize
./configure && make
make install (под рутом )
Далее получаем бинарик ffmpeg.so в папке module . Этот бинарик надо засунуть в каталог который extension_dir в php.ini и прописать в php.ini extension=ffmpeg.so после чего если php как модуль у веб сервера apache перегрузить вебсервер (apachectl restart). Далее делается наблюдаем результаты функции phpinfo() – если там есть что-то про ffmpeg – значить модуль подключился. Теперь в php есть ещё 3 класса от которых можно порождать обьекты. Ну и перевод документации по API. За перевод сильно не пинайте =)) . Оригинальное описание описание API : http://ffmpeg-php.sourceforge.net/apidoc.php
ffmpeg_movie обьекта методы.
| Метод |
Описание |
| $movie = new ffmpeg_movie(String path_to_media, boolean persistent) |
Открыть аудио или видео файл и возвратит объект.
|
| $movie->getDuration() |
Возвратит продолжительность аудио или видео файла в секундах. |
| $movie->getFrameCount() |
Возвратит количество кадров (фреймов) аудио или видео файла. |
| $movie->getFrameRate() |
Возвратит частоту кадров видео в кадрах в секунду (fps - frame per second) |
| $movie->getFilename() |
Возвратит путь к видео или аудио файлу |
| $movie->getComment() |
Возвратит поле комментария из аудио или видео файла |
| $movie->getTitle() |
Возвратит поле заголовка из аудио или видео файла |
| $movie->getAuthor() псевдоним $movie->getArtist() |
Возвратит поле «автор» из видео файла или «автор» из ID3 поля mp3 файла |
| $movie->getCopyright() |
Возвратит поле «авторское право» из аудио или видео файла |
| $movie->getArtist() |
Возвратит ID3 поле «Артист» из mp3 файла |
| $movie->getGenre() |
Возвратит ID3 поле «Жанр» из mp3 файла |
| $movie->getTrackNumber() |
Возвратит ID3 поле «номер дорожки» из mp3 файла |
| $movie->getYear() |
Возвратит ID3 поле «Год» из mp3 файла |
| $movie->getFrameHeight() |
Возвратит высоту видео в пикселях |
| $movie->getFrameWidth() |
Возвратит ширину видео в пикселях |
| $movie->getPixelFormat() |
Возвратит формат пикселов видео |
| $movie->getBitRate() |
Возвратит скорость потока(битрейт) видео или аудио файла в битах в секунду |
| $movie->getVideoBitRate() |
Возвратит скорость потока(битрейт) видео в битах в секунду. Замечание : Работает только с файлами у которых постоянный битрейт |
| $movie->getAudioBitRate() |
Возвратит скорость потока(битрейт) аудио у видео или аудио файла в битах в секунду. |
| $movie->getAudioSampleRate() |
Возвратит скорость дискретизации аудио у видео или аудио файла в битах в секунду. |
| $movie->getFrameNumber() |
Возвратит текущий номер кадра. |
| $movie->getVideoCodec() |
Возвратит название видео кодека который использован для видео файла как строку |
| $movie->getAudioCodec() |
Возвратит название аудио кодека который использован видео файл как строку |
| $movie->getAudioChannels() |
Возвратит количество аудио каналов (1 моно 2 стерео и т д) как целое число |
| $movie->hasAudio() |
Возвратит логическое значение соответствующие наличию или отсутствию аудио |
| $movie->getFrame([Integer framenumber]) |
Возвратит кадр из видео как ffmpeg_frame объект. Возратит логическую ложь (false) если кадра нет
|
| $movie->getNextKeyFrame() |
Возвратит следующий ключевой кадр как ffmpeg_frame объект. Возратит логическую ложь (false) если кадра нет |
| Метод |
Описание |
| $frame = new ffmpeg_frame(Resource gd_image) |
Создаст обьект ffmpeg_frame из ресурса GD картинки. Замечание : Функция недоступна если нет библитеки GD. |
| $frame->getWidth() |
Возвратит ширину кадра. |
| $frame->getHeight() |
Возвратит высоту кадра. |
| $frame->getPTS() alias $frame->getPresentationTimestamp() |
Возвращает время создания кадра. (Return the presentation time stamp of the frame). |
| $frame->resize(Integer width, Integer height [, Integer crop_top [, Integer crop_bottom [, Integer crop_left [, Integer crop_right ]]]]) |
Изменяет размер и обрезает кадр (Обрезание встроено в изменение размера картинка ffmpeg и сделал его для полноты)
|
| $frame->crop(Integer crop_top [, Integer crop_bottom [, Integer crop_left [, Integer crop_right ]]]) |
Обрезать кадр.
Замечание : Параметры должны быть натуральными числами |
| $frame->toGDImage() |
Возвращает truecolor GD картинку (ресурс) кадра Замечание : Функция недоступна если нет библитеки GD. |
| Методы |
Описание |
| $gif = new ffmpeg_animated_gif(String output_file_path, Integer width, Integer height, Integer frame_rate, [Integer loop_count]) |
Создает новый ffmpeg_animated_gif обьект
|
| $frame->addFrame( frame_to_add) |
Добавляет кадр в конец анимированного gif’а.
|