びっくりITソルジャーの日記

IT技術、デジタル製品などの話題

Podcastローカル配信 ー導入編ー

手持ちの英語教材のmp3ファイルを1日1つ、自分だけにPodcast配信したい。そんな動機からローカルLAN内でのPodcast配信する環境の作成を試みた。

あまりこういう動機を持つ人は少ないかもしれないが、radikoを録音した音声データをPodcastアプリで視聴したい場合にもいいかもしれない。(Publicに配信するわけにはいかないからね)
あと
以下、動機編・環境構築&お試し配信・XML動的生成・最終調整の順に解説する。

■動機
私は普段通勤時にiPhonePodcastアプリでニュースなどを聞くか、英語教材の音声ファイルiPを聞くこともある。それぞれ別のアプリで聞くので切り替えるのが面倒というか、気づくとどちらか一方を垂れ流して聞いていることが多い。アプリを切り替えるのが面倒というか、ボケーっとしているとどちらかをずっと聴き続けていてふと気づくと「英語教材聴き続けててニュース聞けなかった!」となることがよくある。どうせなら集中力の高いとおもわれる聴き始めは英語教材を聞き、後はPodcastを垂れ流しておきたい。理想は1日1ファイルは英語教材を聞いて残りの時間はPodcastを聞いていたい。そのためPodcastアプリだけで完結させるため手持ちのmp3ファイルを自分だけにPodcast配信できなかと考えたわけだ。

■環境構築
まずはWebサーバがなくては話にならない。私はMac(OSX Lion)を使っているのでシステム環境設定ー>共有ー>Web共有にチェックをいれるだけ。Windowsの場合はダウンロードしてインストールしよう。

■お試し配信
そもそも思い描いたことが実現できるのか確認するために手書きのRSSファイルとmp3ファイルを1つApacheの公開ディレクトリに配置してみて、iPhonePodcastアプリで配信を受け取れるか確認する。

手書きで以下のようなRSSファイルを作成する。
(拡張子はxml、名前は任意)

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd">
<channel>
<link>適当</link>
<title>タイトル</title>
<description>説明</description>
<docs>適当</docs>
<itunes:image href="あればサムネイル画像URL" />
<language>ja</language>
<pubDate>Sat, 25 May 2013 11:35:57 JST</pubDate>
<item>
<title>個別タイトル</title>
<author>個別作成者</author>
<description>個別説明</description>
<enclosure type="audio/mpeg" length="" url="http://ローカルIPアドレス/公開フォルダ/01.mp3" />
<pubDate>Sat, 25 May 2013 11:35:57 JST</pubDate>
</item>
</channel>
</rss>

多分enclosureタグのurlさえ正しければ配信できる。ただしmp3ファイル名に日本語が含まれていた場合は配信できなかったので注意。
このRSSファイルとmp3ファイルを公開フォルダに格納。
Podcastアプリで「番組を追加」的なメニューからRSSファイルのURLを指定すると01.mp3のエピソードがダウンロードされるはずだ。

ここからが本題だが長くなったので今回はここまでとして、次回はプログラムからRSSのItem要素を動的に追加したサンプルと、該当プログラムをMacにおいて定期実行する方法を紹介する。