rfriendsでラジオ録音

ラジコ、らじるらじる、タイムフリーのラジオ番組を録音

最新の状況 (2019/12/08)

 最新版は : 2.6.4 (Windows,Linux,Raspbian,Catalinaで動作) 「 ダウンロード


 OSX対応、NHKらじるらじるの聞き逃し対応。raspberryをBusterLiteに変更。GoogleDrive対応、オンラインアップデート,再生機能。マニュアルは古いままです。


 現在、Raspberry Pi Zero W を絶賛おすすめ中!(低価格、低消費電力、24H稼働)
イメージをmicroSDに書いて起動するだけでラジオサーバの出来上がり
詳細:「Raspberry Pi 用イメージの使い方
参考:「Raspberry Pi Zero W 購入ガイド


Twitter @rfriends2017 

rfriends2 2.6.4リリースしました

 

 今回の2.6.3からの変更点は以下のとおりです。


1.MacOSX Catalina対応

 Windows/Linux/Raspbian に続いてMacOSX Catalina対応しました。
 インストール方法はHomebrewをインストール後、rfriends2ディレクトリにある ex_tools_osx.shを実行してください。


2.メニュー構成の変更

 らじるらじる聞き逃し機能を独立。
 パラメータ、デイリー設定を統合。
 地域更新を[2-8]に移動。(従来はメニュー状態でrを入力)
 その他


3.[9-1]ディレクトリ表示

 各種ディレクトリ一覧および表示機能を追加しました。簡単な確認に使用ください。
 テキスト及びm4aファイルの再生対応(sshアクセス時は除く)

 表示は日付の新しい順です。

 [7-2]でrfriends.iniを変更することにより好みのプレーヤに変更できます。

 標準プレーヤは以下のとおり。

$default_editor_cui_win = '';
$default_editor_gui_win = $bindir.'terapad';
$sdefault_nd_player_win = 'wmplayer';

$default_editor_cui_osx = 'nano';
$default_editor_gui_osx = 'TextEdit.app';
$default_snd_player_osx = 'quicktime player.app';

$default_editor_cui_lnx = 'nano';
$default_editor_gui_lnx = 'gedit';
$default_snd_player_lnx = 'totem';


4.[2-7][3-3][4-7][5-2]に再生メニューを追加

 m4aファイルの再生対応。(sshアクセス時は除く)


5.[7-2]設定項目の追加

1)access_type = 0 ; 0:gui/cui自動判別 1:強制cui

 GUI/CUI環境の判定。判定がおかしい場合は、access_type = 1 (強制cui)で使用してください。

2)rfriends_name= ''

 メニューに表示される名前。

 [catalina] 番号を入力してください (1-9,end=x) :

3)download_aac = 0

 1と設定すればaacでダウンロード後、m4aに変換します。0の場合は直接m4aでダウンロード。
 非公式な機能として、ダウンロード中にtmp領域にあるaacファイルで追っかけ再生ができるようです。ただし、osxでは再生できましたが、Windows/Linuxではアクセス違反、file in useの警告が出て再生できません。この機能による障害については対応不可です。


6.[7-4]エディタの初期化に変更

 メディア再生に伴う変更として、従来、[7-7]エディタの変更から、[7-4]エディタの初期化に変更。


7.[9-2]使用量

 現時点での録音データの使用量を表示します。1日当たりの平均録音量(目安)も表示します。


8.[9-3]システム更新機能の改良

  こんな感じで、アップデートを選択できます。

現在   : 2.6.3h
1.通常版  : 2.6.3h
2.開発版  : 2.6.4beta1

人柱覚悟の方は2を選択してアップデートしてください。


9.atコマンドのキューの変更

 linux,RaspberryPiユーザの方のみ(Windowsユーザは変更なし)
 従来、atコマンドではキューとしてc,Cの2つを使っていましたが、安定性のためにc,dを使うようになりました。
 アップデート前に必ず、[2-1] で予約をすべて削除してください。忘れてアップデートした方はもう一度通常版に戻して削除してからアップデートしなおしてください。


10.radiko_ng_stationのバグ修正
 
 radiko_ng_station機能が作用していないというバグがありました。これを有効にすることにより、放送大学が録音対象になります。もし、対象外としたい方は[6-1]でradiko_ng_station セクションに

HOUSOU-DAIGAKU

を追加してください。


11.その他

1)sshアクセス

  sshでもGUIフォワーディングができるようですが対応していません。
 また、telnet接続の場合の判定はしていません。sshを使用してください。

 OSXssh経由でアクセスすると、vimやnanoで日本語が文字化けします。picoだと文字化けしないとのことです。(未確認)

~/.zshenvに以下の行を追加してください。

$ nano ~/.zshenv
export LANG=ja_JP.UTF-8


