UbuntuでRadikoの録音をできるようにする

Linux
この記事は約5分で読めます。

埼玉に住むようになってからNACK5のラジオ番組を聞くようになりました。

ラジオ番組を録音するために、現在はHP Compaq 8200 Elite USを自動起動/自動シャットダウンする設定にしていますが、ラジオ番組の録音のためだけにこのパソコンを起動するのは無駄が多く、コロナ禍による在宅勤務の増加も相まって不経済です。

それならば、Syslogサーバーとして常時起動しているNP15で、ラジオ番組の録音をすればよくね?と思ったので、設定をしてみました。

                 

録音したい番組

埼玉県民まるだしのラインナップです。

環境

 

必要なパッケージのインストール

radikoで録音するために必要なパッケージをインストールしておきます。

 

他の方のブログではswftoolsのインストールも必要と書いてありましたが、swftoolsはインストールしなくても録音できました。

 

radiko録音スクリプトの準備~テスト録音

radikoの録音ができるスクリプトをGithubに公開されている方がいるので、そちらを利用させていただきます。感謝。

 

rec_radikoに移動して、rec_radiko.shに実行権限を付与します。

 

以上でひとまず録音準備は完了です。

 

さっそく録音してみます。

↑はNACK5を1分録音するという意味です。

1分後、rec_radiko.shと同じディレクトリ内に.mp3ファイルが作成されて、録音されていることを確認します。

ちなみに第1引数はラジオ局の指定です。

指定できるラジオ局は、radikoのページにあるラジオ局のURLで確認できます。

NACK5の場合、URLは『https://radiko.jp/#!/live/NACK5』なので、NACK5が引数です。

文化放送であれば、QRRといった具合です。

スクリプトの修正

テスト録音で作成されたファイルはこんな感じでした↓
NACK5_2021-05-02-09_37.mp3

ファイルの作成場所と録音ファイル名を自分の好みに合うようにスクリプトを修正します。

 

スクリプトのバックアップ

念のためです。

 

日付形式の変更

ファイル名に付与される日付の形式を変更します。

スクリプトの6行目を変更します。

ハイフン(-)と時間と分を取り除きました。

 

録音ファイルの保存先変更

使用するスクリプトは、rec_radiko.shと同じディレクトリに録音ファイルが保存されます。

録音ファイル専用のディレクトリにファイルが保存されるようにします。

 

録音ファイル名の変更

テスト録音では、”NACK5″と”1″という引数を使いました。

引数に録音したい番組のタイトル名を追加し、ファイル名に使えるようにしました。

変更箇所は2か所です。 まずは1か所目(19~21行目)

2か所目(121行目)

これで3つ目の引数に番組名を使うことで、ファイル名に番組名が入るようになりました。

こんなかんじです↓

ログの保存

なにかトラブルが発生したときにログを見返したいです。

スクリプトの実行ログをとれるようにします。

 

録音のスケジュール設定(Cron設定)

録音したいラジオ番組の開始に合わせてスクリプトが起動するように、cronを設定します。

『GOGOMONZ』と『HITS! THE TOWN』を録画できるように設定します。

GOGOMONZは、毎週月曜日~木曜日の13:00~17:00放送です。

放送開始前1分の余白を付けているので、時間(分)は241としています。

 

HITS! THE TOWNは、毎週土曜日の12:55~18:00の放送です。

こちらも放送開始前1分の余白を付けているので、時間(分)は306としています。

感想

スクリプトのおかげでとても楽ちんに録音ができるようになりました。

GOGOMONZの月曜日放送分を録音できたことを確認しましたが、気になることが1点。

それは録音終了後のmp3へのエンコード速度です。

NP15はAtom D525という省電力CPUを搭載していますが、処理性能としては低いです。

mp3へのエンコードするためのffmpegのプロセスが、CPU使用率が100%に近い状態で40分くらいかかっていました。

録音したい番組の放送時間が重複していないので今のところは問題なさそうですが、そもそもmp3形式で保存する必要があるのかも含めて考えないといけないかもです。

録音ファイルサイズ大きすぎる問題を解決しました

 

私なりの結論です。

コメント

タイトルとURLをコピーしました