Unfinished Sympathy
Index
Log
•2003
01 02 03 04 05 06
07 08 09 10 11 12
•2004
01 02 03 04 05 06
07 08 09 10 11 12
Links

Mac OS X 上での Real ストリーミング保存 / iPod 取り込み

1. イントロダクション

このページでは、Mac OS X 上で、Real ストリーミングをダウンロードして保存する方法と、Real メディアである rm ファイルを PCM (WAVE 形式) に変換して、iTunes / iPod で扱えるようにする方法を記述します。

ツールは Linux 由来の高機能万能プレーヤ、「MPlayer」を使用します。「MPlayer」は再生だけに留まらず、今回記述するストリーミングの保存 / 変換ができたり、さらには付属の MEncoder を使用して、音声 / ムービーを他形式に変換する事もできます。ただ難点はコマンドラインアプリケーションなので、操作が Mac らしくなく、多少難解ということでしょうか。

2. セットアップ

それでは環境の構築を始めましょう。以下の二つのファイルをダウンロードし、インストールして下さい。

SDL 1.2.8 (dmg形式)
MPlayer に必要な映像 / 音声出力ライブラリ群のインストールファイル。man ファイル(オンラインマニュアルファイル)もインストールします。Mac OS X 用にコンパイル済みのバイナリです。パッケージ形式。

MPlayer v1.0pre6a (dmg形式)
MPlayer バージョン 1.0 pre 6a のインストールファイル。付属の MEncoder 及び MPlayer 用 RealPlayer 9 コーデックもインストールします。man ファイル(オンラインマニュアルファイル)もインストールします。Mac OS X 用にコンパイル済みのバイナリです。パッケージ形式。

インストールが終わったら /アプリケーション/ユーティリティ/ にある、ターミナルを起動して下さい。

$ mplayer

と入力し、

$ mplayer
MPlayer 1.0pre6-3.3 (C) 2000-2004 MPlayer Team
AltiVec found
CPU: PowerPC
Usage: mplayer [options] [url|path/]filename
(省略)

のような出力が返されればインストール成功です。
 もし上手く行かない場合には、MPlayer のインストール先である /usr/local/bin にパスが通っていない可能性が考えられます。env コマンドによりパス等の環境変数の確認を行えます。
 パスを通すの意味が分からない場合はとりあえず以下のコマンドを入力してみて下さい(シェルが bash の場合)。

$ echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
$ source ~/.bash_profile

以上で mplayer コマンドを実行できるようになるはずです。どうしても実行できない場合は、mplayer と入力する替わりに /usr/local/bin/mplayer と入力する事で実行できます。

$ /usr/local/bin/mplayer
MPlayer 1.0pre6-3.3 (C) 2000-2004 MPlayer Team
AltiVec found
CPU: PowerPC
Usage: mplayer [options] [url|path/]filename
(省略)

3. Real ストリーミングのダウンロード

それでは早速ストリーミングのダウンロードを行ってみましょう。以下のコマンドの入力により、ストリーミングをダウンロードすることができます。

mplayer [アドレス] -dumpstream -dumpfile [保存時のファイル名]

[アドレス]にはストリーミングファイルのアドレスを、[保存時のファイル名]には、ダウンロードしたストリーミングをローカルに保存する場合の任意の名前を入力します。[アドレス]を調べるには、目的のストリーミングを RealPlayer で再生して、メニューバーの「再生」→「クリップ ソースを表示」で確認する事が出来ます。以下に mplayer 入力の例を示します。

$ mplayer rtsp://xxx.xxx.xxx.xx:554/xxxx/xxxxx/XX_XxxxxxxXxx_1.rm?cloakport="8080,554,7070" -dumpstream -dumpfile test.rm
MPlayer 1.0pre6-3.3 (C) 2000-2004 MPlayer Team
AltiVec found
CPU: PowerPC

Playing rtsp://xxx.xxx.xxx.xx:554/xxxx/xxxxx/XX_XxxxxxxXxx_1.rm?cloakport=8080,554,7070.
Resolving xxx.xxx.xxx.xx for AF_INET6...
Couldn't resolve name for AF_INET6: xxx.xxx.xxx.xx
Connecting to server xxx.xxx.xxx.xx[xxx.xxx.xxx.xx]:554 ...
Cache size set to 640 KBytes
Connected to server: xxx.xxx.xxx.xx

以上の表示で文字の出力が止まったようになりますが、実際にはダウンロードが開始されています。カレントディレクトリ(移動していなければホームフォルダ内)に保存時のファイル名で着々とダウンロードされてますので、プロンプトが戻ってくるまで待ちましょう。ダウンロードをキャンセルしたい場合には、Control + C キーでキャンセルすることが出来ます。

