私は移動時間やイヤホンをしても許される環境での作業中は、ほとんどをPodcastを聴くことに費やしています。Podcast上には多くのユニークな番組がそろっていますが、私の趣向に合う番組というと選択肢は多くありません。
早々に「消費速度>配信速度」となってしまい一時的に聴くものが無くなってしまう状態に陥りました。
そこで、Radikoでラジオ番組を録音してPodcastで配信できたらどんなに素晴らしい事なのだろうか!と思い、Radiko自動録音・自動配信に挑戦したというお話です。
そもそも何故Podcastでなけれなならないのか?
Radikoの録音を残すことはPCさえあれば難しい事ではありません。
「Radikool」や「Radika」などのフリーソフトを使用すれば毎週予約やワード予約で無料かつ、自動で音源を録音し続けてくれます。放送時間になったらスリープから復帰し、録音が終われば再びスリープにも入ってくれます。
しかし、この音源をiPhoneのミュージックアプリやサードパーティのメディアプレーヤーに同期させる作業は非常に煩わしいものです。
さらに、私が好んで視聴するラジオ番組はオールナイトニッポンやJUNKなどの長尺番組がほとんどで、これらをミュージックアプリで聴く場合、途中で止めてアプリを落とすとリジュームが効かずに再開する際には頭から再生されてしまいます。
一方でiOS純正のPodcastアプリは長時間番組視聴を前提としている為か、前回の停止位置から再開してくれます。しかも、新たなエピソードが配信されれば、自動でダウンロードまでしてくれます。
NAS上のDocker運用
私はSynologyのNAS「DS918+」を使用していて、以前は同ハードウェア上で動作するPodcastジェネレーターで同様の運用ができていました。
しかし、システムOSであるDSMが6から7へメジャーアップデートした際にPodcastジェネレーターが非対応になってしまい、他の方法は無いのものかと探した結果、NAS上のDockerでの運用に辿り着きました。
そもそも、Podcast配信ごときにPCを24時間着けっぱなしすることなど我慢ならない性分の人間で、NAS上での運用が絶対条件でした。
最近のNASは仮想マシンを動かせたり、Dockerを載せられたりとPC同等の利便性を持っています。
Synologyのプラスシリーズもその対象機種であり、本文はNAS上のDockerを前提に書いています。
手順① 録音ファイル用のフォルダを作成
予めRadikoの録音用フォルダを作成しておきます。画像では「/volume1/docker/radiko」としていますが、任意の場所で構いません。
録音ソフトの録音ファイル保存場所をこのフォルダに指定します。
手順② dockerイメージファイルのダウンロード
SyonologyのNAS上でDockerを起動後、左メニューからレジストリを選択。検索窓で「zrnns」と入力し、検索結果の中の「zrnns/podcast-server」をダブルクリックするとイメージファイルのダウンロードが開始されます。ダウンロードするバージョンの入力を求められたら「latest」を選択します。
手順③ Dockerコンテナの設定
左メニューからイメージを選択。ダウンロード済みの「zrnns/podcast-server」をダブルクリックするとコンテナの設定画面が立ち上がります。
ネットワーク設定画面が表示されますが、変更せずに「次へ」を選択します。
全般設定画面が表示されます。NASを再起動した際にDockerコンテナの再起動に失敗することが度々起こる為、「自動再起動を有効にする」をチェックします。
「詳細設定」を開き、「HTTPD_PACHES」にはスペースを、「APP_ROOT_URL」にはNASのローカルIPアドレス:設定ポートを入力します。画像では「http://192.168.50.165:1919/」となっていますが、【192.168.50.165】の部分は【192.168.1.◯◯】だったり【192.168.3.◯◯】だっりするかもしれません。この部分は使用しているルーターの設定によりけりです。
※HTTPD_PACHESには何も入力する必要がないのですが、空欄ではエラーが表示されて設定が完了できない為にスペースを入力しています。
※NASのローカルIPアドレスを指定する必要がある為、NASのIPアドレスは固定推奨です。
※設定ポートは後述するポート設定と一致させる必要があります。さらに、他のプログラムで使用されているポートは指定できない為、使っていないポート番号にします。
ポート設定画面では「ローカルポート」に任意のポート番号を入力します。一つ前の操作で設定するポート番号は、ここで入力したポート番号と一致させる必要があります。
NASのシステム上で使用しているポート番号を使用するとエラーが表示されますので、使っていないポート番号を入力します。
ボリューム設定では「フォルダ追加」をクリックするとフォルダのリスト表示が出てくるので、手順①で作成しておいたRadiko録音ファイル用フォルダを選択します。
ボリューム設定画面が再び表示されたら、「マウントパス」に【/volumes/music_files】を入力します。これは、コンテナの【/volumes/music_files】というフォルダをNAS上の任意のフォルダに置き換える操作を意味しています。画面上で言えば、本来は【/volumes/music_files】に録音ファイルを入れる必要がありますが、それを【/docker/radiko】で代用しているという意味です。
要約画面では「ウィザード終了後、このコンテナを実行」にチェックを入れて「完了」を選択します。これで全ての設定が完了し、Podcastの配信サーバーが立ち上がった状態になります。
手順④ Podcast Serverを確認する
ブラウザを立ち上げてアドレス欄に「http://NASのローカルIP:設定ポート/」と入力すると、設定が正常に完了していればPadcast Serverが表示されるはずです。このアドレスは手順②の全般設定⇒詳細設定内の「APP_ROOT_URL」に記入したアドレスが該当します。
画面上の「RadikoRec」という名前は録音ファイルのプロパティの「アルバム」の欄がそのまま表示されます。この名前がPodcastの番組名になります。「アルバム」の名前については録音ソフトで設定可能です。ラジオ番組ごとに別々のPodcast番組にしたい場合は、それぞれ別の「アルバム」名を設定する必要があります。
Podcast番組名をクリックするとRSSフィードが作成された画面が表示されます。この時に表示されたURLがPodcast配信用のアドレスになっています。
通常、「http://NASのローカルIP:設定ポート/feeds/〇〇〇.xml」となっているはずです。このアドレスをメモ帳などにコピーしておきます。
手順⑤ iPhoneの設定
iPhoneをNASと同じローカルネットワーク内のWi-Fiに接続後、Podcastアプリを立ち上げて下メニューのライブラリをタップします。
右上の【・・・】をタップします。
サブメニューが表示されるので、番組URLで追加…をタップします。
手順④で確認したPodcast番組のURLを入力します。
無事にPodcast番組が追加されました。
まとめ
これでSynology NAS上でPodcast Serverが立ち上がり、録音されたラジオ番組が自動的にPodcast配信されるようになりました。iOSのPodcastアプリで自動ダウンロードをONにしておけば、寝ている間に勝手に同期してくれます。
ただし、Podcast配信されているのはNASと同じローカルエリア内のWi-Fiに接続されているときに限られます。
SynologyのNASであれば設定次第でローカルエリア外へも簡単に配信できてしまいますが、ラジオ音源は著作物に該当する事から決してグローバルに配信しないよう、個人的に楽しむだけに留めておくことが重要です。