忍者ブログ
AMAZON
フリーエリア
最新コメント
広告
インテル製チップセットを搭載し、基本機能の充実、メンテナンス性も向上した高性能なクライアントPC Endeavor AT971 HP Directplus オンラインストア
24 23 22 29 21 20 19 18 17 16 15 
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

投稿者 : かおん [編集]
最近iPod Touchを購入したのですが、自宅鯖にある動画ファイルをiPodで再生で出来るようにしようと思ったわけです。ついでにPSPも同じMP4形式だったはずと思い両方で再生できる形式にしようと考えたのですが…
これが、意外と難しいというか、無理なことが後で知ることになった。

iPod Touchは、640x480 VGAまでの動画が再生できる。
当然PSPも、ファームウエアversion5以降640x480の動画が再生できるようになった。
これは、当然両方ともH.264の640x480を作れは、両方再生できるぜ!と思った。
しかしいくら作っても、どっちかが再生できると、どっちかが再生できない。

二つの動画を見比べたり調べたりしているうちで以下のことがわかった。

PSPは、基本的に640x480までの動画を再生できるが、MPEG4のプロファイルはMain Pfofile(メイン)に対応し、レベル1.3までの動画しか再生できない。
逆にApplyのiPod 系は、同様に640x480までの動画再生が出来るが、MPEG4のプロファイルは、Baseline Profile(ベースライン)にしか対応していない。

そのため、同じ動画ファイルを共有して再生させることが基本的に無理という結論・・・・
しかし、いろいろ調べているうちに、PSPも、320x240 (QVGA)までならBaselineに対応しているらしい。

そこで、320x240でBaselineで動画を作成してみた。
しかし再生できない。
再生できない理由は、Baselineでレベルが3.0になっていることが原因で、PSPは、Baselineでも1.3でなければいけない。
もう一度、エンコードの種類をBaselineレベル1.3にしてエンコードしてみると今回は再生できた。

結局iPodとPSPで再生できる動画は、320x240 (QVGA)でBaselineプロファイルでレベルを1.3にして作成すればいい。
16:9用をつくるとすれば、 368×208のサイズでエンコードすれば、共に再生できる。

でも色々調べているうちに納得がいかない点も残る。
PSPは640x480(720x480)のメインプロファイルのレベル1.3が再生できる。
しかし、そもそもレベル1.3とは、QVGA(320x240)までのサイズのコーデックであり、1.3でVGAサイズである640x480なんて指定できないのである。
メインプロファイルなら3.0でも再生できるのかな?

今回は、ffmpegを利用して無理やり作ったので作成できたが、市販のもので1.3でVGAサイズの動画はほとんど作れないはずである。

それはともあれ、色々調べた結果、iPodとPSPの動画ファイルの作成方法がわかった。
以下に表のとおりである。
フォーマット プロファイル サイズ 最適なビットレート iPod PSP
H.264 [4:3用] baseline@1.3 320x240 768kbps
H.264 [16:9用] baseline@1.3 368x208 768kbps
H.264 [4:3用] baseline@3.0 640x480 1,536kbps ×
H.264 [4:3用] baseline@3.0 480x320 1,024kbps ×
H.264 [16:9用] baseline@3.0 480x272 1,024kbps ×
H.264 [4:3用] main@1.3 640x480   ×
H.264 [16:9用] main@1.3 720x480   ×

実際に動画を見比べましたが、神経質にならないかぎり、ほとんど違いもない320x240でも十分見れる映像だったことと、エンコード(データ変換)時間が、あきらかに320x240で作ったほうが最短であったため、QVGAで統一することにしました。
どうしてもクオリティの必要なファイルだけは、それぞれ二つ用意するという結論になりました。
あと、PSPやiPodに変換する場合、携帯動画変換君が有名なので、上記のそれぞれの設定をついでに、記録しておきます。

[Info]
Title=機種別設定:MP4ファイル, iPod & PSP 向け設定
TitleE=Model: MP4, for iPod & PSP
Description=iPod と PSPで再生可能なMP4形式に変換します。
DescriptionE=for iPod & PSP

[Item1]
Title=iPod&PSP H.264 b@13 4:3 320×240(768kbps)
FileNameMax=59
Command0=""<%AppPath%>\cores\ffmpeg" -y -maxfr 30 -i "<%InputFile%>" -title "<%Title%>" -bitexact -hq -vcodec h264 -vprofile baseline -vlevel 13 -s 320x240 -fixaspect -b 768 -maxrate 1068 -qmin 18 -qmax 51 -bufsize 1024 -g 250 -acodec aac -ac 2 -ar 48000 -ab 64 "<%TemporaryFile%>.mp4""
Command1=""<%AppPath%>\cores\NicMP4Box" -add "<%TemporaryFile%>.mp4" "<%OutputFile%> H264(320x240).mp4""
Command2="rm "<%TemporaryFile%>.mp4""

