MacOSX で MS-MPEG4/DivX を再生

ネット(てか「あにぺぐ」方面(謎))でそこそこ流通している MS-MPEG4 や DivX の AVI ムービーを、 Mac で快適に見られるようするにはどうするか、いろいろと変換したりしてなんとかしてみよう、という話。ぼくは既に常用環境を OSX に移行してるので、 MacOSX にてどうするか、という感じ。

(2002/06/07 追記) MacOSX 専用版もあるオープンソース出自の動画プレイヤー VLC が MS-MPEG4/DivX の再生機能も持ったので、この文書で示してるような変換作業はまったく不要になりました。(→ VLC for MacOSX の恩恵

よびちしき

知ってる人には自明の事にすぎないけど、知らない人にとっては初めて聞く(かもしれない)話をまず。

ファイル形式とコーデック

動画ファイルで一般に言う、QuickTime や AVI (Video for Windows) というファイル形式は、つまるとこ単なる器。器の中はたいがい 2 つに仕切られてて、それぞれに「ビデオトラック」と「サウンドトラック」が入ってる。器の中身のそれぞれを同時に再生することで、動く絵と音が同調して再生される、という概念。

器の中身は、生のままの時もあるけど、それじゃぁファイルサイズがアホみたくデカくなるので、たいがいは色んな方式の圧縮が施された上で納められてます。この圧縮方式のことをコーデックと呼んでいるです。あるコーデック A で圧縮されたトラックが QuickTime の器に入っていたとして、もしユーザーの Mac がその コーデック A を知らなければ、元には戻せません。つまり、 QuickTime ムービーならどんなものでも QuickTime Player で再生できる、ってわけじゃーない。

AVI も同様。 Mac の QuickTime (Player) が AVI ムービーを再生できるといっても、それは AVI の器の開け方を知っているというだけ。器の中身のコーデックをユザの Mac が知らなければ、再生できない。見た目上おなじ .avi の拡張子がついたファイルであっても、再生できるのとできないのがある理由がコレ。

Mac の QuickTime が標準状態で持ってるコーデックには、 動画用だとシネパックや Sorenson Video とか、音声用だと IMA 4:1 や QDesign Music とかがありますやね。この文書でネタにしている MS-MPEG4 や DivX というのも動画用コーデックの一つ。でもこれらは QuickTime には標準では入ってない。以上から、シネパック圧縮な中身の入ってる AVI は QuickTime (Player) で最初から再生できるけど、DivX の AVI は標準状態では絶対に再生できない、ということになります。

Mac における QuickTime の意味

世間で QuickTime と言ったときには、単にファイル形式としての QuickTime のことであることが多いです。んが Mac 世界ではもうひとつの意味を指してるバヤイがあります。

MacOS/MacOSX で動画や画像や音声とかのマルチメディア関連の基盤を形成しているもの (API) 、またはその基盤の抽象的呼び名。 QuickTime Player は、MacOS/MacOSX 内部の QuickTime 基盤を使うアプリのひとつにすぎない。んだから、 QuickTime5 をインストしておいて Player だけ 2 とか 3 時代の物を使うとかいう芸当ができたわけ。

Windows ユーザから見た QuickTime という単語は、「廃れいくマルチメディアフォーマット」でしかないのかもしれないけど、 Mac においてはこのように、システムのマルチメディア方面を全面的に支える血液の事でもあります。

経緯と現状

MS-MPEG4

WindowsMedia 形式を普及させたいらしい Microsoft としては、 AVI 形式の MS-MPEG4 はとっくに見捨ててるようなのだけど、現実、この形式のファイルは結構流通してる。

これまでは MS-MPEG4 v2 ("MP42") や v3 ("MP43") なら、Classic MacOS/OSX Classic 環境上に限り再生できてた。 MS-MPEG4 v1 ("MPG4") は以前からこれまでずーっと再生不能。たしか。世間で配布されてる MS-MPEG4 は大部分が v2 なので、これをどうするかというハナシがメインとなります。

古くは、 Microsoft MediaPlayer6.3 for Mac アプリ本体のファイルタイプを "thng" に変更して機能拡張フォルダに放り込み、 QuickTime Player で再生可能とする技があった。これはつまり、アプリ本体を機能拡張ファイルだと偽って、 MediaPlayer 内部の MS-MPEG4 コーデックをシステムにムリヤリ取り込ませる技。

Classic MacOS アプリである DivX Player が出てからは、その必要が無くなった。 MediaPlayer6.3 アプリ本体からコーデック部分を吸い出して流用する「ハイジャックアプリ」ゆえ。けどこの DivX Player の使用期限はこの 3 月までだったみたいで、今となっては再生不能。配布してたサイト自体も消えちゃってるし3ivx のサイトへ飛ばされるようになってる)

