PHPで動画形式の各種変換が行えるffmpegのラッパークラスライブラリ「ffmpeg」
2007年03月27日-
スポンサード リンク
PHP Classes - Class: ffmpeg
This class is a wrapper around the ffmpeg program to manipulate and convert video files.
PHPで動画形式の各種変換が行えるffmpegのラッパークラスライブラリ「ffmpeg」。
ffmpegを使えば、あらゆる動画形式のファイルの相互変換を行うことが出来ます。
例えば、Flashのビデオ形式であるflvをmpegやmp3に変換したり、WindowsMedia形式の動画をiPod用の動画形式に変換することが出来ます。
今回はそのffmpegを、PHPから簡単に扱うためのクラスライブラリを紹介。
以下がffmpegクラスを使ったサンプルプログラム
<?php
define('FFMPEG_BINARY', '/usr/local/bin/ffmpeg');
define('FFMPEG_FLVTOOLS_BINARY', '/usr/bin/flvtool2');
require_once 'ffmpeg.php';
$files_to_process = array(
'xxxxx/ffmpeg/www/example/to-be-processed/MOV00007.3gp',
'xxxxx/ffmpeg/www/example/to-be-processed/Video000.3gp'
);
$video_output_dir = 'xxxxx/ffmpeg/www/example/processed/videos/';
$bitrate = 64;
$samprate = 44100;
$ffmpeg = new ffmpeg();
$ffmpeg->on_error_die = FALSE;
foreach($files_to_process as $file)
{
$filename = basename($file);
$filename_minus_ext = substr($filename, 0, strrpos($filename, '.'));
$ok = $ffmpeg->setInputFile($input_dir.$file);
if(!$ok)
{
echo $ffmpeg->getLastError()."<br />rn";
$ffmpeg->reset();
continue;
}
$ffmpeg->setVideoOutputDimensions(320, 240);
$ffmpeg->setFormatToFLV($samprate, $bitrate);
$ok = $ffmpeg->setOutput($video_output_dir, $filename_minus_ext.'.flv', TRUE);
if(!$ok)
{
echo $ffmpeg->getLastError()."<br />rn";
$ffmpeg->reset();
continue;
}
$result = $ffmpeg->execute(TRUE);
if(!$result)
{
echo $ffmpeg->getLastError()."<br />rn";
$ffmpeg->reset();
continue;
}
echo 'Video converted... <b>'.array_shift($ffmpeg->getLastOutput()).'</b><br />'."rn";
$ffmpeg->reset();
}
?>
次の流れで、変換が行え、ソースコードも比較的分かりやすいですね。
ffmpeg::setInputFile - 入力ファイルを設定
ffmpeg::setFormatToFLV - フォーマットをFLVに指定
ffmpeg::setOutput - 出力の設定
ffmpeg::execute - 変換の実行
最初はとっつきにくいかもしれませんが、クラスの形式なので慣れると結構使いやすそうです。
尚、本クラスはffmpegというバイナリプログラムをexecで単に呼び出しているにすぎないので、別途ffmpeg本体もインストールの必要があります。
関連エントリ
スポンサード リンク
Advertisements
SITE PROFILE
最新のブログ記事(新着順)
- CSSやTailwindでのCSSスニペットライブラリ「CSS Snippets Library」
- AIを使ってサイトマップが作れる「Octopus.do」
- ライブラリ依存のないモーダルオープンライブラリ「Blendy」
- 個性的な明朝フリーフォント「築豊初号明朝OFL」
- CSSで太陽が差し込むようなアニメーション実装
- 可愛くアニメーションする「beautifully crafted animated icons」
- アイソメトリックなアイコンがアイコンがPNG,SVGでゲットできる「Isoicons」
- ユニークなカタカナフォントtorisippo
- 美しいメッシュグラデーションをCSSで簡単に取得できる「MSHR」
- TailwindCSSなサイトで使える100以上のアニメーションエフェクト「animata」
- 過去のエントリ