rfriendsでラジオ録音

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

rfriendsの状況

f:id:rfriends:20170512091958j:plain  rfriends (Windows, Linux, Raspberry Pi OS,macOS,termux対応)

rfriendsというラジコやらじるらじるを録音するソフトを作っています。タイムフリー、エリアフリー、聞き逃し、ゴガクにも対応。

rfriends3(Ver. 1.0.0)のインストール方法はこちら


 このブログでは詳細な技術情報を発信します。

WordPress インストール、マニュアルはWPにまとめました

X(twitter)

リリース情報、障害情報、TIPS等を発信します

掲示板 質問、要望などはこちらにおねがいします
レスキュー システムの起動不可等からの回復はこちら。

rfriendsをワンコインで応援してください。
・PayPay 送金
 PayPayID  :  rfriends

amazonギフト(そのままだと高額になるので要注意)
 https://www.amazon.co.jp/dp/B09TVHNLHX
 email  :  rfriends2017@ymail.ne.jp

 



rfriends3のインストール手順 (Ubuntu/debian+lighttpd+samba編)

 rfriends2はCLIベースでしたが、rfriends3はWEBベースで操作が簡単になっています。
webサーバにlighttpd、ファイル共有にsambaを採用したUbuntu版です。インストールは全自動で行うので、とても簡単になっています。

初 版 2024/02/23

第3版 2024/02/25

1.テスト環境

 以下のバージョンで確認しました。Ubuntuは新規インストールし、日本語設定後、何も手を加えない状態でテストを行っています。

rfriends3 1.0.1

ubuntu 22.04 LTS (CUI環境でもOK)

lighttpd 1.4.59 1.4.69

Firefox 110.0(64ビット)

2.確認事項

 以下を確認し、インストール可能かどうかを判断してください。

ubuntu/debianのバージョン

ffmpegのバージョンが古い(Ver.4.3未満)と、-http_seekableオプションが使えず、らじるらじるの聞き逃し録音に失敗します。

ubuntuであれば、Ver.22.04以上

debianであれば、Version11(bullseye)以上

をお勧めします。

sudoが可能なユーザ

実行ユーザにsudo権限があること。

$ groups ユーザ名

表示されるグループ名の中にsudoがあることを確認してください。 ない場合は、rootで権限を付加してください。

# gpasswd -a ユーザ名 sudo

タイムゾーンと現在時刻の確認

$ date
Sun 25 Feb 2024 07:06:16 AM JST

タイムゾーンを確認してください。 末尾がJSTになっていなかったら、

$ timedatectl set-timezone Asia/Tokyo 

で日本に変更してください。 これを忘れると、予約録音が始まりません。

その後、再び時刻が正しいことを確認してください。

$ date
Sun 25 Feb 2024 07:07:16 AM JST

3.rfriends3のダウンロードとインストール

sudoが可能な任意のユーザでログインします。

Terminalを開き、以下のリンクよりinstall用zipファイルをホームディレクトリにダウンロードし、解凍します。URLが長いので、ブラウザでURLを右クリックし、ホームディレクトリに保存すると簡単です

$ cd ~
$ sudo apt -y install wget unzip <-- このコマンドが存在する場合は不要
$ wget http://rfriends.s1009.xrea.com/files3/rfriends3_ubuntu_full.zip

$ unzip rfriends3_ubuntu_full.zip

以下を入力し、インストールを行います。各種ツールがインストールされ、ホームディレクトリにrfriends3ディレクトリが作成されます。

$ cd rfriends3_ubuntu_full
$ sh rfriends3_ubuntu_full.sh

これでインストールは完了です。

4.rfriends3の実行

以下を入力します。ipコマンドがない場合は、ifconfigを使用してください。

$ ip - 4 -br a
 lo   UNKNOWN 127.0.0.1/8
 eth0 UNKNOWN XXX.XXX.XXX.XXX/24

このIPアドレス(XXX.XXX.XXX.XXX)がwebサーバアドレスです。

 

ウェブブラウザ(edge,chrome,firefox,...)を起動し、上記で表示されたアドレスにアクセスする。

http://XXX.XXX.XXX.XXX:8000

以下のような画面が出たら成功です。ブラウザはローカル(現在実行中のPC)でもリモート(同一ネットワーク上のPC,MAC,スマホ等)でもOKです。

「ヘルプ」「システム更新」でシステムを最新にしてください。

 