結局、Classic アプリであり、とっくに 7 とか出てて打ち捨てられた歴史上の遺物である MediaPlayer 6.3 (の内蔵コーデック)にこれまで頼ってたわけだから、今後すぐさま OSX ネイティブ下で MS-MPEG4 を再生できるようになるとは思えない。永遠にムリかもしれない。

DivX

DivX のそもそもの出自はこの MS-MPEG4 にあった(しかもだいぶグレーな感じ)らしいのだけど、こっちはこっちで DivX4, DivX5 と独自に進化してってる。前述の DivX Player で再生可能だったけど、使用期限到来で以下略。そもそも DivX4 とか DivX5 が再生できたかは謎。たぶん出来ない。

今では DivX 動画を再生するためのコーデックが、 機能拡張ファイルまたは QuickTime コンポーネントとして Classic MacOS/MacOSX それぞれ向けにいくつか配布されてるから、システムに入れてしまえば QuickTime (Player) でフツーに再生可能でわあります。

双方

ともかく非力なマシンだとやたらに重い。まぁそれはこないだ買った QuickSilver 867 のチカラを持ってすれば問題なくなったけど。

MS-MPEG4 や DivX のムービーはたいがいサウンドトラックが MP3 で圧縮されてて、これを再生してると映像と音がどんどんどんどんズレてく。しかも音がブッチブチ。なにが不快かって、重いことよりこっちのほうが不快。 OS9/OSX 問わず、再生アプリ問わず、マシンスペック関係なく、Mac 上では常にこうなっちゃう。これを扱う時の QuickTime 自体に問題があるのかも。フツーの MP3 な音楽ファイルだとそんなことは無いだけに、謎。

作業の目標とか方針

道具をそろえる

まず、MS-MPEG4 や DivX の AVI ムービーを QuickTime Player で再生できるようにしなきゃいけない。作業に使う小物ツールも必要。ぼくがそろえたのは以下。

( QuickTime Player で DivX を再生可能にするコーデックといったらフツー、 DivX 5.0 Decoder for Mac OSDivOSX といったあたり。これらを入れても当然 DivX/DivX4/DivX5 の再生が可能になる。てか本家(?)だし。でも、 3ivx Delta4 PR1 ひとつ入れてるだけでもそれは同じだし、コッチのほうが再生パフォーマンスが何となしに良い気がする。手持ちの DivX な AVI もコレですべて再生できた。)

変換作業

そりでわ、MS-MPEG4 や DivX の AVI ムービーを、 MacOSX ネイティブ下でそこそこ快適に見られるモノへ変換する作業を開始ー。

ビデオトラックが MS-MPEG4 v2 の場合

現状、 MacOSX ネイティブ下ではどうあっても、MS-MPEG4 v2 圧縮されてるビデオトラックを再生できません。ならば、ビデオトラックだけを MacOSX の QuickTime (Player) が再生可能な別のコーデックで「書き出し」しちゃえばいい。…なぜビデオトラックだけなのかといいますと、サウンドトラックは別手段(後述)にてブチブチしない音で取り出す予定だから。そして、ここで変換したビデオトラックと、ブチブチ無しのサウンドトラックとを掛け合わせて、新たなムービーファイルを作るつもり。

MS-MPEG4 v2 のビデオトラックは、先に挙げた WMA Audio 機能拡張 が Classic 環境の機能拡張フォルダに入っていれば、 Classic の QuickTime Player で再生可。再生できるんであれば、別コーデックで書き出しも可であるとゆーこと。では、どのコーデックを選択したらいいか。

