FFmpegとは、各種ビデオファイルフォーマットの変換機能、TVチューナ映像のエンコード機能等を持つオープンソースなフリーソフトである。配信サーバ「ffserver」が含まれており、httpプルトコルでビデオのストリーミング配信ができる。WindowsやLinuxのコマンドラインから使用することができる、Mac OSX向けのオープンソース・ソフトウェアFFMPEGフロントエンドDaturaにも使われる。動画携帯変換君でも使われており、その恩恵にあずかっている人も多いはずだ。複数ファイルをバッチで変換処理できる。とても便利だ。FFmpegのデコードとエンコードのコード(libffmpegに相当する部分)は mplayerに含まれている。xineには ffmpegのデコーダ部分が含まれている。エンコードや再生に mplayerや xineを使うならば、ffmpeg をとくに導入する必要がない。

ffmpeg-logo

FFmpegでは数多くのオプションを利用することができる。その例を以下に挙げる(ffmpegのバージョンによって異なることがある)。

メインオプション

  1. -i 入力ファイル名を設定する。
  2. -y 出力するファイル名と同じ名前のファイルが出力先にある場合に上書する。
  3. -fs 指定したファイルサイズになったら変換を終了する。
  4. -ss 指定した時間から変換を開始する。
  5. -title タイトルを設定する。
  6. -timestamp タイムスタンプを設定する。
  7. -vsync フレームをカットしたり加えたりして音声に動画を同期させる。

ビデオオプション

  1. -b 動画部分のビットレートをkbit/秒単位で設定、初期設定は200Kbit/
  2. -r フレームレートの設定 初期設定は25
  3. -s 動画のサイズを横×縦で設定
  4. -aspect アスペクト比の設定
  5. -vn ビデオを無効にする。音声部分のみのエンコードなどに使用する。
  6. -vcodec ビデオコーデックを設定 設定しない場合は入力ファイルと同じコーデックを使用する。

オーディオオプション

  1. -ab チャンネルごと(最近のSVN版では全チャンネル合計)のビットレートを設定する。
  2. -ar サンプリング周波数を設定する。
  3. -ac 音声のチャンネル数を設定する。
  4. -acodec 音声コーデックを設定する。設定しない場合は動画同様入力されたファイルと同じコーデックを使用する。
  5. -an 音声を無効にする。ビデオ部分のみのエンコードなどに使用する。
  6. -vol 通常の音量を256として音量を設定する。(2倍の音量にしたい時は512を指定する。)

入手方法

CentOS, FedoraなどのOSの場合、yumコマンド等でインストールできる:

  1. yum --enablerepo=rpmforge install ffmpeg

RPMパッケージの場合、以下のようなコマンドでインストールできる:

  1. $ rpmbuild --rebuild ffmpeg-0.4.*.nosrc.rpm

Windowsの場合、公式サイトで紹介されているffmpegを用いたプロジェクト([Projects Using FFmpeg)に含まれるものを用いるか、コンパイル済みのバイナリを配布しているサイトからダウンロードする。

使用例:

・12チャンネルをMPEG-1で30秒間録画する

  1. $ v4lctl setchannel 12
  2. $ ffmpeg  -t 30 -s 320×240 -r 29.97 -b 2500 -ab 224 -ac 2 -f  mpeg  movie.mpg

・VideoCD規格に適合したファイルを作る

  1. $ v4lctl setchannel 12
  2. $ ffmpeg  -t 3600 -s 320x240 -r 29.97 -b 1150 -ab 224 -ac 2 -f  vcd  movie.mpg

・MPEG-1以外のエンコード

  1. $ v4lctl setchannel 12
  2. $ ffmpeg  -t 30 -s 320x240 -r 29.97 -b 2000 -ab 224 -ac 2 -f  avi -vcodec mpeg4  movie.avi

・MPEG-1の動画を、MPEG-4形式に変換する

  1. $ ffmpeg -i inputfile.mpg -f mp4 -acodec aac -vcodec mpeg4 -b 256k -ab 64k outputfile.mp4

・MP3の音楽を、MPEG-4形式に変換する

  1. $ ffmpeg -i inputfile.mp3 -f mp4 -acodec aac -vn -ab 64k outputfile.mp4

・DVDのVOBファイルを、VideoCD形式のMPEG-1ファイルに変換する

  1. $ ffmpeg -i inputfile.vob -f mpeg -acodec mp2 -vcodec mpeg1video -s 352x240 -b 1152k -ab 128k outputfile.mpg

・AVIの動画を、H.264形式のM4Vファイルに変換する

  1. $ ffmpeg -i inputfile.avi -f mp4 -acodec libfaac -vcodec libx264 -b 512k -ab 320k outputfile.m4v

・動画を東芝のREGZAが認識できるMPEG2形式に変換する

  1. $ ffmpeg -i inputfile -target ntsc-svcd -ab 128k -aspect 4:3 -s 720x480 outputfile.mpg

・flvからmp3を抽出

  1. $ ffmpeg -y -i inputfile.flv -acodec copy outputfile.mp3

リソース:

http://ffmpeg.org  公式サイト

メインコンテンツEND ■
1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 3.67 out of 5)
Loading ... Loading ...

Posted on Tuesday, 3rd February 2009 by admin

Tags: , , , ,
Posted in Flash Project | Comments (1) | 19,802 views

One Response to “FFmpeg: 各種ビデオファイル(動画や音楽)フォーマットの変換機能、TVチューナ映像のエンコード機能等を持つオープンソースなフリーソフトウェア”

  1. FLVTool2: オープンソースのFLVファイルにメタデータつけたり、メタデータを取得できるソフト | DigiTechLog Dot Com Says:

    [...] g”コマンド(@see FFmpeg: 各種ビデオファイル(動画や音楽)フォーマットの変換機能、TVチューナ映像のエンコード機能等を持つオープンソースなフリーソフトウェア)と一緒に使うと録画 [...]

Leave a Reply