5.samba

 windowsの場合、エクスプローラに先ほどのIPアドレス(xxx.xxx.xxx.xxx)を入力すれば、録音ディレクトリにアクセスできます。smbdirというディレクトリが見えると思います。

\\XXX.XXX.XXX.XXX

\\は¥¥です。

スマホからでもファイルマネージャでアクセスできます。

iPhoneの場合、ファイル - 3点リーダー - サーバー接続smb://xxx.xxx.xxx.xxx、ゲストで接続できます。

androidの場合も各種ファイルマネージャで可能です。(ファイルマネージャ+推奨)

6.rfriends3のアンインストール

  1. デイリー処理設定をしている場合は、必ず、「設定」->「デイリー処理」->「取消」をしてください。または、crontab -e です。
  2. rfriends3フォルダを削除してください。
  3. アンインストールは終了です。

7.その他

・外部に公開してアクセスするようにもできますが、セキュリティ上お勧めしません。


以上

 

ブラウザ、SSHCUI)、SAMBA

raspberrypiにおけるrfriends2->rfriends3への移行手順

 以下にrfriens2からrfriends3への移行手順を記述します。

具体的には、キーワード及び設定データをバックアップ、リストアします。

Windows等、他のプラットフォームでも同様の手順で移行できます。

初 版 2024/01/30

二 版 2024/01/31 定期実行

 

1.rfriends2での操作

1.1 各種設定のバックアップ

[8-7-1]キーワードバックアップ
[9-8-1]設定バックアップ

以下の場所に2つのファイルが作成されます。

\smbdir\usr2\kwbackup
kw_20240130_xxxxxx.zip
cfg_20240130_xxxxx.zip

1.2 設定・録音データのバックアップ

smbdir内にある設定・録音データ(usr2)を他の媒体にバックアップする。

録音データが不要の方はusr2/kwbackupディレクトリのみで大丈夫です。

 

以上でrfriends2での操作は終了です。

rfriends2のmicroSDはうまくいかなかったときのために大事に保存しておいてください。

2.rfriends3での操作

2.1 別のmicroSDにrfriends3のイメージを作成

http://ceres.s501.xrea.com/wp_rfriends/index.php/install-rpi/
上記手順に従ってmicroSDを作成する。
rfriends3が正常に動作することを確認する。

rfriends3を最新にupdateする。

2.2 設定・録音データの復元

1-2でバックアップした設定・録音データ(usr2)をsmbdirに戻す。

録音データが不要の方はusr2/kwbackupディレクトリのみで大丈夫です。

2.3 設定の復元

1-1でバックアップした設定を復元する

キーワード ー 復元 usr2\kwbackup\kw_20240130_xxxxxx.zip
設定 ー 復元 usr2\kwbackup\cfg_20240130_xxxxx.zip

 

最後に、再度rfriends3を最新にupdateする。1.0.4a 以降(必須)

また、定期実行(crontab)を行うには、設定-定期実行-登録が必要です。

以上でrfriends3での操作は終了です。

3.その他

rfriends3でもrfriends2と同様にsshでの操作も可能ですが、新しいWEBベースでの操作を試してください。

 

これで移行作業は終了です。
質問、うまくいった、いかなかったを掲示板に投稿していただくと助かります。

掲示板 - rfriends


以上

Raspberry piにUSBデバイスを接続してブートする。(RPI4は除く)

追記)Raspberry pi Zero 2はmicroSDなしのUSBデバイスのみでブート可能でした。

よって、Raspberry pi Zero 2 ではmicroSDは不要です。

 

ここでは、Raspberry pi Zero 2を使用しました。

今回の方法はブートのみmiscroSDでおこない、あとはUSBデバイスを使用するもので、セットアップも普通のやり方とほとんどかわりありません。
注意点としては、電気を大量に消費するUSBデバイスの場合は別途電源が必要です。

また、HDD,SSDを入れるUSBケースも相性があるようです。正常に起動したSSDを別のケースに入れると起動しなかったりします(その逆も)。

 

用意するもの
・ USBデバイスUSBメモリ、HDD,SSDなど)
・ OTGケーブル(micro-B -  USB-A)
microSD(小容量のもので可、例:4GB)


セットアップ手順は以下のとおりです。

 

1) USBデバイスにWin32DiskImager等を使用してraspberryPi OS(rfriends3)イメージを書き込む。書き込み後は、以下のようになると思います。


2) 1)の/bootディレクトリ(FAT32)に設定済のwpa_supplicant.conf(Wifi設定)をコピーする。
3) 1)の/bootディレクトリよりbootcode.binを保存しておく。

