私は私だけのみかた

しかし真に利己的に行動することは尋常の知性では難しい。

ffmpeg.rev11143 を使ってiPod Classic 向け設定を新調した

はじめに

ため、PC/iPod兼用の圧縮設定を練ることにしました。
目標としてはh.264を考えましたが、試してみたものの正常にエンコードできず断念。XviDにしました。

携帯動画変換君を入手

http://www.nurs.or.jp/~calcium/3gpp/
3GP_Converter034.zip
長いこと変わっていない…

ffmpegを入手

http://ffdshow.faireal.net/mirror/ffmpeg/
今の最新版らしき11143をいただきます。

新旧混在変換君を作る

ffmpegは新旧のものでオプション指定が変わっているため、単純に入れ替えると既存の設定が全滅の大騒ぎになります。そこで変換君のフォルダ内に新しいフォルダを切ってffmpegを入れることにしました。これなら前の設定を破壊せずに新たに追加していくことができます。というか当たり前だけど。以下の例では"newcore"というフォルダにしています。

新しい設定を作る

変換君のフォルダにdefault_settingというフォルダがあります。どれかひとつを複製して、参考にしながら変更を加えます。

設定例

[Info]
Title=XviD自作設定for iPod Classic
TitleE=XviD MPEG4 setting for iPod Classic
Description=GV-MVP/GX2w等で録画した地上アナログ放送をiPod ClassicとPC用兼用で保存します。
DescriptionE=XviD MPEG4 setting for iPod Classic and PC.

[Item0]
Title=XviD VGA q7
TitleE=XviD VGA q7
Command0=""<%AppPath%>\newcore\ffmpeg" -y -i "<%InputFile%>" -timestamp "<%TimeStamp%>" -threads 2 -vcodec libxvid -deinterlace -cropleft 8 -cropright 6 -s 640x480 -aspect 4:3 -qscale 7 -mbd 2 -g 300 -acodec libfaac -ac 2 -ar 48000 -ab 128k -f mp4 "<%OutputFile%>.mp4"" 

[Item1]
Title=XviD WIDE q7
TitleE=XviD WIDE q7
Command0=""<%AppPath%>\newcore\ffmpeg" -y -i "<%InputFile%>" -timestamp "<%TimeStamp%>" -threads 2 -vcodec libxvid -deinterlace -croptop 58 -cropbottom 62 -cropleft 8 -cropright 6 -s 640x360 -aspect 16:9 -qscale 7 -mbd 2 -g 300 -acodec libfaac -ac 2 -ar 48000 -ab 128k -f mp4 "<%OutputFile%>.mp4"" 

[Item2]
Title=XviD VGA 1500kbps
TitleE=XviD VGA 1500kbps
Command0=""<%AppPath%>\newcore\ffmpeg" -y -i "<%InputFile%>" -timestamp "<%TimeStamp%>" -threads 2 -vcodec libxvid -deinterlace -cropleft 8 -cropright 6 -s 640x480 -aspect 4:3 -b 1500k -mbd 2 -g 300 -acodec libfaac -ac 2 -ar 48000 -ab 128k -f mp4 "<%OutputFile%>.mp4"" 

[Item3]
Title=XviD WIDE 1500kbps
TitleE=XviD WIDE 1500kbps
Command0=""<%AppPath%>\newcore\ffmpeg" -y -i "<%InputFile%>" -timestamp "<%TimeStamp%>" -threads 2 -vcodec libxvid -deinterlace -croptop 58 -cropbottom 62 -cropleft 8 -cropright 6 -s 640x360 -aspect 16:9 -b 1500k -g 300 -acodec libfaac -ac 2 -ar 48000 -ab 128k -f mp4 "<%OutputFile%>.mp4""

