LoginSignup
9
15

More than 5 years have passed since last update.

[備忘録]radikoタイムフリーを録音しクラウドへアップロード

Last updated at Posted at 2019-02-12

経緯

タイムフリーであっても聞き忘れがよくあるどうにかならないか…

偉大な方々が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 朝は音楽のシャワーから」です。

MorningMusicShower.sh
#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へアップロードを追記する

MorningMusicShower.sh
#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

9
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
15