ffmpeg
出典: フリー百科事典『ウィキペディア(Wikipedia)』
| FFmpeg | |
|---|---|
| 開発元 | FFmpegチーム |
| 最新版 | 0.5 / 2009年3月10日 |
| 対応OS | クロスプラットフォーム |
| 種別 | マルチメディアフレームワーク |
| サポート状況 | 活発 |
| ライセンス | LGPL |
| 公式サイト | ffmpeg.org |
FFmpegは動画と音声を変換することのできるフリーのソフトウェアであり、libavcodec (動画/音声のコーデックライブラリ)、libavformat (動画/音声のコンテナライブラリ)、libswscale (色空間・サイズ変換ライブラリ)などを含む。
携帯動画変換君, WinFFなどのソフトウェア(GUIラッパー)や、WindowsやLinuxのコマンドラインから使用することができる。 対応コーデックが多く、多彩なオプションを使用可能なため、幅広く利用されている。
FFmpegに含まれるライブラリ群は多数のマルチメディアアプリケーションにより利用されている。
目次 |
[編集] サポートしている形式
- ASF
- AVI
- Matroska
- NUT
- FLV
- WAV
- QuickTime
- 3GPP
- MPEG-1
- MPEG-2
- MPEG-4
- SMAF(MMF)
- OpenMG
- TwinVQ
- Ogg/FLAC
- Monkey's Audio
- WavPack
- TTA
[編集] サポートしている画像形式
[編集] サポートしているコーデック
libavcodecを参照。
[編集] サポートしているプロトコル
[編集] サポートしているデバイス
- Unix
- OSS
- JACK
- X11 grabbing
- dv1394
- bktrドライバ
- Linux
- ALSA
- Video4Linux
- Video4Linux2
- libdc1394 (IEEE 1394)
- Windows
- VfWキャプチャ
- その他
[編集] オプション
FFmpegでは数多くのオプションを利用することができる。それらはffmpegのバージョンによって差異があるため、利用前にオプションやコーデックの表記を確認することが望ましい。オプションは ffmpeg -h で表示できる。また、コーデック名等は ffmpeg -formats で表示できる。( コーデック名は下記注意事項参照 )
一般的なオプション等の例を以下に挙げる。
[編集] メインオプション
- -i 入力ファイル名を設定する。
- -f 出力フォーマットの指定。
- -y 出力するファイル名と同じ名前のファイルが出力先にある場合に上書する。
- -fs 指定したファイルサイズになったら変換を終了する。
- -ss 指定した時間から変換を開始する。
- -title タイトルを設定する。
- -timestamp タイムスタンプを設定する。
- -vsync フレームをカットしたり加えたりして音声に動画を同期させる。
[編集] ビデオオプション
- -b 動画部分のビットレートを設定、初期設定は200Kbit/秒。( 単位は下記注意事項参照 )
- -r フレームレートの設定 初期設定は25
- -s 動画のサイズを横×縦で設定
- -aspect アスペクト比の設定
- -vn ビデオを無効にする。音声部分のみのエンコードなどに使用する。
- -vcodec ビデオコーデックを設定 設定しない場合は入力ファイルと同じコーデックを使用する。
[編集] オーディオオプション
- -ab チャンネルごと(最近のSVN版では全チャンネル合計)のビットレートを設定する。( 単位は下記注意事項参照 )
- -ar サンプリング周波数を設定する。
- -ac 音声のチャンネル数を設定する。
- -acodec 音声コーデックを設定する。設定しない場合は動画同様入力されたファイルと同じコーデックを使用する。
- -an 音声を無効にする。ビデオ部分のみのエンコードなどに使用する。
- -vol 通常の音量を256として音量を設定する。(2倍の音量にしたい時は512を指定する。)
[編集] 注意事項
- -bや-abオプションでビットレートを指定する場合、ffmpegのバージョンによってkbits/secの場合と、bits/secの場合があるので注意が必要である。(ffmpeg -hでヘルプメッセージを表示させて単位を確認するとよい)
- たとえば、単位がbits/secの場合で64kbpsのビットレートを指定する場合は『 -ab 64k 』と指定し、単位がkbits/secの場合は『 -ab 64 』と指定する。
- -acodecや-vcodecで指定するコーデック名は、ffmpegのバージョンによって違うことがある。たとえば、AACコーデックの場合、aacと指定する場合と、libfaacと指定する場合がある。また、デコードのみやエンコードのみできるコーデックもあるため、必ず
ffmpeg -formatで指定するコーデックが機能するか確認すべきである。
[編集] 使用例
- MPEG-1の動画を、MPEG-4形式に変換する例
ffmpeg -i inputfile.mpg -f mp4 -acodec aac -vcodec mpeg4 -b 256k -ab 64k outputfile.mp4
- MP3の音楽を、MPEG-4形式に変換する例
ffmpeg -i inputfile.mp3 -f mp4 -acodec aac -vn -ab 64k outputfile.mp4
- DVDのVOBファイルを、VideoCD形式のMPEG-1ファイルに変換する例
ffmpeg -i inputfile.vob -f mpeg -acodec mp2 -vcodec mpeg1video -s 352x240 -b 1152k -ab 128k outputfile.mpg
- AVIの動画を、H.264形式のM4Vファイルに変換する例
ffmpeg -i inputfile.avi -f mp4 -acodec libfaac -vcodec libx264 -b 512k -ab 320k outputfile.m4v
- なんらかの動画を、東芝のREGZAが認識できるMPEG2形式に変換する例
ffmpeg -i inputfile -target ntsc-svcd -ab 128k -aspect 4:3 -s 720x480 outputfile.mpg
- 複数のAVIの動画ファイルを結合する例(この例では、中間処理として、AVIファイルをMPEG-1ファイルに変換が必要(MPEG-1, MPEG-2 PS, DVも連結可能))
ffmpeg -i input1.avi -sameq inputfile_01.mpg ffmpeg -i input2.avi -sameq inputfile_02.mpg cat inputfile_01.mpg inputfile_02.mpg > inputfile_all.mpg ffmpeg -i inputfile_all.mpg -sameq outputfile.avi
[編集] 入手方法
公式サイトでは、コンパイル済みのバイナリは配布されていないため、通常は自分の環境に合わせてソースコードをコンパイルするが、 次のような手法でバイナリを入手することもできる。
RPMForge[1]、Livna[2]等のリポジトリを用いて、yumコマンド等でインストールできる
yum --enablerepo=rpmforge install ffmpeg
apt-getコマンドを用いて、ディストリビュージョンのリポジトリに含まれているパッケージからインストールする
apt-get ffmpeg install
portsツリーに含まれており、該当ディレクトリに移動してmake installするかpkg_addコマンドでバイナリパッケージを導入する。
公式サイトで紹介されているffmpegを用いたプロジェクト([Projects Using FFmpeg)に含まれるものを用いるか、コンパイル済みのバイナリを配布しているサイトからダウンロードする。
- Apple OSX
FFMPEGX [6]
[編集] FFmpegを利用・サポートしているアプリケーション
- エンコーダ
- 動画再生
- コーデック
- 3D描画
- フラッシュプレーヤー
- 動画編集
- 音声編集
- Audacity(1.3.6以降)
- VoIP