4) microSDfat32でフォーマットする。
5) 3)で保存しておいたbootcode.binを4)のmicroSDにコピーする。

6) Raspberry pimicroSDとUSBデバイスを接続し、電源を入れる。
7) 設定に問題なければ、Raspberry piが起動する。
8) ssh等でRaspberry piにアクセスし、USBデバイスの領域拡張を行う。
   sudo raspi-config


以上

rfriends3のインストール手順 (Ubuntu/debian + lighttpd編)

 rfriends2はCLIベースでしたが、rfriends3はWEBベースで操作が簡単になっています。
webサーバにlighttpdを採用したUbuntu版です。
アルファバージョンなので、不具合が多々あると思いますが、人柱だと思ってくださる方は使ってみてください

初 版 2023/08/12

第5版 2023/10/26

1.環境

 以下のバージョンで確認しました。Ubuntuは新規インストールし、日本語設定後、何も手を加えない状態でテストを行っています。

rfriends3 1.00a-a03

ubuntu 22.04 LTS  (CUI環境でもOK)

ubuntu 23.10        (CUI環境でもOK)
lighttpd 1.4.59 1.4.69

Firefox 110.0(64ビット)

 

Ubuntu関して、一つだけ注意点。

$ timedatectl

タイムゾーンを確認してください。 Asia/Tokyoになっていなかったら、

$ timedatectl set-timezone Asia/Tokyo

で日本に変更してください。 これを忘れると、予約録音が始まりません。

2.ダウンロード

Terminalを開き、以下のリンクよりinstall用shをダウンロードする。ここでは仮にホームディレクトリにインストールすることにします。

 $ cd ~/

 $ wget http://rfriends.s1009.xrea.com/files3/rfriends3_ubuntu.sh

3.rfriends3のインストール

以下を入力し、インストールを行う。各種ツールがインストールされ、ホームディレクトリにrfriends3ディレクトリが作成される。

 

 $ sh rfriends3_ubuntu.sh

 

これでインストールは完了です。

4.lighttpdのインストール

4.1 インストール

 $ sudo apt install -y lighttpd php-cgi

 

これでインストールは完了です。

4.2 設定

 以下の2つのファイルを編集します。ユーザ名はmynameとします。

$ sudo vi /etc/lighttpd/conf-available/15-fastcgi-php.conf
以下の1行を修正
"socket" => "/home/myname/lighttpd/php.socket",
以下の1行を追加 fastcgi.map-extensions = ( ".html" => ".php" )

 

$ sudo vi /etc/lighttpd/lighttpd.conf
#server.document-root        = "/var/www/html"
#server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
#server.errorlog             = "/var/log/lighttpd/error.log"
#server.pid-file             = "/run/lighttpd.pid"
#server.username             = "www-data"
#server.groupname            = "www-data"
#server.port                 = 80

server.document-root        = "/home/myname/rfriends3/script/html"
server.upload-dirs          = ( "/home/myname/lighttpd/uploads" )
server.errorlog             = "/home/myname/lighttpd/error.log"
#server.pid-file             = "/run/lighttpd/lighttpd.pid"
server.pid-file = "/home/myname/lighttpd/lighttpd.pid"
server.username = "myname" server.groupname = "myname" server.port = 8000

4.3 起動設定

以下のコマンドを入力します。

$ mkdir -p /home/myname/lighttpd/uploads/
$ mkdir -p /run/lighttpd/
$ sudo chown myname:myname /run/lighttpd/
$ sudo lighttpd-enable-mod fastcgi
$ sudo lighttpd-enable-mod fastcgi-php
$ sudo systemctl enable lighttpd
$ sudo systemctl restart lighttpd

4.4 webサーバアドレス

以下を入力します。

 $ ip a | gerp 'inet '

inet XXX.XXX.XXX.XXX

このIPアドレスがwebサーバアドレスです。

5.rfriends3の実行

 ウェブブラウザ(edge,chrome,firefox,...)を起動し、4.4で表示されたアドレスにアクセスする。

XXX.XXX.XXX.XXX:8000

以下のような画面が出たら成功です。

「ヘルプ」「システム更新」でシステムを最新にしてください。

 

6.rfriends3のアンインストール

  1.  デイリー処理設定をしている場合は、必ず、「設定」->「デイリー処理」->「取消」をしてください。または、crontab -e で。
  2.  録音データは必要であれば別のところに保存してください。
  3.  rfriends3フォルダを削除してください。
  4.  アンインストールは終了です。

7.その他

