コンピュータ/ソフトウェア関連Tips

本文へ

辛抱たまらん! iTunes

更新: 2012年11月03日(土) 18:04
公開: 2010年05月30日(日) 00:00

PodcastのアグリゲーターにはiTunesを使っているのだが、何かの拍子に、こんな風になってしまった。

ファイルの重複現象

iTunesが管理している情報とPodcastデータ(*.mp3)が不一致の状態となってしまって、メタデータと関連づけられたPodcastデータは既にあるのに、新たにPodcastデータを取得して、その際、ファイルシステム上の名前が競合しないように名前に半角スペースと1を追加したようだ。

設定ファイルを探したら、iTunesPrefs.xml というのがあって、その中に、次のようなエントリーを見つけた。

<key>Location</key><string>file://localhost/X:/iTunes/Podcasts/(省略)%8D%201.mp3</string>

%201が、半角スペースと1だから、これをヌルにして、%8D.mp3 のように置換してみた。しかし、ダメだった。diffをとってみたら、

<key>Date Modified</key><date>2010-05-16T15:34:04Z</date>

のように、更新日の変更も必要なようだ。さらに調べていたら、どうも、iTunes.prefがオリジナルで、iTunesPrefs.xmlは、iTunes.prefをiTunes.prefから生成してるっぽい。

Podcastの仕組みはよく分かってなかった(知る必要を感じていなかった)のだが、調べている過程で、iTunesはWebサーバー保存されているファイル名を、メタデータ(例えば番組タイトル)に書き換えていることが分かった。だんだんイライラしてきて、iTunesを使ってダウンロードするのを止めて、wgetを使ってWebサーバーからダウンロードすることにした。

しかし、そうは問屋がおろさず、wgetはenclosure要素のurl属性に記述されたmp3ファイルを取得してはくれなかった。残念。

で、仕方ないので、enclosure要素のurl属性を抽出するパーサーを作った。これは簡単に出来て、wgetと組み合わせて、mp3ファイルをダウンロード出来るようになったのだが、やはり、メタデータが欲しいので、wgetは使わずに、単独で、mp3ファイルとメタデータを取得するコマンドプロンプトプログラムを作成。

メタデータは、こんな感じ。iniファイル(mp3が 20100509.mp3 なら、20100509.ini)として、mp3ファイルと同じディレクトリに保存。まぁ、どうせバックアップは必要な訳だから、これらはオリジナルとして保存しておいて、別のディレクトリに、mp3ファイルをコピーして、メタデータをもとに、タグを付けて、ファイル名も変えることにしよう。ラジオ局が提供しているPodcastの中には、公開期間が限られているものもあるので、1日1回定期的に実行すれば手間いらず。iTunesは再生用途。

ソースコードは人に見せられる状態ではないのであとで。

2010.6.20 追記

sub-element内にsub-elementが許容される(例: channel element内のimage element)場合があるので、プログラムを若干修正。今は次のようにメタ情報を出力。enclosureが1個ではなく2個記述されている番組もあったので、さらに処理が必要だ...。

[rss]

rss version=2.0
rss xmlns:content=http://purl.org/rss/1.0/modules/content/
rss xmlns:dc=http://purl.org/dc/elements/1.1/
rss xmlns:itunes=http://www.itunes.com/DTDs/Podcast-1.0.dtd
rss xmlns:media=http://search.yahoo.com/mrss

[channel]

ttl=60
title=安住紳一郎の日曜天国
link=http://www.tbs.co.jp/radio/nichiten/
description=テレビで大活躍のTBSの安住紳一郎アナウンサーが生放送で語る貴重な番組。テレビでは語らない安住アナのホンネがたっぷり楽しめる「オープニングトーク」やリスナーの皆さんのメッセージに安住アナが毒ッ気たっぷりでコメントする応えるコーナーなど、ランダムにお送りします。だいたい毎週更新!TBSラジオで毎週日曜10時から放送!
language=ja
lastBuildDate="Sun, 13 Jun 2010 21:18:25 +0900"
copyright=TBSRADIO&COMMUNICATIONS
category="Society & Culture"
itunes:category text="Society & Culture"
itunes:subtitle=テレビで大活躍のTBSの安住紳一郎アナウンサーが生放送で語る貴重な番組。テレビでは語らない安住アナのホンネがたっぷり楽しめる「オープニングトーク」やリスナーの皆さんのメッセージに安住アナが毒ッ気たっぷりでコメントするコーナーなど、ランダムにお送りします。だいたい毎週更新!
image\url=http://www.tbsradio.jp/nichiten/300_300.jpg
image\link=http://www.tbs.co.jp/radio/nichiten/
image\title=安住紳一郎の日曜天国
itunes:author="TBS RADIO 954kHz"
itunes:summary=テレビで大活躍のTBSの安住紳一郎アナウンサーが生放送で語る貴重な番組。テレビでは語らない安住アナのホンネがたっぷり楽しめる「オープニングトーク」やリスナーの皆さんのメッセージに安住アナが毒ッ気たっぷりでコメントする応えるコーナーなど、ランダムにお送りします。だいたい毎週更新!TBSラジオで毎週日曜10時から放送!
generator=http://www.sixapart.com/movabletype/
itunes:owner\itunes:name="TBS RADIO 954kHz"
itunes:owner\itunes:email=nichiten@tbs.co.jp
itunes:image href=http://www.tbsradio.jp/nichiten/300_300.jpg

[item]

title=2010.06.13「40代の歯楽器」
link=http://podcast.tbsradio.jp/nichiten/files/20100613.mp3
description="今回の「ポッドキャスト天国」は、オープニングトークから 『40代の歯楽器』をお送りします。"
itunes:author="TBS RADIO 954kHz"
guid=http://podcast.tbsradio.jp/nichiten/files/20100613.mp3
dc:creator="TBS RADIO 954kHz"
pubDate="Sun, 13 Jun 2010 21:18:25 +0900"
category="Society & Culture"
itunes:category text="Society & Culture"
itunes:summary="今回の「ポッドキャスト天国」は、オープニングトークから 『40代の歯楽器』をお送りします。"
itunes:keywords="安住紳一郎, 日曜天国, TBSラジオ, 安住紳一郎の日曜天国, ポッドキャスト"
itunes:explicit=no
enclosure type=audio/mpeg
enclosure url=http://podcast.tbsradio.jp/nichiten/files/20100613.mp3
media:thumbnail height=120
media:thumbnail url=http://www.tbsradio.jp/nichiten/300_300.jpg
media:thumbnail width=160

(この記事は、http://d.hatena.ne.jp/Fumio_Kawamata/20100530/iTunes に掲載していた記事です。)

© Someone in the TERRA

編集