4. Real ファイルの Wave 形式への変換

次に Real ファイルを Wave 形式に変換する方法を記述します。コマンドは以下のように入力します。

mplayer -ao pcm -aofile [変換後のファイル名] [変換する Real ファイルのアドレス]

[変換後のファイル名]には変換後の Wave ファイルの任意のファイル名を、[変換する Real ファイルのアドレス]には変換する Real ファイルのアドレスを入力します。以下に入力を示します。

$ mplayer -ao pcm -aofile test.wav test.rm
MPlayer 1.0pre6-3.3 (C) 2000-2004 MPlayer Team
AltiVec found
CPU: PowerPC

Playing test.rm.
REAL file format detected.
======= WAVE Format =======
Format Tag: 28515 (0x6F63)
Channels: 1
Samplerate: 44100
avg byte/sec: 64695
Block align: 744
bits/sample: 16
cbSize: 18
Unknown extra header dump: [0] [ba] [0] [14] [0] [6] [2] [e8] [0] [8] [1] [0] [0] [2] [4] [0] [0] [2f]
===========================
Clip info:
name: Xxx @ Xxxxxxxx Xxxx x
author: Xxxxxx Xxxxxxx
copyright: ?2004
===========================================================
Opening audio decoder: [realaud] RealAudio decoder
opening shared obj '/usr/local/lib/codecs/cook.so.6.0'
Error: dlcompat: file "/usr/local/lib/codecs/cook.so.6.0" not found
ERROR: Could not open required DirectShow codec cook.so.6.0.
Read the RealAudio section of the DOCS!
ADecoder preinit failed :(
ADecoder init failed :(
Opening audio decoder: [realaud] RealAudio decoder
ERROR: Could not open required DirectShow codec cook3260.dll.
Read the RealAudio section of the DOCS!
ADecoder preinit failed :(
ADecoder init failed :(
Opening audio decoder: [realaud] RealAudio decoder
opening shared obj '/usr/local/lib/codecs/cook.bundle/Contents/MacOS/cook'
Audio codec: [6] 64 kbps Music
Audio bitrate: 64.083 kbit/s (8010 bps)
AUDIO: 44100 Hz, 1 ch, 16 bit (0x20), ratio: 8010->88200 (64.1 kbit)
Selected audio codec: [racookmac] afm:realaud (Mac OS X RealAudio COOK)
===========================================================
Checking audio filter chain for 44100Hz/1ch/16bit -> 44100Hz/2ch/16bit...
AF_pre: af format: 2 bps, 1 ch, 44100 hz, big endian signed int
AF_pre: 44100Hz 1ch Signed 16-bit (Big-Endian)
[AO PCM] File: test.wav (WAVE)
PCM: Samplerate: 44100Hz Channels: Stereo Format Signed 16-bit (Little-Endian)
[AO PCM] Info: fastest dumping is achieved with -vc dummy -vo null
PCM: Info: to write WAVE files use -waveheader (default).
AO: [pcm] 44100Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
Building audio filter chain for 44100Hz/1ch/16bit -> 44100Hz/2ch/16bit...
Video: no video
Starting playback...
A:1137.9 (18:57.9) 2.5%

Tips: ローカルのファイルのアドレスを簡単に入力するには、そのファイルをターミナルのウインドウにドラッグ & ドロップします。今回の場合であれば「mplayer -ao pcm -aofile test.wav 」まで入力した後に test.rm ファイルをターミナルのウインドウにドラッグ & ドロップします。

上のコマンドを入力する事により、Real ファイルから Wave ファイルへの変換が始まります。プロンプトが返ってくるまで待つと、カレントディレクトリに test.wav ファイルが作成されています。これで何の劣化なしに QuickTime Player / iTunes で読む事が出来る音声ファイルが出来上がりました。

5. iPod への取り込み

ここまでくれば iPod に取り込むのは簡単です。出来たファイルをそのまま iTunes / iPod に認識させる事もできますが、データ量が気になりますので、今回は AAC 128 kbps に変換してみましょう。
 iTunes を起動し、環境設定の読み込みを AAC 128 kbps にした後、Option キーを押しながらメニューバーの「詳細設定」をクリックすると、「AAC に変換...」という項目があります。これを選択し、作成された「test.wav」を選択します。この操作によって AAC への変換が始まり、変換されたファイルが iTunes に登録されます。あとは iPod とのシンクを行えば iPod への取り込みは完了です。


公開に当たり 3-D さんに多大なご協力を頂きました。有り難うございました。
-blackmilk 2005.1.11

Jump↑