ffmpeg-php(動画,音声データの解析や変換)

14.04 LTS へインストール

Ubuntu 14 から ffmpeg 関連が削除されたため、自分でコンパイルしないとインストールできなくなりました。

コンパイルに必要な物をインストール。

$ sudo apt-get install php5-dev
$ sudo apt-get install nasm
$ sudo apt-get install git

ffmpeg のインストール。

$ wget http://ffmpeg.org/releases/ffmpeg-2.3.1.tar.bz2
$ tar xjf ffmpeg-2.3.1.tar.bz2
$ cd ffmpeg-2.3.1
$ ./configure --enable-shared --enable-swscale --enable-gpl
$ make
$ sudo make install
$ cd ..
$ rm -rf ffmpeg-2.3.1*

ffmpeg-php のインストール。

$ git clone https://github.com/tony2001/ffmpeg-php.git
$ cd ffmpeg-php
$ phpize
$ ./configure --enable-skip-gd-check
$ make
$ sudo make install
$ cd ..
$ rm -rf ffmpeg-php

php.ini の最後の方に以下を追加。

extension=ffmpeg.so

apache2 の再起動。

$ sudo service apache2 restart

Ubuntu 12.04 へインストール

以下のコマンドを実行すればインストールされます。

$ sudo apt-get install php5-ffmpeg
$ sudo /etc/init.d/apache2 restart

XAMPP USB Lite 1.7.7 へインストール

XAMPP にインストール場合は、PHP とコンパイラ、バージョンが一致している必要があります。
このバージョン用の ffmpeg-php は以下からダウンロードしてください。
http://x32.elijst.nl/ffmpeg6-php53-win32-vc9-all.zip

php_ffmpeg.dll は xampp/php/ext にコピー。残りの dll はパスの通ったフォルダへ。

xampp/php/php.ini に以下の記述を追加し Apache を再起動。

;extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_ffmpeg.dll

インストール確認

phpinfo() を実行し以下のように表示されればインストールに成功しています。

関数マニュアル

ffmpeg_movie クラス

float getDuration()ファイルの長さを秒で取得
int getFrameCount()ファイルの長さをフレーム数で取得
float getFrameRate()フレームレート(fps)取得
string getFilename()ファイル名取得
WindowsだとSJISなので注意
string getComment()コメント取得
mp3 で試したが取得でない
string getTitle() タイトル取得
string getAuthor()
string getArtist()
アーティスト名取得(ID3)
string getCopyright()コピーライト取得
string getGenre()ジャンル取得(ID3)
int getTrackNumber()トラック番号取得(ID3)
int getYear()制作年取得(ID3)
int getFrameHeight()動画の横幅をピクセル数で取得
int getFrameWidth()動画の高さをピクセル数で取得
string getPixelFormat()ピクセルフォーマット取得
int getBitRate()総ビットレート取得(bps)
int getVideoBitRate()動画(音声を除いた)のビットレート取得(bps)
int getAudioBitRate()音声のビットレート取得(bps)
int getAudioSampleRate()音声のサンプリングレート取得
int getFrameNumber()カレントフレーム番号取得
string getVideoCodec()動画コーデック取得
string getAudioCodec()音声コーデック取得
int getAudioChannels()音声チャンネル数取得
bool hasAudio()音声データを含んでいるか
bool hasVideo()動画データを含んでいるか
ffmpeg_frame getFrame([フレーム番号])フレームデータ取得
(フレームが存在しないい場合は falseを 返す)
ffmpeg_frame getNextKeyFrame()次のキーフレームのフレームデータ取得
(フレームが存在しないい場合は falseを 返す)

ffmpeg_frame クラス

toGDImage()フレームデータを GD のイメージ形式に変換

このメソッド意外は使うことがなさそうなので記述しません。
英文のドキュメントは http://ffmpeg-php.sourceforge.net/doc/api/

web/ffmpeg-php_動画_音声データの解析や変換.txt · 最終更新: 2018/03/18 09:56 (外部編集)
 
特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki