ここでは携帯動画変換君への最新のFFmpegの導入とそのオプションについて説明します。 現在FFmpegは積極的に開発が進められており、近年開発された新しいフォーマットに対応したバージョンがリリースされています。 これによりポータブルデバイスに標準的に利用されるつつあるH.264コーデックの詳細なオプションを指定したエンコードや、 動画配信サイトなどのFLVフォーマットに利用されるvp6コーデックのデコードなどが可能になりました。 しかし変換君に同梱されている従来のFFmpegとはコマンドの仕様が異なるため、入れ替えるだけでは導入することが出来ません。
導入にあたってはまず携帯動画変換君は最新のFFmpegに対応していないことが前提であることをご理解下さい。 またこのページの内容はメリットが理解できない人、やり方が理解でいない人にはお勧めしません。導入は自己責任でお願いします。
なお、最新版のFFmpegは、こちら や こちら などでビルド済みのバイナリを入手するか、 ソースコードを拾って自分でビルドしてください。 コンパイル方法は 猫とモブログと動画ブログのブログ、M. a. Factory社長日誌 や、お気に入りの動画を携帯で見よう に詳しい。
なおLAMEは同梱のlibtoolのバグでホームディレクトリのパスに空白文字があるとメイクできないので注意。
また、libavcodec, libavformat, libxvid, libx264 等の個別のオプションについては、 ここのMPlayerのオプション一覧 に同じ効果を持つオプションの説明がある場合も多いので、こちらも参照してください。
(このページのメニュー)
(以下別ページ)
〜作者さんの意向で、各ページの最大サイズは8388608バイト規制となっているため、各オプションごとにページを分けてあります。〜
導入のメリット
導入のデメリット
特に、FFmpegは携帯電話やポータブルデバイスなどのための専用エンコードツールではないことを理解してください。 まず原則として携帯動画変換君は最新のFFmpegに対応していません。
最新FFmpegではデコードおよびエンコードできるフォーマットが多数追加されたため、それにともない 多くファイルフォーマットおよびコーデックの名称が変更されました。 この一覧はFFmpeg.exeの本体があるディレクトリでDOSコマンド「ffmpeg -formats」を実行することで確認出来ます。 変更されているのはファイルフォーマット(FFmpegのコマンド-fの引数)およびコーデック (FFmpegのコマンド-vcodecおよび-acodecの引数)。 また、変換君同梱ffmpegの固有オプションも使用できなくなります。
※-formatsコマンドは旧FFmpegも同様に使用できます。新FFmpegのコマンドは別ページのメインオプションを参照してください。
例)ファイルフォーマット名の変更
-f psp → -f libx264 など (pspは変換君同梱ffmpegの固有オプションのため) -f ipod → -f libx264 など (ipodは変換君同梱ffmpegの固有オプションのため)
※特定のポータブルデバイス向けの動画にするには、対応するフォーマットオプション (-f mp4, -f 3gp 等) でまず変換を行い、 作成されたファイルを必要に応じて外部プログラム (NicMP4Box, ATOMChanger 等) で加工 (ヘッダ情報の書き換え等) することになります。 もちろん ffmpeg が生成するファイルそのままで利用するポータブルデバイスが認識できればそれ以上の加工は必要ありません
例)コーデック名の変更
-vcodec xvid → -vcodec libxvid -vcodec h264 → -vcodec libx264 -acodec mp3 → -acodec libmp3lame -acodec aac → -acodec libfaac
※lib・・・libavcodec、lame・・・Lame mp3エンコーダ の意味で、 GPL準拠の内臓している外部エンコーダ・デコーダの利用を明記する形で名称を変更しているようです
例)オプションの仕様変更・追加・削除
-bitexact → -flags bitexact へ変更 -maxfr → 削除 (変換君付属ffmpegに固有のオプションのため) -title → オプション自体は利用可能だが日本語タイトルは使用不可 (変換君同梱ffmpeg の日本語タイトル対応は作者さん独自の拡張です)
例)ビットレートの指定
-b 400 → -b 400k -ab 128 → -ab 256k
※音声がステレオ2chの場合(FFmpegの-acの引数が2の場合)、Audioビットレートは2倍の数値を引数にして下さい。これは仕様のようです。
ここでは最新FFmpegの導入とTranscoding.iniのカスタマイズ方法を紹介します。 方法は数種類ありますが、旧・新両方のFFmpegを変換君のcoreフォルダに共在させる方法を推奨します。 これは既存の携帯電話の技術的仕様に対する利便性が旧・新の両方にあるためです。 自己責任でご利用ください。
※pthreadGC2.dllの方はcoreフォルダに共在させることができないので、互換性により複数の新FFmpegを使用したい場合は この方法は利用出来ません。変換君の本体丸ごとリネームして別の環境を用意してください。
(例1) AVI (xvid+mp3) の2passエンコード (新FFmpeg→ffmpeg2)
(例2) iPod 向け MP4(H.264+AAC) の1passエンコード (新FFmpeg→ffmpeg2) マルチスレッド対応
(例3) WMV8 (wmv2+wmav2) の1passエンコード (新FFmpeg→ffmpeg2)
-b kbit/s表記からbit/s表記に -ab kbit/s表記からbit/s表記に -flags <flags> mv4 E.V.. use four motion vector by macroblock (mpeg4) obmc E.V.. use overlapped block motion compensation(h263+) qpel E.V.. use 1/4 pel motion compensation loop E.V.. use loop filter gmc E.V.. use gmc mv0 E.V.. always try a mb with mv=<0,0> part E.V.. use data partitioning data partitioning を使用する gray EDV.. only decode/encode grayscale psnr E.V.. error[?] variables will be set during encoding naq E.V.. normalize adaptive quantization ildct E.V.. use interlaced dct low_delay EDV.. force low delay alt E.V.. enable alternate scantable (mpeg2/mpeg4) trell E.V.. use trellis quantization 格子量子化を有効にする。 bitexact EDVAS use only bitexact stuff (except (i)dct) aic E.V.. h263 advanced intra coding / mpeg4 acprediction 高度なイントラコーディングを有効にする umv E.V.. use unlimited motion vectors 無制限モーションベクターを有効にする cbp E.V.. use rate distortion optimization for cbp qprd E.V.. use rate distortion optimization for qp selection aiv E.V.. h263 alternative inter vlc slice E.V.. ilme E.V.. interlaced motion estimation scan_offset E.V.. will reserve space for svcd scan offset user data cgop E.V.. closed gop クローズドGOP -flags2 <flags> fast E.V.. allow non spec compliant speedup tricks sgop E.V.. strictly enforce gop size noout E.V.. skip bitstream encoding local_header E.V.. place global headers at every keyframe insteadof in extradata bpyramid E.V.. allows B-frames to be used as references for predicting wpred E.V.. weighted biprediction for b-frames (H.264) mixed_refs E.V.. one reference per partition, as opposed to onereference per macroblock dct8x8 E.V.. high profile 8x8 transform (H.264) fastpskip E.V.. fast pskip (H.264) aud E.V.. access unit delimiters (H.264) brdo E.V.. b-frame rate-distortion optimization Bフレームのレート歪みを最適化 skiprd E.V.. RD optimal MB level residual skipping ivlc E.V.. intra vlc table drop_frame_timecode E.V.. non_linear_q E.V.. use non linear quantizer -partitions <flags> E.V.. macroblock subpartition sizes to consider マクロブロックのサイズを決定 parti4x4 E.V.. 低解像度時に使用 parti8x8 E.V.. partp4x4 E.V.. 低解像度時に使用 partp8x8 E.V.. partb8x8 E.V.. :-flags、-flags2、-partitionsを複数指定する場合には、引数と引数の間に+を入れてください (例): -flags obmc+qpel -refs <int> E.V.. reference frames to consider for motion compensation (Snow) Bフレームの参照フレーム数、実写映像では6程度から効果が激減、アニメなどはもう少しいけるかも -bf (1〜16) Bフレームの最大連続数 最新版では16フレームまで連続可能 -trellis <int> E.VA. rate-distortion optimal quantization -オプション -me <int> 記述例 -me umh dia ダイヤモンドサーチ、半径 1 (高速) hex 六角形サーチ、半径 2 (デフォルト) umh 不等複数六角形サーチ esa 徹底サーチ (超低速、umhより全く良くなるところが無い:フルピクセルの動き補償アルゴリズム選択。
コメントはありません。 コメント/最新FFmpeg?
変換君について
ダウンロード
変換君対応機種
変換君未対応機種
便利な使い方
Transcoding.iniカスタマイズ
FFMPEG USAGE
最新FFmpeg
mencoder
HE-AAC
タグ
再圧縮
音ずれについて
報告板
雑談板6
質問する前に
質問専用掲示板41