*convert.xmlの編集例 [#t4cb9388]
*iPod向け設定 [#ta0e6c50]

// また勝手に作成して済みませんがあちらの提案・情報提供と実例を分ける意味で別にしました
// 勝手に作ったものなので、このページ自体が不要だと思われる場合はページ下部の
// コメント欄にコメントいただくか、作者のtuck氏に直接削除依頼を出してください。
// 知らないうちに削除されたとしても、特に異議を唱えるつもりなないことをあらかじめ申し上げておきます
// 2009/02/15 golgol
[[convert.xmlの編集例]] から移動してきました。
サポート掲示板でたまに見かける iPod 向けの H.264+AAC の動画および AAC 音声のみの設定です。
MPEG4-SP と MP3 については Craving Explorer 本体同梱の convert.xml の設定が標準的ですので特に取り扱いません。

[[convert.xml関連の提案・情報提供]] の方はテストリリース版への提案ページだったことを
忘れていました(すいません)。
とりあえず重要な点のみあちらにのこし、実際の長いサンプルとその説明みたいのはこちらにメモ書き程度に残す形に変えます。
#contents

** iPod が対応している H.264 + AAC 動画の仕様 [#k5c54b9e]

** 動画 (映像+音声) の変換 [#pfbb4d62]
対応している H.264 + AAC 動画の仕様 (Apple公称の仕様) は、

*** iPod touch/iPhone 向け H.264+AAC [#k90bb213]
H.264+AAC で iPod Touch / iPhone 向けの動画を作成するオプションの一例です
エンコード速度に影響があるオプションは主に -me_method、-partitions、-subq、-refs -me_range で、
速度優先の場合はこの辺を軽めの設定にしてください。
[1]
- 映像部分: H.264 Baseline Profile Level 1.3 以下
-- 解像度 320x240 以下, ビットレート 768kbps 以下, フレームレート 60fps 以下、CAVLC のみ、Bフレーム使用不可、8x8変換使用不可
- 音声部分: AAC-LC 160kbps 以下、サンプリングレート 48000Hz 以下

 -s 432x320 -r 30000/1001 -vcodec libx264 -crf 23 -coder 0 -qmin 10 -qmax 36 -qdiff 4 -qcomp 0.6 -sc_threshold 40 -flags +loop
 -cmp +chroma -flags2 +mixed_refs -partitions +parti4x4+partp8x8 -refs 3 -me_method umh -subq 6 -me_range 16 -i_qfactor 0.71
 -acodec libfaac -ar 44100 -ab 128k -f ipod
[2]
- 映像部分: H.264 Baseline Low-Complexity Profile Level 3.0 以下
-- 実体は Baseline Profile + iPod 特有の uuid box の組み合わせ
-- 解像度 640x480 以下、ビットレート 1500kbps 以下、フレームレート 30fps 以下、CAVLC のみ、Bフレーム使用不可、8x8変換使用不可
- 音声部分: AAC-LC 160kbps 以下、サンプリングレート 48000Hz 以下

*** MP4(PSP) [#u28f473b]
のいずれかです。これはどの iPod でも変わりません。
これを踏まえて iPod 系共通で必要になってくる ffmpeg のオプションは、

基本的に上のiPod用から -s 360x270 -coder 1 -f psp にしてBフレームを使うようにしただけです。
- -coder 0 ⇒ Baseline の必須要件である CAVLC にするために必要です
- -level 13 or 30 ⇒ 映像部分のレベルを整数値で指定 (1.3->13, 3.0->30 等)
- -f ipod ⇒ Level 1.3 を超える場合 (解像度 320x240 以上 or ビットレート 768kbps 以上) iPod 特有の uuid box を書き込むのに必要

 -s 360x270 -r 30000/1001 -vcodec libx264 -crf 23 -coder 1 -qmin 10 -qmax 36 -qdiff 4 -qcomp 0.6 -sc_threshold 40 -flags +loop
 -cmp +chroma -flags2 +mixed_refs+wpred -partitions +parti4x4+partp8x8+partb8x8 -refs 3 -me_method umh -subq 7 -me_range 16 -i_qfactor 0.71
 -b_qfactor 1.3 -bf 3 -b_strategy 2 -directpred 3 -acodec libfaac -ar 44100 -ab 128k -f psp
になります。

** 音声のみの変換 [#j82d1c46]

*** MP3 [#de3bc06f]
** 具体的な設定例 [#x15a8473]

上記の仕様に則った動画を作成するための''最低限の'' 変換オプションです。
ffmpeg には非常に多岐にわたるオプションがあり、これらをフルに使うとコマンドラインが非常に長くなって
本当に必要な部分が分かりにくくなるため、必要最低限のもの以外は省略しています。

*** iPod 5.5G (ファームウェア 1.2 以降), iPod Classic, iPod nano 3rd & 4th [#f9edfc85]

<設定例>

iPod 本体で動画を見る場合等、それほど解像度を必要としない場合

 <DisplayName>MP4 (H.264+AAC for iPod)</DisplayName>
 <CommandLine>-vcodec libx264 -b 768k -coder 0 -level 13 -s 320x240 -aspect 4:3 -qmin 10 -r 30000/1001 -acodec libfaac -ar 48000 -ab 128k</CommandLine>
 <FileExtension>mp4</FileExtension>

 <DisplayName>MP4 ワイド(H.264+AAC for iPod)</DisplayName>
 <CommandLine>-vcodec libx264 -b 768k -coder 0 -level 13 -s 320x180 -aspect 16:9 -qmin 10 -r 30000/1001 -acodec libfaac -ar 48000 -ab 128k</CommandLine>
 <FileExtension>mp4</FileExtension>

----

(1) 作成されるmp3のビットレートを上げたい場合
CommandLine の -ab 128k の値を目的のビットレートにしてください。例えば
 <CommandLine>-acodec libmp3lame -ac 2 -ar 44100 -ab 320k</CommandLine>
のようにすると、320kbps になります。
iPod から TV 出力する場合等、解像度が大きい方が見栄えがいい (と思われる) 場合

(2) 元の動画の音声をそのまま維持したい場合
CommandLine の部分を
 <CommandLine>-vn -acodec copy</CommandLine>
にしてください。ただし、以下の注意点があります。
-''元の動画の音声がmp3の場合しか使えません。''
(例. 音声が AAC の動画をこの設定で変換すると、拡張子 mp3 で中身が AAC というファイルになり、当たり前ですが、iTunes 等で再生できません)
-''元の動画の音声がVBR(ABR)でエンコードされている場合でも VBR MP3 ヘッダは書き込まれません''ので、
foobar2000 の utils->Fix VBR MP3 Header や [[VBR Header Maker:http://hp.vector.co.jp/authors/VA026645/Mp3Software.html]] といった外部ツールでヘッダを別途作成しないと
プレイヤーによっては再生時間の表示がおかしくなったり、シークが正常にできないファイルになる可能性があります。
 <DisplayName>MP4 高解像度 (H.264+AAC for iPod)</DisplayName>
 <CommandLine>-vcodec libx264 -b 1500k -coder 0 -level 30 -s 640x480 -aspect 4:3 -qmin 10 -r 30000/1001 -acodec libfaac -ar 48000 -ab 128k</CommandLine>
 <FileExtension>mp4</FileExtension>

 <DisplayName>MP4 高解像度 ワイド(H.264+AAC for iPod)</DisplayName>
 <CommandLine>-vcodec libx264 -b 1500k -coder 0 -level 30 -s 640x360 -aspect 16:9 -qmin 10 -r 30000/1001 -acodec libfaac -ar 48000 -ab 128k</CommandLine>
 <FileExtension>mp4</FileExtension>

*** M4a (iTunes 向け AAC ファイル) [#t0bd7a6b]
現行(1.0.0 RC3) の convert.xml にはデフォルトではないですが自分で追加して使う場合。

*** iPod Touch, iPhone [#pef623e1]

 <DisplayName>AAC(iTunes に自動登録)</DisplayName>
 <Accelerator>I</Accelerator>
 <ActionName>m4a-itunes</ActionName>
 <CommandLine>-vn -acodec libfaac -ac 2 -ar 44100 -ab 128k</CommandLine>
 <FileExtension>m4a</FileExtension>
 <BeforeAction></BeforeAction>
 <AfterAction>SaveToITunes</AfterAction>
基本は同じですが、iPod Touch/iPhone は液晶の解像度が 960x640 (縦横比 3:2) となり、4:3 とも 16:9 とも異なります。
以下では、動画の解像度は

''iTunes に AAC 音声のみの mp4 ファイルを入れる場合は、拡張子は .m4a にしてください。''
----
-  4:3 の場合: 480x360 (横480に合わせて縦は 480×(3/4)=360 となるため)
- 16:9 の場合: 960x540

(1) 作成されるAAC音声のビットレートを上げたい場合
CommandLine の -ab 128k の値を目的のビットレートにしてください。例えば
 <CommandLine>-acodec libfaac -ac 2 -ar 44100 -ab 256k -cutoff 22050</CommandLine>
のようにすると、音声に 256kbps のビットレートを割り当てるよう努力するようになります。
注意点として、faac の仕様により -ab で変換した場合は指定ビットレートにかかわらずカットオフ周波数が16kと固定されています。
このカットオフ周波数だと 44100Hz, 2ch の音声は 152kbps 程度が上限値になり、これ以上のビットレートを割り当てません。
従ってビットレートの指定値をこの上限値以上にする場合は、同時に -cutoff オプションでカットオフ周波数も上げないとビットレートはあがりません。
このカットオフ周波数の最大値はサンプリングレートの半分です。
としていますが、この辺は利用する方各自で調整してください。

(注意)
既に非可逆な圧縮過程を経ている音声のばあい、その過程で高周波成分はカットされていることが多いです。
そのような音声でカットオフ周波数を上げて高ビットレートでエンコードしても、必ずしも聴こえ方が良くなる(有体に言うと音質がよくなる) とは限りません。
※ 映像の解像度として ''最低でも偶数である必要があります'' ので、例えば縦320に合わせて
横は 320÷(3/4)=426.666・・・ だから 427 とかいうのは無理だと思われます。

(2) 品質ベースの VBR にする場合
CommandLine の -ab 128k のところを
 <CommandLine>-acodec libmp3lame -ac 2 -ar 44100 -aq 140</CommandLine>
のように -aq 140 等に変えてください (-aq の最大値は 500)。
品質指定の場合は上で書いたカットオフ周波数も自動で決定され、品質の値が大きいほどカットオフ周波数もあがります。
(-aq 400 くらいから元音声のサンプリングレートの半分(つまり最大値)が使われるようになります)。 

なお、FAACは厳密なCBR(AACの各フレームに対して固定のビットを割り当てる)のストリームは吐きません。
上記 (1), (2) のどちらの方法で作成しても作成される AAC は VBR ((1)の場合は通常ABRと呼ばれますが) になります。
ただし、AAC の場合は mp4 コンテナの方で再生時間等の情報を管理しているので、VBR になっても mp3 のときのような再生時間がおかしくなったりする問題は起きないはずです。
<設定例>

(3) 元の動画の音声をそのまま維持したい場合
CommandLine を
 <CommandLine>-vn -acodec copy</CommandLine>
にしてください。mp3 で -acodec を使うときと同じで、''元の動画の音声がAACの場合しか使えません。''
例えば、音声が mp3 の flv をこの設定で変換すると mp3 音声を mp4 コンテナに格納したものができますが、これは iTunes ではサポートされていないので再生できません。
iPod 本体で動画を見る場合等、それほど解像度を必要としない場合

 <DisplayName>MP4 (H.264+AAC for iPod Touch/iPhone)</DisplayName>
 <CommandLine>-f ipod -vcodec libx264 -b 1200k -coder 0 -level 30 -s 480x360 -aspect 4:3 -qmin 10 -r 30000/1001 -acodec libfaac -ar 48000 -ab 128k</CommandLine>
 <FileExtension>mp4</FileExtension>

 <DisplayName>MP4 ワイド(H.264+AAC for iPod Touch/iPhone)</DisplayName>
 <CommandLine>-f ipod -vcodec libx264 -b 1000k -coder 0 -level 31 -s 960x540 -aspect 16:9 -qmin 10 -r 30000/1001 -acodec libfaac -ar 48000 -ab 128k</CommandLine>
 <FileExtension>mp4</FileExtension>

----

** コメント [#d4cc68b0]
iPod から TV 出力する場合等、解像度が大きい方が見栄えがいい (と思われる) 場合

以下コメント欄
 <DisplayName>MP4 高解像度(H.264+AAC for iPod Touch/iPhone)</DisplayName>
 <CommandLine>-f ipod -vcodec libx264 -b 1500k -coder 0 -level 30 -s 640x480 -aspect 4:3 -qmin 10 -r 30000/1001 -acodec libfaac -ar 48000 -ab 128k</CommandLine>
 <FileExtension>mp4</FileExtension>

#comment
 <DisplayName>MP4 ワイド 高解像度(H.264+AAC for iPod Touch/iPhone)</DisplayName>
 <CommandLine>-f ipod -vcodec libx264 -b 1200k -coder 0 -level 31 -s 960x540 -aspect 16:9 -qmin 10 -r 30000/1001 -acodec libfaac -ar 48000 -ab 128k</CommandLine>
 <FileExtension>mp4</FileExtension>

*** -qmin の値について [#n3051ad4]
iPod で再生可能な H.264 は Baseline のため CAVLC を使います。
CAVLC の場合、あまりに低い q 値が適用されてしまうと問題と起こす可能性があり、
ffmpeg は -qmin 2 というデフォルト値のためこの問題が生じる可能性があります。
http://mailman.videolan.org/pipermail/x264-devel/2007-June/003183.html

そのため、全部の設定例に -qmin 10 (x264 のデフォルト) を保険として入れてあります。

※ ただし、上記の記事は 2007 年のものであり、その後 x264 側でも改善されているため
以前よりはこの問題は出にくくなっているはずです。


*** その他カスタマイズについて [#z24fc628]

※ 以下は自分で convert.xml を変更する人向けです。そうじゃない方は読み飛ばしてください。

ffmpeg は他のコーデックとオプションを共用する関係で、-vcodec libx264 の場合の初期値が良くありません。
x264 本家 (x264.exe) の初期値は、ffmpeg の libx264-default.ffpreset にあるとおりで、iPod 向けの動画に関係する部分だけ抜き出すと

 -me_method hex -me_range 16 -subq 6 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qcomp 0.6 -qmin 10 -qmax 51
 -qdiff 4 -flags2 +fastpskip -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8

です。ffmpegのデフォルトはこうです。

 -me_method epzs -me_range 16 -subq 8 -g 12 -keyint_min 25 -sc_threshold 0 -i_qfactor -0.8 -qcomp 0.5 -qmin 2 -qmax 31
 -qdiff 3 -flags2 +fastpskip

比べてみるとなんか変な設定になっていることが分かると思います。このページの最初に書いた iPod 向けの設定だと
いまいち見た目が良くないと感じる人は、まずは上で書いたオプションを x264 のデフォルト値にしてみてください。
また、-g, -keyint_min, -sc_threshold は元動画に応じて調整した方がいい場合があります。


** AAC 音声のみの m4a ファイル [#f3ce2ab9]

現行(1.0.0 RC3) の convert.xml にはデフォルトではないですが自分で追加して使う場合の設定例です。

 <DisplayName>AAC(iTunes に自動登録)</DisplayName>
 <Accelerator>I</Accelerator>
 <ActionName>m4a-itunes</ActionName>
 <CommandLine>-vn -acodec libfaac -ac 2 -ar 48000 -ab 128k</CommandLine>
 <FileExtension>m4a</FileExtension>
 <BeforeAction></BeforeAction>
 <AfterAction>SaveToITunes</AfterAction>

''iTunes に AAC 音声のみの mp4 ファイルを入れる場合は、拡張子は .m4a にする必要があります。''

この設定からさらにビットレートの変更等をしたい場合は、[[convert.xmlの編集例:http://wiki.crav-ing.com/index.php?convert.xml%E3%81%AE%E7%B7%A8%E9%9B%86%E4%BE%8B#t0bd7a6b]] の当該箇所をみてください。

* コメント [#o7382b6b]

スパム書き込みが激しいためコメント欄を一時的に削除しています。
コメントを書き込みたい場合は、編集メニューから直接このコメント欄を編集してください。

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS