2019年10月11日金曜日

ラズパイ18

Linux環境でラジオ録音ってどうするのかな?と調べたら、「rfriends」というのを見つけた。ラジコ録音とラジコタイムフリーダウンロードが出来る一石二鳥ソフト。端末上にメニューが出て設定が出来るので、使い方は簡単だった。

http://rfriends.hatenablog.com/entry/radiko_radiru_Linux

インストールは私の場合は以下とした。

インストール先:/home/pi/rfriends2
手順は公式に則る。ただし記載ミスもある。(この手のサイトにありがちな、小さな罠なのかな。)
http://rfriends.hatenablog.com/entry/radiko_radiru_Linux#%EF%BC%92-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%ABRaspberry

1.インストール実行
sh /home/pi/rfriends2/ex_tools.sh

途中での質問は「y」で進める。私が聞かれたのは以下。

・PHP7.0をインストールするか7.3をインストールするか
→7.0をインストールをyした
→再び7.3インストールするかを聞かれたのでyとした
・ffmpegをインストールするか
・at, gpac, swftools,mp4v2-utils
→当然y

完了すれば「finished」と出る。

2.ramdiskの設定(ここから191007)
sudo nano /etc/fstab

最後に以下を追加するのだが、公式ではramdisk256MBで設定しているとか書いてあるが、何故かコピペしようとしたら、フォルダがrfriend/tmpになってるし、512mになってるし...そこを直したのが以下。

# /home/pi/rfriends/tmp をRAMディスクにマウント
tmpfs /home/pi/rfriends2/tmp tmpfs defaults,size=256m,noatime,mode=0777 0 0

編集が完了したらマウントする
sudo mount -a

3.デスクトップに実行用シェルスクリプトを作る
go-rfriends.shという空ファイルをデスクトップに作成したら、実行権限を与える。
chmod 777 /home/pi/Desktop/go-rfriends.sh

手順は逆かもだが、「sh /home/pi/rfriends2/rfriends2.sh」という内容のシェルスクリプトにする。以下で編集するです。
sudo nano /home/pi/Desktop/go-rfriends.sh

4.タイムフリーをダウンロードしてみる
上記のショートカット的シェルスクリプトを端末上で実行する。
そうすると、rfriendsのメニューが出る。
4でタイムフリーのダウンロード。キーワードを入れたら該当番組がリストアップされるので、0で全部ダウンロードしてみよう。
これでダウンロードが出来たら一応完成。

5.キーワード
キーワード登録をタイムフリーにしてみよう。6だ。ようはテキストファイルにキーワードが書いてあるので、それを編集すれば良い。ただし、デフォでお約束な番組がサンプルとして記載されているので、何も気にせずcronで実行してたら、キーワードに該当するものがガンガン保存されていて驚く事でしょう。タイムフリーサンプルとして「深夜の馬鹿力」とか「とらじおと」とか、まさしく私が録音しようとしていたものが記入済みだったw。あとはラジコとかタイムフリーとか一式有効になってて、それぞれサンプルキーワードが入っているので、プレミアム以外の所は一通り設定確認してからcrontabした方が良いです。

6.ファイル名の変更
7の5 タグ編集だ。デフォで「放送局名_番組名_開始時間_終了時間.m4a」というファイル名設定されているのだが、ファイル名順≒日付順とするよう直した。
nm_fmt = '%4$s_%5$s_%1$s_%2$s' ; 放送局名_番組名_開始時間_終了時間

nm_fmt = '%1$s_%2$s_%4$s_%5$s' ; 開始時間_終了時間_放送局名_番組名

7.保存先
7の2 設定編集だ。録音ファイルを自動でUSBHDD等に移動するなら、以下のところを変更する。(7.パラメータの編集でrfriends.iniを編集できます。直接やっても良いけど)

; -----------------------------------------------------------------
; 録音ファイルを指定ディレクトリにコピー(移動)します。
;
; iTunesの場合は、
; rftrans=1 (rftrans=2は指定しないでください。)
; rftrans_dir=
; "C:\Users\*****\Music\iTunes\iTunes Media\iTunesに自動的に追加"
; を指定してください。
;
; ディレクトリ指定の場合は
; rftrans =2
; rftrans_dir= "希望するディレクトリ"
; を指定してください。局別番組別ディレクトリに分けて転送されます。
;
rftrans = 2 ; 0:off,1:iTunes,2:局別番組別
rftrans_dir = "/media/suzyusbhdd/Public/rfriends" ; ディレクトリ
rftrans_radiko = 2 ; radiko  (2:move 1:copy 0:off)
rftrans_radiru = 2 ; radiru  (2:move 1:copy 0:off)
rftrans_timefree = 2 ; timefree (2:move 1:copy 0:off)
rftrans_radiru_vod = 2 ; radiru_vod (2:move 1:copy 0:off)
rftrans_codec = 0 ; codec (1:mp3 0:m4a)
rftrans_codec_opt = "-movflags faststart -acodec mp3 -ab 128k -f mp3" ; codec_opt(ffmpeg parameter)
; -----------------------------------------------------------------

8.crontab
使い方も含め「/home/pi/rfriends2/rfriends2.txt」を見よう。サンプルの文言の最後の行をcrontabに追加すれば良いんだけど、毎朝5時10分になったらrfriendsを実行するようなサンプルになっていた。まさに深夜放送が終わった後にタイムフリーでダウンロードする事を想定したようなサンプルだw
私はこんな感じ↓
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
BASE_DIR=/home/pi/rfriends2
# m h dom mon dow command
10 5 * * * sh $BASE_DIR/script/ex_rfriends.sh

というワケで、情報こそ少ないかもしれないが、説明やiniファイルを一通り読めばインストールも設定も難しくなく、「rfriends」はとても優秀です。

【rftiends雑感】
推奨環境がラズパイZERO Wという理由がよく分かった。ラジオ録音に必要なものは以下。
・Raspberry PI ZERO W
・MicroSD 32GB(始めるだけなら8GBも可)
・電源アダプタ(古いスマホ充電器でも動くと思う)
・電源ケーブル(100均のかAndroid端末の古いヤツ)
ケースは電源ケーブルの穴さえ空いていればOKなので、フリスクやミンティアの空き箱に基盤を入れても良いw。結局ね、ZERO Wだけ買ってきて、どこのご家庭でも余っている32GBのMicroSDを挿して、どこのご家庭でも余ってる5Vアダプターで動かし、家WiFiにぶら下げれば良い。1時間あたり20MB・使用可能領域24GB・月5週・毎週10時間録音するとして計算すると

 20000MB/(5*10*20MB)=24か月分

という長期間録音が可能になるので、年一で古いデータを削除すれば良いだろう。あとは録音ファイルが入っているところをSamba共有しておき、AndroidだったらFolderSyncってアプリで同期スケジュールを設定しておけば完全自動で転送完了だ。iPhoneだとDocuments by Readdleで必要な時に同期させれば良さそう。要らないはずなのにラズパイzero wが欲しくなりますw

0 件のコメント: