はじめに
- ラジオ好き。もちろんRadikoプレミアム
- WindowsをRadiko録音アプリでラジオ録音サーバにしてGoogle Driveに保存して、iPhoneで好きな時に聴いている
- タイムフリーでいいじゃんという意見もあるけど、1週間忘れることがある。録音したい
- RadikoアプリはCMを流す必要があるため、早送りが弱い
- Google Driveは音声も再生できるし、早送りも大丈夫。倍速とかはできないけど
湘南ビーチFM
-
湘南ビーチFMというコミュニティFMラジオ局がある
聴くには - Webページ
- SimulRadio(サイマルラジオ)
- TuneIn Radio
- ストリーミングURL
https://shonanbeachfm.out.airtime.pro/shonanbeachfm_c
http://shonanbeachfm.out.airtime.pro:8000/shonanbeachfm_c - radikoで聴けないので録音ができない
で、Na Praiaを録音したい
- ブラジル音楽をよく聴くので、鎌倉のカフェ「カフェ ヴィヴモン ディモンシュ」のマスター堀内隆志さんが湘南ビーチFMで日曜15時からやっている「Na Praia」を録音したい
- 30分の番組。いつも聴きそびれる
Ubuntuで録音する
- Windowsでやっても面白くないので、Ubuntu Serverで録音する
- Raspberry PiにUbuntu Server 24.04 LTSをインストール
- ラズパイじゃなくてもなんでもいい
- Ubuntuについてのセットアップは割愛
[準備]UbuntuにGoogleドライブをマウント
↓ここを参考にGoogleドライブをマウントする
ストリーミングを録音する
前述の通り、湘南ビーチFMはストリーミングで聴くことができる。ストリーミングはffmpegで録音できる
ffmpegのインストール
sudo apt install ffmpeg
シェルスクリプト
シェルスクリプト[na_praia_rec.sh]を作成。
~/na_praia_rec.sh
pico na_praia_rec.sh
中身はこれだけ
~/na_praia_rec.sh
#!/bin/sh
# ストリーミングのURLはどちらでも良い
url='https://shonanbeachfm.out.airtime.pro/shonanbeachfm_c'
# url='http://shonanbeachfm.out.airtime.pro:8000/shonanbeachfm_c'
# 出力先はマウントしたGoogle Drive
outpath='/home/hogehoge/mnt/gdrive/'
# ファイル名のフォーマット
fn=`date "+%Y_%m%d_%H%M%S_Na_Praia.m4a"`
# 録音時間(30分+前後1分=>32分=1920秒)
sec=1920
# 録音コマンド(ログは捨てる)
ffmpeg -i $url -t $sec -vn -ac 2 -acodec aac $outpath$fn > /dev/null 2>&1
保存したら実行権限をつける
chmod 755 ~/na_praia_rec.sh
テスト
シェルスクリプトを実行
./na_praia_rec.sh
確認
プロセスが表示されていればOK
ps aux | grep ffmpeg
hogehoge 5009 29.3 10.8 676684 100028 pts/0 RLl 20:41 0:20 ffmpeg -i https://shonanbeachfm.out.airtime.pro/shonanbeachfm_c -t 1920 -vn -ac 2 -acodec aac /home/hogehoge/mnt/gdrive/2025_0518_204123_Na_Praia.m4a
ファイルサイズが増えているか
lsを何秒か毎に実行してファイルサイズが増えているか確認
ls -la mnt/gdrive | grep Na_Praia
OKであればテスト終了。プロセスをkill
psで確認したPIDをkill
kill PID
cronに登録する
crontabを編集
crontab -e
毎週日曜日14:59にシェルを起動
crontab
# m h dom mon dow command
59 14 * * 0 /home/hogehoge/na_praia_rec.sh
確認
crontab -l
日曜15時を待つ
余談
- ストリーミングURLが分かれば湘南ビーチじゃなくてもいける気が