ffmpeg-php
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. |
ffmpeg_animated_gif Объект Методы
Методы | Описание |
$gif = new ffmpeg_animated_gif(String output_file_path, Integer width, Integer height, Integer frame_rate, [Integer loop_count]) | Создает новый ffmpeg_animated_gif обьект
|
$frame->addFrame(ffmpeg_frame frame_to_add) | Добавляет кадр в конец анимированного gif’а.
|