2009.11.25 水
ちょっと時間が経ってしまいましたが、[PS3 / NAS] Landisk上のMP4を再生のエントリの続きです。
PS3でMPEG4フォーマットの動画を再生するには、MP4ファイルのAVCプロファイルのタイプ/レベルをMain Profile/level 4.1にしなければならないという事は前回記述しましたが、今回はその方法です。
Windowsの場合は、技術メモ: mp4plc – mp4のプロファイルチェンジャーというエントリで変換ツールが提供されているようです。Macの場合は、バイナリエディタでMP4ファイルを開いて、該当の箇所を変更するのが最も簡単。
バイナリエディタによるAVC プロファイルとレベルの変換
http://メイド.jpさんのMPEG4 H.264/AVCのプロファイルとレベルの変更(おぼえがき)というエントリを参考にさせていただきました。以下手順です。

- バイナリエディタ(0xEDを使用)で該当のMP4ファイルを開きます。
- 6176634301を検索(検索条件はHEX)
- その後に続く文字列を変更。添付の画像の場合は、MainProfile/Level 5.1なので、4D 40 33になっていますが、それを4D 40 29に変更
- すぐ後ろ(2ブロック位先)にも同様の文字列がありますので、その部分も書き換えます。
- 変更を保存
以下が、プロファイルとレベルのバイナリ値の対応です。
Baseline Profile:42 E0
MainProfile:4D 40
HighProfile:64 00
Level 1.3:0D
Level 2.1:15
Level 4.0:28
Level 4.1:29
Level 5.1:33
0xEDを使った場合、ドラッグ&ドロップでMP4ファイルを開くと何故かセーブできませんでした。Fileメニューから開くとセーブできました。何故だろう?
ちなみにこのバイナリ書き換え作業ですが、以前のMacbook Core Duo 2Ghzだと検索に時間がかかりすぎて、フリーズしたかと思うような重さでしたが、iMac(2.66GHz Intel Core i5)にしてからは、わずか10秒程度に短縮されました。CPUの進化すげー。
Related Entries
Tags: DLNA, HDL4-G, Mac, MPEG-4, PS3
Posted in Home Network, Mac | No Comments »
2009.11.05 木
PS3したPS3ですが、手元にPS3用のゲームもないし、Blu-rayディスクもないので、まずはDLNAクライアントとしてから試して行きたいと思います。
最も期待している動画の再生から。
用途としては、DVDのバックアップがメインですが、自分がもっているほとんどの動画はMPEG-4フォーマットで保存しています。基本的には、Handbrakeを使ってDVDからMP4まで変換しています。
DVDのバックアップに関しては、Macの場合はいくつかの選択肢がありますが、Handbrakeが一番楽だし、効率的です。その時々ですが、MP4フォーマットでH.264/AVCとAACでエンコードする場合が多いです。Avarage Bitrateは2000kbps位でしょうか。
VOB変換ならOSExというツールでも可能ですが、まぁなにせ容量が大きくなりすぎます。DVD一枚で6ギガを超えたりするので、ちょっと大げさすぎてですね。上記のMP4だと、まぁ1時間のムービーで1ギガ程度でしょうか。この辺のフォーマットの話は長くなるので省略。
PS3からHDL4-Gのファイルを認識
まずは、NASであるLandisk HDL4-Gにある動画を認識します。IODATAのFAQによると、以下のように書かれています。
Q. DLNAサーバーとして公開可能なファイルの拡張子には何がありますか?
A. 本製品で公開可能なファイルの拡張子は以下の通りです。
なお、ファイルサイズによる制限はありません。
■動画
mpg、 mpeg、 mpeg2、 vob、 wmv、 asf、 avi
ここだけ読むと、MP4は対象外な気もしますが、ファームウェアのVer 1.20から可能になったようです。
■Ver.1.14 → Ver.1.20(2008/12/29)
・リモートリンク機能を追加しました。
・DLNA機能で公開できるファイル拡張子として、
動画:mp4, mts, m2ts, divx 音楽:m4aを追加しました。
※ファイルによっては、上記ファイル拡張子でも再生できない場合もあります。
実際、LandiskがPS3にぶら下がっていれば、PS3から容易に認識できました。自分の場合は、dlnaという共有フォルダを作って、そこにまとめて動画を置いていますが、上記のフォーマットであれば問題なく認識できてます。ただしMPEG-4フォーマットでも.m4vとかの拡張子にしていると表示されません。
その辺を解決したい場合は、HDL-4にtelnetで繋いでコンフィグファイルいじるとか面倒くさそうなことしないといけなそうです。
MPEG-4を再生
PS3でファイルを認識はできたところで、再生をしてみました。HDにアップコンバートしているのでノイズは仕方ありませんが、問題なく再生できました。PS3の□ボタンでシーンサーチとかしてみても、まぁ許容できるレスポンスです。
ただし、NAS側でファイルの書き込みを行っていたり、設定の変更中でアクセスがあると、コマ落ちしたり、停止したりしました。Landisk側に高負荷がかかっていると、うまく再生できない模様。
で、さらに問題発生。同じMP4でも何故か再生できるものとできないものがあります。いずれも形式はMPEG-4(.mp4)でH.264/AVCでエンコードしています。
ファイルをいろいろ調べてみると、どうもコーデックのプロファイルとレベルがよろしくないようです。ちなみに再生できた動画はMain@L4.1、できなかった動画には、 Main@L5.1とあります。
どうやらPS3ではHigh Profileのレベル4.1までに対応ということらしいので、レベルが5.1と定義されているファイルは、4.1に変更する必要があるとのこと。
で実際変換したら見れました。ちょっと、長くなったの詳細は次回のエントリで。
■ 参考
PS3 avc high profile playback, Getting those MKV to play without re-encoding
MPEG-4(3)——動画のクオリティを決定づける「プロファイル」と「レベル」
PS3での動画再生 – Yahoo!知恵袋
Related Entries
Tags: DLNA, HDL4-G, Mac, MPEG-4, PS3
Posted in Home Network | 1 Comment »