PHPで動画形式の各種変換が行えるffmpegのラッパークラスライブラリ「ffmpeg」
2007年03月27日-![はてなブックマーク](http://b.hatena.ne.jp/entry/image///phpspot.org/blog/archives/2007/03/phpffmpegffmpeg.html)
スポンサード リンク
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
最新のブログ記事(新着順)
- TailwindCSSなサイトで使える100以上のアニメーションエフェクト「animata」
- SVG形式のテック系企業のロゴを簡単にゲットできる「Svgl」
- 統一感のある色味を一括生成できるツール「The good colors」
- くちばしフォント【商用可】
- 小説表紙などに使えそうな商用可なフォント「になロマン」
- 筆で書いたようなカナ書体「筆竹仮名B」
- 無料・商用利用可な丸文字ピクセルフォント「マルミーニャM」
- スペースコブラ風フォント
- Next.jsのVercelから商用利用可能なフリー汎用フォント「Geist Font 」
- 無料で使えるいい感じの日本語フォント「しっぽり太ゴシック」
- 過去のエントリ