##経緯
タイムフリーであっても聞き忘れがよくあるどうにかならないか…
↓
偉大な方々がradikoを録音するスクリプトを公開している!!!
↓
用途未定のRaspberry Pi 3B+発見
↓
スクリプトを加えて自動でRaspberry Pi本体に録音させる!!
↓
外でも聞きたい
↓
Google Driveにアップロードして外出先で楽しむ
##今回使用するもの
curl
Xmllint
FFmpeg
rec_radiko_ts
cron
gdrive
##カレントディレクトリの確認
pi@raspberry:~ $ pwd
の実行結果が /home/pi であることを前提に記載します。
##FFmpegのインストール
pi@raspberry:~ $ sudo apt-get install ffmpeg
##Xmllintのインストール
pi@raspberry:~ $ sudo apt-get install libxml2-utils
##レポジトリ「rec_radiko_ts」をクローン
pi@raspberry:~ $ git clone https://github.com/uru2/rec_radiko_ts
##好きな番組を録音するスクリプトを書く!
サンプルは全国で聴取可能な「ラジオNIKKEI第2」の
「RN2 8 朝は音楽のシャワーから」です。
#RN2はラジオNIKKEI第2 ※この部分は放送局により異なる
u="http://radiko.jp/#!/ts/RN2/"
#rは番組放送日時後で自動実行するので変数表記
r=`date +%Y%m%d`
#lは番組開始時間表記は"HHmmss"
l="080000"
#Dは保存先ディレクトリ
D="/home/pi/Radiko/"
#Bはファイル名に付与する放送局名
B="[ラジオNIKKEI第2]"
#Tはファイル名に付与する番組名
T="_朝は音楽のシャワーから.m4a"
#PATH通せば書き方変えれるけど面倒…
sh /home/pi/rec_radiko_ts/rec_radiko_ts.sh -u $u$r$l -o $D$B$r$T
保存先を /home/pi/MorningMusicShower.sh にしておく
(パスを通す作業工程を省略するため)
##gdriveの初期設定
griveの設定は「サーバのバックアップファイルを Google ドライブに退避させる」を引用しています。
pi@raspberry:~ $ wget -O drive https://docs.google.com/uc?id=0B3X9GlR6EmbnVXNLanp4ZFRRbzg
pi@raspberry:~ $ sudo mv drive /usr/sbin/drive
pi@raspberry:~ $ chmod 755 /usr/sbin/drive
drive コマンド初回実行時に認証用の URL が出力され、認証キーの入力が求められる。
別途ブラウザから出力された URL にアクセスして認証コード取得してコピペしてあげればいい。
※下記の認証用 URL はダミー
pi@raspberry:~ $ drive about
Go to the following link in your browser:
https://accounts.google.com/o/oauth2/auth?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=state
Enter verification code: (認証コード入力)
##Google Driveへアップロードを追記する
#RN2はラジオNIKKEI第2 ※この部分は放送局により異なる
u="http://radiko.jp/#!/ts/RN2/"
#rは番組放送日時後で自動実行するので変数表記
r=`date +%Y%m%d`
#lは番組開始時間表記は"HHmmss"
l="080000"
#Dは保存先ディレクトリ
D="/home/pi/Radiko/"
#Bはファイル名に付与する放送局名
B="[ラジオNIKKEI第2]"
#Tはファイル名に付与する番組名
T="_朝は音楽のシャワーから.m4a"
#PATH通せば書き方変えれるけど面倒…
sh /home/pi/rec_radiko_ts/rec_radiko_ts.sh -u $u$r$l -o $D$B$r$T
/usr/sbin/drive upload $D$B$r$T
#アップロード先のフォルダ指定は
#drive --parent "Folder ID" $D$B$r$T
#"Folder ID"はdrive listで確認
#アップロードしたらファイルを削除
#アップロードに失敗することが意外と沢山ある…ので消さない…
#rm -r $D$B$r$T
##定期実行「cron」の設定
#以下コマンドのpiはユーザー名
pi@raspberry:~ $ crontab -u pi -e
出てきたEditで追記する!
#番組終了後30分後に動作開始タイムフリーの制約?で
#分 時 日 月 曜日 コマンド
30 09 * * 1-5 sh /home/pi/MorningMusicShower.sh
曜日は0と7が日曜日で1が月曜日…なので1-5は平日(月~金)の9時30分にMorningMusicShower.shを実行する!的な感じです。
##謝辞・参考・引用
https://github.com/uru2/rec_radiko_ts/
https://qiita.com/aviscaerulea/items/53123ce5b79c80e31a71
https://github.com/prasmussen/gdrive