2005年12月16日

[MPlayer-users] Creating mp4-files for Apples' ipod with MPlayer

【概要】MPlayer-usersメーリングリストから抜粋試訳
このスレはまず、「MPEG-4」という単語がナニを 意味するのか、整理するところから始まる。
各カキコ人がマカである可能性は、内容が詳細であれば あるほど、低いように思う。

「MPEG-4」の意味 

jeff Clag氏
  • MPEG-4 は様々な規格の「詰め合わせ」。他の MPEG 規格と同様。
    • コンテナフォーマット規格
    • video codec規格
      • MPEG-4 video(SP,ASP,などの下位規格に分かれる。対応コデックはapple-MPEG4, DivX, 3ivx, XviDなど)
      • MPEG-4 AVC(別名H.264。これも様々な下位規格に分かれる。対応コデックはapple-H.264, x264など。)
    • audio codec(s)規格
    • その他の規格
  • 現在、MPEG-4 規格の中には2種類の全く異なる video codecがある。過去の習慣で "MPEG-4" を映像規格の意味で使うと混乱する。
  • 「.mp4」に関しては、個人的には、このコンテナフォーマットの名称は混乱を助長するために付けられたのではないかとすら思 う。実際みな混乱してるし。

libavformat(-of lavf) が吐く.mp4,movについて

Hans-Carl Oberdalhoff氏

僕は iPod を持っているので少し試してみたのだけど、残念な事に、Apple はlibavformat (-of lavf)が吐き出す mp4と movコンテナが好きじゃないみたいだ。
なんらかの "atoms" (metadata) が欠落しているか、Apple が要求しているものとは異なるように見える。
MobileHackerz と呼ばれる人々が、FFmpeg を改造してAppleが受け付ける mp4コンテナを吐けるようにしている。
このハックはVideora-Ipod-converterで映像を作るのに使われている。
また、vlc も使える。これでQuicktime と iPodで読めるコンテナを作成できる。

*libavformatはffmpegプロジェクト が作成しているffmpegの部品。MPlayer,VLCともに内蔵している。

MEncoder from cvsを使って、何度か試したコマンド( 多少簡略化したもの)を書いておきます。
mencoder a.avi -o a.mp4 -of lavf -oac faac -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=512 -vf scale=320:-10 -faacopts br=128:raw -ffourcc mp4v
(これは "raw"抜きでも試した)
mencoder a.avi -o a.mp4 -of x264 -oac faac -ovc lavc x264 -x264encopts bitrate=384 -vf scale=320:-10 -faacopts br=128:raw -ffourcc avc1
(これも "raw"抜きでも試した)

上記は全て .mov書き出しでもやってみたが、ウマく行かない。
MPlayer と Vlc は受け付けるが、Appleはだめだ  :(
時折、"-ffourcc"を使うと MEncoder がクラッシュする事があったが、これは最近直った。

他の audio-codec や "-nsound"を使うと、quicktime で開ける事があった。しかし aacしか受け付けないipod では勿論ダメだ。


いくつかのカキコの後で、bond氏登場。、、、ほんまにこの人は。 尚、こっから先は理解が及 ばぬ部分が多く、訳文の正確性が激しく落ちます。


bond氏のカキコ(2005/12/15--10:00)

bond氏
.mp4 は "プロプライエタリなAppleのコンテナ" では無いです。

mpeg-4 で定義されている公式コンテナで、様々なツールでサポートされています。
僕は iPod を持っているので少し試してみたのだけど、残念な事に、Apple はlibavformat (-of lavf)が吐き出す mp4と movコンテナが好きじゃないみたいだ。 なんらかの "atoms" (metadata) が欠落しているか、Apple が要求しているものとは異なるように見える。
libavformat は 100% 規格互換の .mp4 を作る事ができません。ですから、qtやipodのような規格に五月蝿いツールが 受け付けなかったとしても驚く事ではないです。

誰か、この問題をfixしたい人の為に、これまでに解っているlibav .mp4の問題をこちらにリスト化してあります。:
http://sourceforge.net/tracker/index.php?func=detail&aid=999556&group_id=16082&atid=116082

MobileHackerz と呼ばれる人々が、FFmpeg を改造してAppleが受け付ける mp4コンテナを吐けるようにしている。 このハックはVideora-Ipod-converterで映像を作るのに使われている。

かれらが作ったパッチ適用済み ffmpeg はこちら:(*win 版*
http://www.nurs.or.jp/~calcium/3gpp/sources/
http://www.nurs.or.jp/~calcium/3gpp/AVCTest-051030-2.zip

以下の重要な問題がfixされている:

1) asp:
"esds.decConfigDescr.decSpecificInfo.infoがどこかおかしいようだ。確実な事は言えないが、全くセットされて いないように見える, これはセットする必要がある! decspecificinfo.info の欠落は、raw part2 videoを.mp4にmuxする際にのみ発生するようだ。

現在、muxing/encoding はこれを生成する。
1) asp:
"- something doesnt seem to be correct in
esds.decConfigDescr.decSpecificInfo.info. i am not sure but it
seems as if it isnt set at all, which has to be the case!
the missing decspecificinfo.info only seems to be the case
when muxing raw part2 video to .mp4
when encoding with mpeg-4 to .mp4 its written"

2) avc:
"avcC atom の欠落。必須で、かつ極めて重要なもの"
現在、muxing/encoding はこれを生成する。
2) avc:
"- the mandatory and very important avcC atom is missing"

muxing/encoding creates it now

リストの残りはまだfixされていない。

また、vlc も使える。これでQuicktime と iPodで読めるコンテナを作成できる。

最後に vlc を試した時は、これも 100% 規格互換の .mp4 fileにならなかった。
無償で入手可能なツールのうちで、本当に規格互換の .mp4 fileを作れるのは、mpeg4ip project のmp4creatorと、gpac projectのmp4boxだ。

補足

mp4creator、mp4box のMac版は以下。
これらはいずれも最新版とは言えないため、マカが win界の住人であるbond氏の言を盲信するのはリスキーだと思う。
ソースコードからのビルドは難物の部類らしく、手許で は一度も成功していない。、、、付いていくためには、いずれ本気でなんとかせざるを得まい。

なお、 MobileHackerzの中の人は本家ffmpegにパッチを投稿したり採用されたりしている模様。

ところで、Bond氏のパソコンは確か、P3だったよ うな、、、いや、俺が見たプロフィールが古いのかも知れないが。
漏れが明治時代の人間だったら庭にBond神社とか作るぞほんまに
posted by ばる at 22:29| Comment(0) | TrackBack(0) | mencoder | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/10740224
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。