2009-08-16

iTunesのメディアファイルの扱い方

序章

Mac 上の iTunes の中の一部のデータを Windows に持って行こうと思った。

07:27:35 >wtnabe< iTunes でライブラリ情報の一部を移動ってできるのかな。
それがプレイリスト?
08:06:36 >wtnabe< iTunes のプレイリストを Win <-> Mac 間で直接読み込ん
だりできないよね?
08:06:57 >wtnabe< パスの情報が全然合わないもんなぁ

プレイリストに含まれるファイル名の問題

Mac の iTunes でプレイリストを吐き出してみる。

08:29:32 >wtnabe< あーーーーーーーーーーーーーーーーーーーーーーーーー
08:29:46 >wtnabe< また濁点の問題かorz  面倒くせぇんだよ。
08:41:45 >wtnabe< 昔は mccc 使えば ok だと思ってたけど、mccc 使ったらむ
しろ化け化けだ…。
08:48:09 >wtnabe< 結局日常的な問題なのに正面から取り組んでないからいざ
というとき苦労する
08:50:45 >wtnabe< 結局この濁点の問題はなんていうのが正確でどう対処すれ
ばいいのか。言葉を知らないがゆえの無力。
08:53:01 >wtnabe< nkf で UTF8-MAC の入力には対応してるらしいんだがなぁ
09:01:19 >wtnabe< そもそも書き出されたものが UTF-8-MAC ではなく UTF-16
でかつ濁点が分離しているのである。
09:26:32 >wtnabe< ややこしそうなのでまずメシにする

Mac のファイル名は UTF8-MAC じゃないんですよね。UTF8 で取り出すこともできるだけで中は UTF8 じゃないんです。Windows のファイル名が Shift_JIS じゃないのと一緒です。で、iTunes は UTF8 に変換せずに取り出してプレイリストを作るらしいことに今さら気づいたのでした。

13:27:32 >wtnabe< プレイリスト話の続き。Macで日本語ファイル名という話だ
とよくUTF8-MACという情報を目にするが、UTF8-MACはそういうAPIを通して見た
ときにその形式に変換してくれるだけ。本来はUTF-16で格納されている。
13:28:27 >wtnabe< そしてiTunesでプレイリストを作成するとバッチリUTF-16
でリストを作成してくれる。UTF8-MACに対応しているよ、と言っているエンコー
ディング変換ツールではこれに対応できない。

つーことなのです。

プレイリストは諦めてメディアファイルを丸ごとコピーした

実は、iTunes のデータはバックアップ&リストアとかややこしいことをしなくても、基本的には中のファイルを丸ごとコピーするだけで大丈夫です。以前から mp3 のオーディオファイルに関してはこの方法で数台の PC を渡り歩いてきてます。この先も大丈夫だと思います。ただし、ビデオの場合はちょっとややこしいことになります。

13:10:29 >wtnabe< 非常にややこしい事態であることが分かった。
13:12:46 >wtnabe< iTunes のビデオについて、ライブラリからドラッグして取
り出したものを別な機械に持って行った場合、ムービーの種類などの iTunes
固有の情報は残らない。
13:14:09 >wtnabe< mp3 などのメディアファイル自体が保持できる情報は残っ
ている場合と残っていない場合がある。iTunes で生成した m4v ファイルの場
合は他の機械に楽曲データだけ持っていってもそれらの情報は残っていない。

まとめると、こういうことです。

情報の種類移動後
いわゆるID3タグ残る
ムービーの種類残らない

mp3 は大丈夫。aac は詳しくないんでよく分からないけど m4v とかを iTunes で作ってる場合はたぶんダメです。

今回自分の移動したファイルは iTunes ではなく Handbreak でエンコードしたうえで iTunes で情報を追加したものなので、基本的な情報は残っていました。ただし、次節のように AirTunes スピーカーを利用することはできませんでした。

ムービーのエンコーダと AirTunes スピーカー

また、iTunes でエンコードしたミュージックビデオは AirTunes スピーカーを利用できることに初めて気づきました。AirTunes スピーカーを利用している場合はビデオじゃなくてオーディオとしての再生になるんですけど。

13:15:02 >wtnabe< ただし、iTunes で生成した m4v ファイルは AirTunes ス
ピーカーに対応している。AirTunes スピーカーを選んだ場合はビデオとしては
再生されない。
13:16:01 >wtnabe< 他のツールで生成した mp4, m4v ファイルは AirTunes ス
ピーカーを選んでいても問答無用でビデオとして再生され、コンピュータに接
続されているスピーカーから音を出す。
13:17:46 >wtnabe< その代わり、他のツールで生成した mp4, m4v ファイルの
場合はメディアファイル自体の保持できるメタデータをそのまま他の機械に持っ
ていくことができる。

まさにあちらを立てればこちらが立たず。

iPod を使った同期は試さなかった

最近は iTunes -> iPod という一方通行ではなく iTunes <-> -iPod という双方向でのコピーができるらしいという情報をどこかで見かけた気がするんだけど、自分の環境では iPhone/iPod touch を Windows 環境でフルに活用できないので諦めた。

13:20:01 >wtnabe< プレイリストを使って同期すればこの辺の問題は解消でき
ると思うんだけど、ビデオの名前に日本語を使っているとMacの日本語ファイル
名の濁点問題でとてもややこしいことになる。
13:23:14 >wtnabe< iPodを使って同期する方法も最近はあるっぽいんだけど、
Windowsは一部でApple Mobile Deviceなどのサービスが悪さしてiTunes自体が
動かなくなる環境がある。(うちのAMD64+Vista環境がそう)
13:31:09 >wtnabe< ということで今回はプレイリストでの同期は諦め、メディ
アファイルを丸ごとコピーしてみた。結果、ほとんどのファイルはiTunesで生
成したものではないのでmp3の保持できるデータはそのまま渡すことができた。
でもこれは知ってたわけじゃなくてたまたま。

おまけ - 改行コード

正直、どうせ iTunes という独自のアプリ同士でしか交換できない情報ならプラットフォームネイティブとか気にしないでいいんじゃないかとか乱暴なことを思ったけど、意外に行儀よくできていた。

08:16:40 >wtnabe< iTunes プレイリストは Win と Mac で改行コードが違うの
か。
08:19:17 <popona> @wtnabe 改行コードって、もともとWinがCRLFで、MacがCR
でしたっけ
08:21:44 >wtnabe< @popona CRはClassic時代ですね。OSXアプリならフツーは
LFです。
08:24:15 >wtnabe< しかしiTunesプレイリストはCRなのであった。
08:25:17 <popona> うわぁ、ぽぽなの知らないうちにそんな変化があったとは…
RT @wtnabe: @popona CRはClassic時代ですね。OSXアプリならフツーはLFです。
08:25:54 >wtnabe< まぁiTunesも今思うと古いアプリだよね

考えたら iTunes は MacOS 9 の頃からあるので改行コードは CR で当たり前ですな。CR なデータは CLI のツールで扱いにくいからきらいだな。

About

例によって個人のなんちゃらです