rfriendsでラジオ録音

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

rfriends2 2.9.0(安定版)からrfriends2 2.9.1-b27(開発版)の修正内容

 rfriends2 2.9.0(安定版)からrfriends2 2.9.1-b27(開発版)の修正内容をまとめました。

1.バグ修正

1) hrtimeがない場合はmicrotimeを使用するように変更しました。
(PHP7.3.0未満対策)

2) user_process.batファイルの文字コードをUTF -> SJIS(CRLF)に変更。
windowsでユーザプロセスを利用している方のみ)

3) premium radikoNHK-FMの録音ができないバグを修正
radikoでのNHK-FMは常にプレミアムではなくノーマル扱いのため

4) podcastで証明書が古いためエラーになる件に対処。

5) podcastで以下のエラーが出るサイトに対応。
error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small

6) 古い番組予約データの削除をファイル日付から番組日付に変更。
 予約日数を7などに変更していると、例えば1週間前に予約した番組が実行前に削除されてしまうバグに対応。

7) [1-1]録音中止。
中止してもリトライを繰り返していた不具合を修正。

8) updateチェック
検出ミスを修正。

9) 番組名にタブがあって誤動作する件に対処

10) macosユーザのみ
  macos Catalinaでは動作確認にしましたが、
  BigSur,Montereyでは行っていません。

php,ffmpeg,wget,AtomicParsley他はhomebrewでのインストールを前提に固定。
  固定した理由はLaunch対策。
  インストール先はbrew --prefix + bin で取得。
  通常/usr/local/bin/

・予約録音、add tagerrに対処。
・coverartエラーに対処。
・デイリー処理起動のバグ修正。
 [9-3]デイリー処理使用中の方は一旦取消後、登録。

2.機能追加・変更

1) configのバージョンを08に変更。

2) user_processに加えuser_process2を追加。

; user_process  radiko,radiruの録音終了時に起動
; パラメータはログファイル
; user_process2 すべての録音終了時に起動
; パラメータは録音ファイル名
1つにしなかった理由は、
- 既存ユーザ保護
- process1のタイミングでは、最終録音ファイル名が取得できない
- process2のタイミングでは、ログが取得できない
なお、podcastはuser_processの対象外。
transfer処理がONの場合はuser_process2は起動しません。

3) podcast関連

・デイリー処理を最新1週間分から最新1週間分、または最新エピソードに変更。
wgetでエラーになったらffmpegを使用。

・プリセットのチェックを見直し

・ダメ文字、utf8-mac関連の修正等。
  utf8-macとは、macでは「が」などを「か」+濁点で表します。
  従来から対応していましたが、一部見直しを行いました。

・[9-1]にパラメータ追加
; 例:
; podcast_days = 8
; podcast_cnt = 1
; 8日前までのものをダウンロードする。
; ただし最低1個はダウンロードする

4) らじるらじる、ゴガク
2022年度に向け微修正。
[6-2-1]おうちで英語学習の表示順を降順に変更。
ついでに、2020年度分もダウンロード可能に。

5) ジャンル関連
関連個所、[2-5][3-3][4-5][9-4]
vod,gogakuはジャンル情報なし。
ほかにもジャンル情報がないものあり。

らじるは、「ARIB STD-B10 デジタル放送に使用する番組配列情報標準規格」
に準拠していますが、radikoの基準はわかりません。一部似てはいるんですが。

・ログにジャンル表示を追加。
 FMT_山崎怜奈の誰かに話したかったこと。_20220324_1300_1455
  (P007,トーク C008,女性アイドル)

・[9-4]にジャンル一覧表示追加
・[2-1][4-1]予約一覧
番組を選択すると、アーティスト、ヒットしたキーワードを表示。(一つ選択した場合のみ)

6) [8-5]NHK r2の重複番組情報更新。

7) windows版のトップにstandby表示追加。

8) 重複番組。
ログ出力メッセージを一部変更。

9) wgetのパラメータ、inet4_onlyのon/offスイッチを追加。
wget_inet4_only   = 1 or 0
[9-1-2]パラメータ編集で設定可。
ネットワーク接続がうまくいかない場合のみ設定してください。

10) [10-7] ネットワークテスト
nslookupを追加。DNSサーバを表示します。

 Raspiosにはnslookupが入ってないので事前に
 $ sudo apt install dnsutils
 が必要です。

 1. ラジコとの接続状況(ping)
 2. ラジコとのwgetテスト
 3. ラジコとの認証テスト(簡易)
 4. ラジコとの認証テスト(詳細)
 
 5. らじるとの接続状況(ping)
 6. らじるとのwgetテスト

11) インストールシェルの追加
・Rocky Linux 8 (事実上、CentOSの後継)

wget http://rfriends.s1009.xrea.com/files/rfriends2_rocky.sh
sh rfriends2_rocky.sh

CentOS Stream8 
  Rockyと同じスクリプトです。

wget http://rfriends.s1009.xrea.com/files/rfriends2_stream.sh
sh rfriends2_stream.sh

12) デバッグ機能 [9-4]
日付指定でラジコ・らじるの番組表をログに出力する機能を追加
ユーザにはほとんど不要の機能です。

13) [5-3]らじる聞き逃しの検索範囲を全範囲に変更
2週間以上前の番組があるため

14) [9-2]タグに%12を追加。
プレイリスト等の楽曲情報(らじるのみ)


15) updateチェック
使用中の版(安定版、開発版)のチェックに変更。
使用していない側の版のupdateは検出できません。

 10. rfriends2について [.]

- 安定版に一致(無表示)
- 開発版に一致([.])
- update([!])

16) PHP8,8.1対応
非推奨(deprecated)な使い方をしているとエラーメッセージが出ます。

Deprecate implicit non-integer-compatible float to int conversions
floatからintへの暗黙の型変換にE_DEPRECATEDが発生

17) ffmpeg 5.0対応

・録音実行時、ログに使用しているffmpegのversionを表示。
 ffmpeg version 5.0-static ...

Linux,RaspberryPi
ffmpeg-release-amd64-static.tar.xz
ffmpeg-release-armhf-static.tar.xz
https://johnvansickle.com/ffmpeg/releases/

windows
http://ffmpeg-release-essentials.zip
https://gyan.dev/ffmpeg/builds/

macos
ffmpeg-5.0.7z
ffprobe-5.0.7z
ffplay-5.0.7z
https://evermeet.cx/ffmpeg/

18) Termux対応
・アプリ確認を'which'から'command -v'に変更。
 'which'は非推奨のため。

19) premium契約の方のみ
 ログのエリア、キーワード表示をわかりやすく(?)変更しました。
・ Rfriends2 2.9.0.1e [22/03/01(Tue) 01:23:45]
  premium_x  main: JP13  home: JP27
  radiko: JP13,東京都  radiru: tokyo

premium mode 
=1の時、premium
=2の時、premium_x
 mainはpremium_main_station,homeは居住地

3.その他

1) macosユーザのみ
pidofが見つからないというメッセージが表示される方はターミナルで、
brew install pidof 
を実行してください。

2) [8-3-3]エリアフリー
 
:premium_main_station
#JP13
コメントアウトすると、ホームエリア(居住地)に自動設定。

3) ubuntu 20.04 PHP7.4->8.1
 
 $ sudo add-apt-repository ppa:ondrej/php
 $ sudo apt update
 $ sudo apt upgrade

 

以上