[Item4]
Title=XviD VGA 2500kbps (公開されている仕様の上限)
TitleE=XviD VGA 2500kbps (upper limit)
Command0=""<%AppPath%>\newcore\ffmpeg" -y -i "<%InputFile%>" -timestamp "<%TimeStamp%>" -threads 2 -vcodec libxvid -deinterlace -cropleft 8 -cropright 6 -s 640x480 -aspect 4:3 -b 2500k -mbd 2 -g 300 -acodec libfaac -ac 2 -ar 48000 -ab 128k -f mp4 "<%OutputFile%>.mp4"" 

[Item5]
Title=XviD WIDE 2500kbps (公開されている仕様の上限)
TitleE=XviD WIDE 2500kbps (Upper limit)
Command0=""<%AppPath%>\newcore\ffmpeg" -y -i "<%InputFile%>" -timestamp "<%TimeStamp%>" -threads 2 -vcodec libxvid -deinterlace -croptop 58 -cropbottom 62 -cropleft 8 -cropright 6 -s 640x360 -aspect 16:9 -b 2500k -g 300 -acodec libfaac -ac 2 -ar 48000 -ab 128k -f mp4 "<%OutputFile%>.mp4""

[Item6]
Title=XviD VGA q3
TitleE=XviD VGA q3
Command0=""<%AppPath%>\newcore\ffmpeg" -y -i "<%InputFile%>" -timestamp "<%TimeStamp%>" -threads 2 -vcodec libxvid -deinterlace -cropleft 8 -cropright 6 -s 640x480 -aspect 4:3 -qscale 3 -mbd 2 -g 300 -acodec libfaac -ac 2 -ar 48000 -ab 128k -f mp4 "<%OutputFile%>.mp4"" 

[Item7]
Title=XviD WIDE q3
TitleE=XviD WIDE q3
Command0=""<%AppPath%>\newcore\ffmpeg" -y -i "<%InputFile%>" -timestamp "<%TimeStamp%>" -threads 2 -vcodec libxvid -deinterlace -croptop 58 -cropbottom 62 -cropleft 8 -cropright 6 -s 640x360 -aspect 16:9 -qscale 3 -mbd 2 -g 300 -acodec libfaac -ac 2 -ar 48000 -ab 128k -f mp4 "<%OutputFile%>.mp4"" 

細かい話

  • 短いファイルでのみiPodで再生確認してます。2時間の映画とか入れて音ズレするって言われても知りません。
  • Xvid+AACにしています。
  • そもそもソースが4Mbps程度のmpeg2なので画質はあまり気にしてません。
  • WIDEと書いてある設定は、上下に太い黒帯の入ってる放送です。アニメでよくあるやつ。細い黒帯の入ってるタイプの放送もあるのだがそちらは無視。
  • H.264を使っていないのは単純に変換に失敗したため。iPodで再生できなかったのではなくてエラーが出てファイルが作れなかった。
  • cropのサイズは人によって違うはずなのでうまく調整してね。-sの前にどうぞ
  • aspect重要
  • ar 48000重要(もとの録音と同じサンプリングレートに)
  • codecの名前が昔と変わってます
  • ビットレートを指定する場合、昔 -b1500 だったら今 -b1500kとしないと同じになりません。すごい罠です。
  • 上の設定は出力ファイルが小さい順に並んでいます。ファイルサイズ的にはq3は仕様の上限2500kbpsで作成したものを軽く超えていたのになぜか再生できたりしました。
  • qscaleは0が無効、1が最高の品質、32が最高の圧縮…だったかな?大きくすると画像が荒れてファイルが縮みます。私としては7は許容範囲。1から10ぐらいまで変えてみると良いかも。iPodの画面で比べたらどれもほとんど同じですが。
  • 品質ベースのqscaleをとるか、安全に仕様内に収まるbをとるか。美しさとファイルサイズと再生可能性の間で悩んで色々調整してくださいね。
  • ああーこれを後でMagicAnime.net向けバッチに移植しなきゃー

Apple iPod classic 80GB シルバー MB029J/A

Apple iPod classic 80GB シルバー MB029J/A