FFmpeg(エフエフエムペグ)は動画と音声を記録・変換・再生するための自由ソフトウェアである。Unix系オペレーティングシステム (OS) 生まれであるが現在ではクロスプラットフォームであり、libavcodec(動画/音声のコーデックライブラリ)、libavformat(動画/音声のコンテナライブラリ)、libswscale(色空間・サイズ変換ライブラリ)、libavfilter(動画のフィルタリングライブラリ)などを含む。ライセンスはコンパイル時のオプションによりLGPLかGPLに決定される。コマンドラインから使用することができる。対応コーデックが多く、多彩なオプションを使用可能なため、幅広く利用されている。
名前の「FF」はFast Forward(早送り)を意味する。
解説
FFmpegは、単体ではGUIを持たないツールでUNIXコマンドのように振る舞う。その為、対話式アプリケーションとして使用される場合、フロントエンドを用いる事も多い。コマンドラインから実行するCUIとして配布されているのは、ユーザが必要とすればフロントエンドを利用でき、スクリプトなどのバッチ処理を行う際に呼び出す事もできるという利点からである。また、FFserverと組み合わせる事により、ファイルシステムやデバイスファイルとストリーミングサーバ間のフィルタとしても動作する。
2011年3月13日にFFmpegの開発は、開発体制の対立からffmpeg.orgとlibav.orgに分裂した。どちらもffmpegというソフトウェアをリリースしているが、Libav側はavconvに名称を切り替える作業を進めている。この分裂に伴い、Debian、Ubuntu 11.04、Gentoo LinuxはLibav側を採用した。
2015年7月にDebianはセキュリティ問題への対応姿勢からLibavを排除し、FFmpeg採用に戻った。UbuntuもFFmpeg採用に戻っている。
2022年1月17日に大きなAPIの変更と非推奨APIの削除が行われたFFmpeg 5.0がリリースされた。
サポートしているファイル形式
サポートしている画像形式
サポートしているコーデック
libavcodecを参照。
サポートしているプロトコル
- TCP
- UDP
- HTTP
- RTP
- RTSP
- RealMedia RTSP/RDT
- RTMP
- RTMPT, RTMPE, RTMPTE, RTMPS (librtmp経由)
- SDP
- Gopher
- MMS over TCP
サポートしている入出力デバイス
- Unix
- OSS
- JACK
- X11 grabbing
- dv1394
- bktrドライバ
- Linux
- ALSA
- Video4Linux
- Video4Linux2
- libdc1394 (IEEE 1394)
- Windows
- VfWキャプチャ
入手方法
公式サイトでは、コンパイル済みのバイナリは配布されていないため、自分の環境に合わせてソースコードをコンパイルすることもできるが、コンパイル済みのバイナリを配布する非公式のサイト等も存在している。
FFmpegを利用・サポートしているアプリケーション
- エンコーダ
- MEncoder
- HandBrake
- MediaCoder
- 携帯動画変換君
- WinFF
- コーデック
- ffdshow
- GStreamer FFmpeg plug-in
- Perian
- Bellagio OpenMAX IL - STマイクロエレクトロニクスとノキアによって開発されているオープンソースのOpenMax IL実装
- FFmpegInterop - Microsoftによって開発されているMediaStreamSource実装
- 3D描画
- Blender
- マルチメディアプレーヤ
- MPlayer
- VLC
- Xine
- Gnash - オープンソースのフラッシュプレーヤー
- swfdec - オープンソースのフラッシュプレーヤー
- Moonlight - マイクロソフトが支援してノベルが開発するオープンソースのSilverlight代替実装
- 動画編集
- Avidemux
- Kdenlive
- Jahshaka
- B's 動画レコーダー
- 音声編集
- Audacity (1.3.6以降)
- ラジ録12 Windows版
- VoIP
- Ekiga
- 構内交換機 (PBX)
- Asterisk
- 画像処理
- OpenCV - インテルによって開発されたコンピュータビジョン向けライブラリ。
- ImageMagick - MPEG-2へ出力する際に使用する。
- ウェブブラウザ
- Google Chrome - HTML5のvideoタグに使用している。また、Chromeをベースにしたメディアプレイヤーを作るという計画がある。
- 動画処理
- Ingex - BBC(英国放送協会)リサーチ・アンド・デベロップメントが開発しBBCが使用している、オープンソースのテレビジョンプロダクション向け総合ソフトウェア
- ラッパー
- JavaCV - OpenCV の Java ラッパーだが、FFmpeg のラッパーも含む
FFmpegに含まれるライブラリ群は多数のマルチメディアアプリケーションにより利用されている。また、Palmのスマートフォン (Palm WebOS) やソニーのブルーレイプレーヤ (BDP-S1、BDP-S1E/BDP-S300/BDP-S280、BDP-S500/BDP-S2000ES) などのデバイスにも利用されている。
出典
関連項目
- オープンソースのコーデックとコンテナフォーマット
- KMPlayer
- ffvp6
外部リンク
- 公式ウェブサイト