ubuntu再起動時には、以下を入力するか、,bashrc等に記述してください。

$ sudo chown myname:myname /run/lighttpd/

$ sudo systemctl restart lighttpd

 

外部に公開してアクセスするようにもできますが、セキュリティ上お勧めしません。


以上

dockerで「rfriendsでラジオ録音」rfriends3 版

dockerで「rfriendsでラジオ録音」

 以前、rfriends2版を書きましたが、その改定版です。


 本来、rfriendsはdocker向きではありません。当然ですが、終了すると設定や録音データはすべて消えます。docker環境がある人でrfriendsがどんなものか試してみるにはいいかも。おまけで、ホスト共有を使ってデータが消えないようにする設定も記述する予定です。

 dockerに関しては初心者ですので、突っ込みどころ満載だと思います。

1.docker環境

 docker環境に関しては構築済みを前提に話を進めます。 以下はrootで行って下さい。

2.実行

 Dockerイメージの作成から実行まで。

1)Dockerfile

Dockerfileをダウンロードする。

# cd ~/ 
# wget http://rfriends.s1009.xrea.com/files3/docker.zip
# unzip docker.zip

 

 これはubuntu 22.04にrfriends3をインストールして実行するDockerfileです。
ubuntu 20.04では、ffmpegのバージョンが古く、らじるらじるの聞き逃しで不具合が生じます。 Dockerfileと同じ場所にstart.shを置いてください。

2)Dockerイメージの作成

 実行には時間がかかります。

$ sudo docker build -t rfriends3:latest Dockerfile
Successfully built xxxxxxxxxxxx
Successfully tagged rfriends3:latest

と表示されたら成功です。

3)Dockerイメージ一覧を確認

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE 
rfriends3

4)Dockerコンテナの起動

ホスト側で

$ sudo docker run --rm -it rfriends3:latest

5)rfriendsの実行

ホスト側のブラウザで、172.17.0.2:8000と入力するとrfriends3が表示されます。

まずは、ヘルプ->システム更新でrfriends3を最新にしてください。

172.17.0.2はコンテナのIP アドレスです。

6)終了

$ exit

設定したデータや録音データはすべて消えます。

 

3.データ保存

 共有フォルダを設定することによりこの制限はなくなります。

後日、その方法について記述します。

 

4.その他

 Dockerは同一環境の再現という意味ではとても有用だと感じました。そういう用途のものなので当然ですが。

 

以上

rfriends3のインストール手順(LXD/LXC編)

 LXDでrfriends3の環境を作ってみました。

 LXDに関しては初心者ですので、突っ込みどころ満載だと思います。

1.ホスト側の設定

 ホストはUbuntu 22.04.2 LTSで行いました。

1)LXDインストール

lxd導入済みの場合は飛ばしてください。

# snap install lxd

2)初期化とコンテナ作成

今回は、基本的に省略時設定で進めます。すべてリターンでOK.
初期化して、rfriends3というコンテナを作成します。

# lxd init 
# lxc launch images:ubuntu/22.04 rfriends3

2.ユーザradioの作成

1)コンテナの起動

ホスト側で以下のコマンドを実行

# lxc exec rfriends3 -- /bin/bash

2)ユーザradioの作成

 コンテナ側で以下のコマンドを実行

# adduser radio
# gpasswd -a radio sudo
# exit

3.rfriendsのインストール

1)ユーザradioでログイン

 ホスト側で以下のコマンドを実行

# lxc exec rfriends3 -- su --login radio

2)ssh,timezoneの設定

コンテナ側で以下のコマンドを実行

ssh-serverのインストール

タイムゾーンを日本に設定

$ sudo apt install wget
$ cd ~/
$ rm ./rfriends3_lxc.sh
$ wget http://rfriends.s1009.xrea.com/files3/rfriends3_lxc.sh
$ sh rfriends3_lxc.sh

3)rfriendsのインストール

コンテナ側で以下のコマンドを実行

$ cd ~/
$ rm ./rfriends3_ubuntu.sh $ wget http://rfriends.s1009.xrea.com/files3/rfriends3_ubuntu.sh $ sh rfriends3_ubuntu.sh

4)rfriendsの起動

コンテナ側で以下のコマンドを実行

$ cd ~/rfriends3
$ sh rf3server.sh
XXX.XXX.XXX.XXX:8000

4.その他

以上で、ホストのWEBブラウザから

XXX.XXX.XXX.XXX:8000

でrfriends3が使えるようになります。 簡単ですね。 

 

以上