2020年7月23日木曜日

raspberrypiでラジコを録音

raspberry pi 4 の4GBバージョンが手元にある。
これをつかってはじめてraspberrypi osをセットアップした。
roon brigeをインストールしてroonを使うのがメインであるが、せっかくはじめてraspberrypi osをセットアップしたので、他にも使ってみようということで、radikoを録音するようにセットアップしてみることにした。

radikoを録音する

参考にしたのは次のサイトです。
ラズパイでラジオをタイマー録音〜Google ドライブ転送
https://qiita.com/yuppejp/items/04a904ee183dc69dcb73
ネットを検索するとどうやら録音用のスクリプトがgitで公開されているようです。
ありがたく使わせてもらうことにしました。

その前に、実行に必要なファイルをインストールしておきます。
sudo apt install rtmpdump swftools libxml2-utils ffmpeglibavcodec-extra
実際に実行するスクリプトは
$git clone https://gist.github.com/3956266.git
 でダウンロードできます。自分は、wget でスクリプトだけをホームディレクトリにダウンロードしました。

実行権を与えます
$ chmod 755 rec_radiko.sh
 試しに次のように起動してみます。
./rec_radiko.sh TFM 1 . test
YFM:放送局の指定、YFMは横浜FM
1:1分間録音する
.:出力先ディレクトリの指定
(但しあらかじめディレクトリを作成しておく必要があるみたいです)
test:ファイル名の頭に付け加える文字列

カレントディレクトリに無事に録音ファイルが保存されることを確認したら、参考にしたサイトを真似してgoogleドライブに転送する設定をしようとしました。

ですが・・・・・

うまくいきません。
どうやら、googleのほうで、このアプリの認証を一時的に停止しているようです。
ということは、この方法ではgoogleドライブには転送できません。

なので、、、、

DropBoxに転送するようにしました。

録音ファイルをDropBoxにアップロードする

Webで検索してみると、どうやら dropbox_uploder.shというスクリプトがあるようです。これも有り難く使わせてもらうことにしました。
sudo git clone https://github.com/andreafabrizi/Dropbox-Uploader/ 
使い方は、
【Dropbox】scriptを使用してのファイル転送処理
https://qiita.com/Dace_K/items/890e9f2fe93a66ec8e56
を参考にしました。

スクリプトに追加して自動化

さて、録音したら、全自動でDropBoxへアップされると便利です。
なので、スクリプトをちょこっとだけ改変して、実現することにします。

デフォルトでは、2番目の引数で保存ディレクトリを指定しそこに保存するようになっています。それをカレントディレクトリに固定します。
rec_radiko.shの後ろのほうの
ffmpeg -loglevel quiet -y -i "/tmp/${channel}_${date}" -acodec libmp3lame -ab 128k "${outdir}/${PREFIX}_${date}.mp3"

↓ ${outdir} をカレントdir  ./ に固定します

ffmpeg -loglevel quiet -y -i "/tmp/${channel}_${date}" -acodec libmp3lame -ab 128k "./${PREFIX}_${date}.mp3"
DropBoxにアップロード
引数で指定した保存ディレクトリはDropBoxのディレクトリに反映させるようにします。
# upload
 ./dropbox_uploader.sh upload ./${PREFIX}_${date}.mp3  ${outdir}/
 rm ./${PREFIX}_${date}.mp3
上記の記述をffmpegのあとに付け加えます。
アップロードが終わったらローカルのファイルは削除します。エラー判定はしていないので、エラーの時はちょっと動きがつかめませんが、たぶん大丈夫でしょう。

AppleTV A1469でAirPlayが使えずハマったのでメモ

ハー○オフでAppleTV第3世代を手に入れた 破格の1650円だったので迷わず購入 ボードの上にあるのが第2世代、そして、アンプの隣にあるのが今回のターゲット。 今まで第2世代のAirPlayを使ってRoonのレシーバとしていた。 特に問題なく動いていたのだが、なにぶん設計が古...