はじめ、 QuickTime5 が標準で持ってるコーデックの Sorenson Video 3 で書き出してみた。しかし、元データ( MS-MPEG4 v2 のビデオトラック)と遜色ない画質とするには、データレートすなわちファイルサイズをかなり大きくしないとダメだった。元データとほぼ変わらないデータレートで書き出すと、品質がものすごい劣化した。なんだかつかえない〜〜。 Sorenson 2 やシネパックではさらに劣化があるだろうってことで、最初からためしてはいない(笑)

で、結局 On2 VP3 コーデックで書き出してみた。元データとほぼ同じデータレートで書き出しても、肉眼では劣化はほとんど無いように見える。まぁ目が厳しい人からしたらアマイかもしれませんが、自分が納得いけばイイというわけで。 3ivx Delta3.5 TestEdition (無料版)の最高画質でも書き出してみたけど、 On2 VP3 のほうが画質は上だった。有料版だとまた違った結果かもしれないけど、こんな事にお金はかけられない〜。

ここで書き出した、ビデオトラックのみのムービーファイルをとりあえず OSX ネイティブの QuickTime Player で開いておく。開けられるハズ。サウンドトラックの取り出しへ進む。

ビデオトラックが MS-MPEG4 v3 の場合

OSX 環境に 3ivx Delta4 PR1 を入れているなら、 MS-MPEG4 v3 のビデオトラックはそのまま再生可能の模様。再生可能であれば、必要なのはビデオトラックだけだから、「トラックの取り出し...」でビデオトラックを取り出す。サウンドトラックは別手段(後述)にてブチブチしない音で取り出す予定なので、ここでは放置。取り出して出来た新しいムービーウィンドウはとりあえずそのまま。サウンドトラックの取り出しへ進む。

OSX 環境に 3ivx Delta4 PR1 を入れてないのなら、もしくはどうにも OSX 下で再生できないようなら、上記のビデオトラックが MS-MPEG4 v2 の場合と同じ書き出し作業を。

ビデオトラックが DivX の場合

OSX 環境に 3ivx Delta4 PR1 または他の DivX コーデックを入れているなら、 DivX のビデオトラックはそのまま再生可能のはず。

必要なのはビデオトラックだけだから、「トラックの取り出し...」でビデオトラックを取り出す。サウンドトラックは別手段(後述)にてブチブチしない音で取り出す予定なので、ここでは放置。取り出して出来た新しいムービーウィンドウはとりあえずそのまま。サウンドトラックの取り出しへ進む。

サウンドトラックの取り出し

MS-MPEG4 にしろ DivX にしろ、 Mac 上で再生して不快なのは、なんといっても MP3 圧縮された音声がブチブチしまくって、かつどんどん映像とズレまくっていく事。

先に挙げた DivX Doctor II でサウンドトラックを無圧縮変換すれば、ブチブチとズレズレは解消するのだけど、無圧縮ゆえにファイルサイズがデカくなる。それにモトが MS-MPEG4 v2 だった場合、それを OSX で再生可能にするわけでもない。

そこで DivosX Tool の登場。これなら、サウンドトラック部分をブチブチ言わない状態で、単一の MP3 ファイルとして取り出せる。取り出した MP3 ファイルはとりあえずどこかに置いておき、これまた QuickTime Player で開く。再生してみると、音がブチブチしてないハズ。

あ、 DivosX Tool は時々、原因不明でサウンドトラックの取り出しが出来なくなるです。取り出す元ファイルのフルパスに日本語が混じってたりするとこうなる気がするけど、大丈夫な時もあるし、フルパスがぜんぶアルファベットだけであってもダメな時があるし、一度取り出しに成功した同じファイルでも、二度目以降はダメ時もあるし。謎。とりあえずログアウトとかマシン再起動とかしてみると直るかもしれない。

MP3 圧縮のサウンドトラックをブチブチしない音で取り出せるツールが他にあったなら、もちろんそれを使えば OK す。

準備したビデオトラックとサウンドトラックの合体

さて、準備は完了。ここまでの作業で取り出した、または変換したビデオトラックとサウンドトラックとを張り合わせて、一本のムービーとして保存すればオシマイ。

今、ビデオトラックだけのウィンドウと、サウンドトラックだけのウィンドウが開いてる。そのどちらか一方に、もう一方を加えてしまえばいいのであります。