2)新しい設定項目

 新規、あるいは[7-3]初期化をすると[7-2]に新しい設定項目が出てきます。すでに変更している場合は、手動で追加してください。現在の変更内容をどこかに保存し、[7-3]の初期化後、再度変更することをお勧めします。


3)ライトメニュー

 ラジコタイムフリーとらじるらじる聞き逃しがダウンロードできればいいという人向けにライトメニューを用意しています。表示上で少なくしているだけなので、機能は変わりません。

 rf2lite.bat(.sh)を実行してください。


4)アップデートエラー

 アップデートしたら、エラーメッセージが出て起動できなくなった方は、rfriendsをインストールしたディレクトリで rf_up を実行し通常版にアップデートしてください。

[Windows]

cd rfriends2
rf_up.bat


[Linux]

$ cd rfriends2
sh rf_up.sh

ちなみに、rf_up.bat(.sh)は本体がバグ等で起動しなくなった場合のエマージェンシープログラムです。本体に依存せずに変更を極力しないようにしています。


5)radiko,radiruの録音で頭や後ろが切れるという方はマージンの見直しが必要ですが、たいていの場合PCの時間が正確になっていないようです。[9-6]で確認してdiffが大きく違っているようなら時間を設定しなおしてください。

NTP : 2019/11/23 11:17:45
PC : 2019/11/23 11:17:45 (diff : -0.84)


6)gdrive機能が使用不可

 現在、使用しているgdrive アプリではGoogleDrive の認証ができなくなっているようです。認証しようとすると「このアプリでは「Google でログイン」機能が一時的に無効」と表示されます。

https://github.com/gdrive-org/gdrive/issues/514

というわけで、アプリを変更しなければいけなくなるかもしれません。skickaに変更するにしても時間がかかるので、当面はこの機能は使えないということになります。


以上です。

大したことはないけど、アイデアがひらめきました

要望に上がっています、エラー発生時のアラームが欲しい件について

 

 いろいろ考えたんですが、ダウンロード終了/異常時に特定のbat(sh)を呼ぶというのはどうでしょう。標準ではメッセージ出力をするようにしておきます。あとは好きにしてくださいというやつです。

 

 ただし、こういう機能って当然サポートはできないし、いろいろとむつかしいんですよね。ということで、もうすこし考えます。

sshからのアクセスを判定

 sshからのアクセスかどうかを判定しGUIアプリの起動を防止しました。

 今回、原始的ではありますが親をたどっていくという方法をとりました。結果、3回親をたどってようやくたどり着くことができました。なんか、もっと簡単な方法(lsof,netstat)がありそうですが、ご存じの方は教えてください。


exec('ps ax -o pid,ppid,command');
を実行。このプロセスのPIDが8915です。

PID PPID COMMAND
8915 8908 php /home/pi/rfriends2/script/rfriends.php
8908 24982 sh rfriends2.sh
24982 24979 -bash
24979 24968 sshd: pi@pts/2

?

sshではGUIフォワーディングもできるようですが、今回はパス。

 また、telnet接続の場合の判定はできていません。下記のように、loginとなりguiのterminalとの区別ができません。telnetd:になればよかったのですが。今回はtelnetのサポートは見送ります。というか敢えてtelnetを使うメリットもありませんし。

PID PPID COMMAND
10129 10114 php /home/pi/rfriends2/script/rfriends.php
10114 10096 sh rfriends2.sh
10096 10086 -bash
10086 10085 login -h 192.168.1.153 -p

GoogleDrive のOAuth認証ができなくなっているようです。

 使用しているgdrive アプリではGoogleDrive の認証ができなくなっているようです。認証しようとすると「このアプリでは「Google でログイン」機能が一時的に無効」と表示されます。

https://github.com/gdrive-org/gdrive/issues/514

というわけで、アプリを変更しなければいけなくなるかもしれません。skickaに変更するにしても時間がかかるので、当面はこの機能は使えないということになります。

らじるらじるの全録に挑戦(リターンズ)

 以前、NHKらじるらじるの第2放送の全録に挑戦しました。
今回はこれに 2.6.3gより追加した同一番組名チェック機能を加えて挑戦してみました。

 結果、録音のダブりがなくなり非常に良い結果となりました。

 ただし、注意事項があります。違う内容で同一番組名のものが存在することです。
[MENU 6-1]局指定の最後に以下のセクションを追加してください。
ここに書かれたワードが番組名に存在するものはダブって録音されます。ほかにもあれば追加する必要があります。
 はっきりしているのは語学番組には有効だけど、ほかのCHでは有害な機能だということです。
 それ以外の用途の人はこの機能はOFFのままがいいと思います。あまり例外ワードが多くなるようだと、この機能は廃止するかもしれません。

:exception_program
#
ニュース
天気予報
交通情報
ラジオ体操
気象情報
株式市況
名曲の小箱
イマジネーター