[Item2]
Title=iPod&PSP H.264 b@13 16:9 368×208(768kbps)
FileNameMax=59
Command0=""<%AppPath%>\cores\ffmpeg" -y -maxfr 30 -i "<%InputFile%>" -title "<%Title%>" -bitexact -hq -vcodec h264 -vprofile baseline -vlevel 13 -s 368x208 -fixaspect -b 768 -maxrate 1068 -qmin 18 -qmax 51 -bufsize 1024 -g 250 -acodec aac -ac 2 -ar 48000 -ab 64 "<%TemporaryFile%>.mp4""
Command1=""<%AppPath%>\cores\NicMP4Box" -add "<%TemporaryFile%>.mp4" "<%OutputFile%> H264(320x240).mp4""
Command2="rm "<%TemporaryFile%>.mp4""

[Item3]
Title=iPod Touch HIGH H.264 b@30 640×480(1,536kbps)
FileNameMax=59
Command0=""<%AppPath%>\cores\ffmpeg" -y -maxfr 30 -i "<%InputFile%>" -title "<%Title%>" -bitexact -hq -vcodec h264 -vprofile baseline -vlevel 30 -s 640x480 -fixaspect -b 1536 -maxrate 1836 -qmin 18 -qmax 51 -bufsize 1024 -g 250 -acodec aac -ac 2 -ar 48000 -ab 64 "<%TemporaryFile%>.mp4""
Command1=""<%AppPath%>\cores\NicMP4Box" -add "<%TemporaryFile%>.mp4" "<%OutputFile%>.mp4""
Command2="rm "<%TemporaryFile%>.mp4""

[Item4]
Title=iPod Touch FULL 4:3 H.264 b@30 480×320(1,024kbps)
FileNameMax=59
Command0=""<%AppPath%>\cores\ffmpeg" -y -maxfr 30 -i "<%InputFile%>" -title "<%Title%>" -bitexact -hq -vcodec h264 -vprofile baseline -vlevel 30 -s 480x320 -fixaspect -b 1024 -maxrate 1324 -qmin 18 -qmax 51 -bufsize 1024 -g 250 -acodec aac -ac 2 -ar 48000 -ab 64 "<%TemporaryFile%>.mp4""
Command1=""<%AppPath%>\cores\NicMP4Box" -add "<%TemporaryFile%>.mp4" "<%OutputFile%>.mp4""
Command2="rm "<%TemporaryFile%>.mp4""

[Item5]
Title=iPod Touch WIDE 16:9 H.264 b@30 480×272(1,024kbps)
FileNameMax=59
Command0=""<%AppPath%>\cores\ffmpeg" -y -maxfr 30 -i "<%InputFile%>" -title "<%Title%>" -bitexact -hq -vcodec h264 -vprofile baseline -vlevel 30 -s 480x272 -fixaspect -b 1024 -maxrate 1324 -qmin 18 -qmax 51 -bufsize 1024 -g 250 -acodec aac -ac 2 -ar 48000 -ab 64 "<%TemporaryFile%>.mp4""
Command1=""<%AppPath%>\cores\NicMP4Box" -add "<%TemporaryFile%>.mp4" "<%OutputFile%>.mp4""
Command2="rm "<%TemporaryFile%>.mp4""

[Item6]
Title=PSP HIGH M@13,AVC 640x480
Command0=""<%AppPath%>\cores\ffmpeg" -y -maxfr 30 -i "<%InputFile%>" -title "<%Title%>" -timestamp "" -bitexact -hq -vcodec h264 -coder 1 -vlevel 13 -bufsize 192 -g 250 -s 640x480 -r 30 -qscale 25 -maxrate 10000 -acodec aac -ac 2 -ar 48000 -ab 48 -f psp "<%OutputFile%>.MP4""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 -an "<%OutputFile%>.JPG""

[Item7]
Title=PSP FULL M@13,AVC 720x480
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -title "" -timestamp "" -bitexact -vcodec h264 -coder 1 -vlevel 13 -bufsize 128 -g 250 -s 720x480 -r 29.97 -qscale 28 -maxrate 1500 -acodec aac -ac 2 -ar 48000 -ab 48 -f psp "<%OutputFile%>.MP4""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 -an "<%OutputFile%>.JPG""

注意
上記のTranscoding.iniの設定では、NicMP4Boxを使用しています。
入手先:http://nic.dnsalias.com/

NicMP4Boxとは
  • Apple の日本語サイトでは誤った情報が掲載されていますが、iPodでQVGAを超えるかビットレートが768kbps以上の動画を再生するには「Low- Complexity version of the H.264 Baseline Profile」という独自プロファイルの動画ファイルを作らなければいけません。この独自プロファイルの実態はLevel3のBaselineプロファ イルで、Appleによって多少の小細工がされています。 その小細工を再現するために作られたのが「NicMP4Box」です。 これは「MP4Box」というMP4をいろいろと弄るソフトをNic氏が改造したもので、MP4Boxの機能はそのまま残っています。
PSPでのbaselineを再生するには、MS_ROOTのVideoフォルダに置きます。
ファイル名の規則もありません。


PR
投稿者 : かおん [編集]

COMMENT

ADD YOUR COMMENT

NAME
TITLE
MAIL
URL
COMMENT
PASS

TRACKBACK

TRACKBACK URL