どちらかのウィンドウをアクティブにして全選択 (Cmd + A) してコピー (Cmd + C) 。もう一方のウィンドウへ切り替えたのち、メニューバーの「編集」メニューから「追加」 (Cmd + Option + V) する。これで、ビデオトラックとサウンドトラックをひとつずつ持つムービーとなります。

再生してみてバッチリか確認。よければ「独立再生形式で保存」。リクツがわかってるなら、「通常保存(ほかのファイルに依存)」でもいいんですがが。これにて OSX ネイティブで再生できる QuickTime ムービーひとつできあがり。作業完了。

応用というか同じ方法で Intel Indeo

Classic MacOS で再生できて、 MacOSX ネイティブではたぶん金輪際再生できなさそうな AVI ムービーといえば、 Intel Indeo コーデック使用のモノがありますやね。 2 〜 3 年くらい前はわりとよく使われてたコーデックだったんだけど、最近はほとんどお目にかからなくなった。開発元の Intel もこのコーデックは打ち捨て済みらしい。でも、ムカシ手に入れた AVI ファイルの中に存在してる可能性は大あり。てかぼく自身はけっこうな数を持ってたり。

これらをダウンロードして、 Classic 環境の機能拡張フォルダに入れておけば、 Classic の QuickTime (Player) で再生できるようになる。 AVI 形式の「書き出し」でこれらを選択することも可能になるけど、まぁ今となっては。というかこの文書の目的は OSX ネイティブで再生可能とすること、なのでして。

Classic の QuickTime Player で開けられたら同じように、 OSX ネイティブ下で再生できるコーデックを使って「書き出し」て完了。

問題点

ここで行った QuickTime Player 利用の作業だと、最終出力は QuickTime ムービーとなるわけです。しかも、 DivX + MP3 な AVI ムービーの音声ブチブチズレズレをなんとかしてみるケースでは、 DivX + MP3 な QuickTime ムービーとかいう、あんまし聞いた事のないファイルになる(笑)。 MS-MPEG4 のビデオトラックを On2 VP3 に変換した QuickTime ムービーにしても、フツーの Mac に入ってるフツーの QuickTime 環境では(コーデックが無いから)再生できない。

そもそも Mac 世界の外にでれば、もはや QuickTime フォーマットなんてのはマイナー勢力。つまり、自分だけが再生閲覧できりゃーいいというカタチでファイルを保管する分には問題は無いけど、Mac ユザ以外の他人様はおろか、Mac ユザの他人様に渡して再生してもらいたい時には問題大あり。

QuickTime Player にて AVI 形式で書き出そうとすると、ロクなコーデックが使えないので品質に不満があったりして、これは使えない。現状、 MPEG1 での書き出しも出来ないわけだし。なにか高価な動画オーサリングソフトを使えば、そういうことは可能なのかもしれないけど。お金かけられないしー。せめて Mac に TMPGEnc みたいなフリーの MPEG エンコーダーがあればなぁ。

VLC for MacOSX の恩恵

オープンソース出自の動画プレイヤー VLC が、バージョン 0.4.0 にて MS-MPEG4/DivX の再生機能をも備えました。その版まではファイル・フォルダ名に日本語文字などを含むものは再生できなかったのだけど、そのモンダイも 0.4.1 で解消されました。つまり、ただ単に MS-MPEG4/DivX の AVI を快適に再生したいだけなら、この VLC があればもう何も困らなくなりました。

VLC は MS-MPEG4 (v2,v3), DivX (3,4,5,5.01), Open DivX のほかに、 DVD, VCD, SVCD, MPEG (1,2) の動画も再生できるシロモノです。すばらしい。それぞれのコーデックは VLC がすべて自前で処理・再生するわけで、システムの QuickTime からは完全に独立した存在のアプリです。ゆえに QuickTime でイマイチ再生が滑らかじゃない MPEG1 動画も、 VLC ならラクラク再生できたりもします。その逆もありますが。

このような状況になったことによって、この文書は過去の苦闘を記録したモノ、とゆー風情でしか無くなりました。アッパレ。


Copyright © 1998-2006 ALIMIKA SATOMI/NYAN-NYAN-HANTEN.Created: 2002/04/12, Last-modified: 2002/06/07