rfriendsでラジオ録音

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

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が使えるようになります。 簡単ですね。 

 

以上

余ったandroidスマホでラジオ録音サーバを作ろう (六版)

  Termuxというアプリを使って、余ったandroidスマホでrfriendsを動かしてラジオサーバにしようというものです。もちろん余ってないものでもいいのですが普段使いのものとは分けたほうがいいとおもいます。また、スマホのみで完結することを目標としています。

 なお、これは以下の記事の改定版です。

[Termux] 余ったandroidスマホでラジオ録音サーバを作ろう (四版)

・rfriends2 -> rfriends3
・sambaの削除

初版:2021/01/19
改版:2023/08/01

1.準備

以下のものが必要になります。

1.1 androidスマートホンまたはタブレット(OS 7.0以上)

 スマホがスリープ状態になるとアクセスが遅くなります。スリープ時間を少し長めに設定してください。「開発者モード」を有効にしてスリープしない設定にするとより良いとおもいます。

androidOS7.0未満では動作しません。

1.2 Termux

1) F-droidのインストール

注意) F-Droidは、Android用のFOSS(フリーオープンソースソフトウェア)アプリケーションの ストアです。F-droidに不安を感じる方はインストールしないでください。 スマホで「設定」-「セキュリティ」-「提供元不明のアプリ」をONにし、 https://f-droid.org/ja/ よりF-droid.apkをダウンロードし、インストールする。

2) Termuxのインストール

f-droidを起動し、termuxを検索してインストールする。2023/07/18のバージョンは0.118(118)です。2022/01/11から改定されていません。

1.3 ファイルマネージャー

GooglePlayよりインストールしてください。 ファイルマネージャーはなんでもかまいませんが、 アイコンに「F」が入っているFile Manager Plusが提供元のものがお勧めです。

1.4 Google日本語入力(Gboard)

日本語入力が入っていない場合は、GooglePlayよりインストールしてください。 「設定」-「言語と入力」でインストールしたものを有効にする。

2.設定

これ以降は、Termux内での操作となります。

2.1 updateを実行

$ pkg update
$ pkg upgrade

2.2 termux-setup-storageを実行

termux-setup-storageを実行することにより、ホーム(/data/data/com.termux/files/home)直下にstoregeが作成され、downloadsやsharedといった場所にアクセスできるようになる。

 Termux-setup-storage - Termux Wiki

$ termux-setup-storage
$ ls ~/storage
dcim downloads external-1 movies music pictures shared

うまくいかないときは、Termuxをいったん終了して再起動する。

2.3 各種ツールおよびrfriends3のインストール

termux用のrfriends3インストールスクリプトを実行する。

$ cd ~/
$ pkg install -y wget
$ rm rfriends3_termux.sh
$ wget http://rfriends.s1009.xrea.com/files3/rfriends3_termux.sh
$ sh rfriends3_termux.sh $ exit

注)ここで一旦termuxからexitしてください。

このスクリプトは以下の 1)-3)を処理しています。実際の処理内容はスクリプト参照。

 http://rfriends.s1009.xrea.com/files3/rfriends3_termux.sh


1) ツールのインストール(php,ffmpeg,termux-services等)

2) opensshのインストール

3) rfriendsのインストール

2.4 サービス(atd, crond, sshd)の有効化

termuxを再度実行後、termux-sevicesを使用してサービス(atd, crond, sshd)を有効化する。うまくいかない場合、一度スマホを再起動してみてください。

$ sv-enable atd
$ sv-enable crond
$ sv-enable sshd

・ termux-sevices

 https://wiki.termux.com/wiki/Termux-services

sshdを実行しても以下のようなエラーメッセージが出るとき

sshd: no hostkeys available ? exiting.

$ ssh-keygen -A

を実行してから再度sshdを実行して下さい。

2.5 wake-lockの有効化

$ termux-wake-lock

termux-wake-lockを実行すると、予約録音はうまくいくようですが、sshタイムアウトするようです。その場合は再起動が必要になります。

開発者オプションのスリープしないをONにするほうが確実です。

3.rfriendsの設定

3.1 rfrirnds server の実行

1)Wifi 接続の場合

termux上で、以下のコマンドを入力しrfriendsを実行する。

$ cd ~/rfriends
$ sh wlan0.sh

 

2)そのほかの場合

androidスマホwifiに接続されていない場合は失敗するので、IPアドレスを確認後rfriends3_server.shを実行してください。

$ ip a | grep inet
inet 127.0.0.1 ?netmask 255.0.0.0
inet XXX.XXX.XXX.XXX ?netmask 255.255.255.0 ?broadcast XXX.XXX.XXX.255

スマホIPアドレスはXXX.XXX.XXX.XXXです。

$ cd ~/rfriends
$ sh rfriends3_server.sh XXX.XXX.XXX.XXX:8000

3)自動(3.0.0-a36以降)今後はこれを推奨

termux上で、以下のコマンドを入力しrfriendsを実行する。

$ cd ~/rfriends
$ sh rf3server.sh

1)または2)または3)を実行後、androdiスマホ自身または同一LAN に接続されたPC等からWEBブラウザchrome,edge,firefox等)で

xxx.xxx.xxx.xxx:8000

と入力し、以下のような画面が出たら成功です。

3.2 rfrirndsをアップデート

[10-1]システム更新(SYS)により、rfriendsを開発版(0.9.0-b01以上)にupdateする。 

 

以降、バージョン0.9.0-b01を例に説明します。バージョンによりメニュー番号が異なっている可能性があります。

3.3 録音ディレクトリ設定

[9-6]録音ディレクトリ設定を選択し、録音データの格納場所を指定します。

スクリプトでは内部ダウンロードディレクトリに設定されています。

 

・内部ダウンロードディレクトリの場合
usrdir=/data/data/com.termux/files/home/storage/downloads/usr2/
tmpdir = ""

・外部microSDの場合
$ df
/dev/fuse ***** ***** ***** **%? /storage/XXXX-XXXX
上記の? XXXX-XXXXの部分がmicroSDにより変化します。

usrdir=/storage/XXXX-XXXX/usr2/
tmpdir = ""

3.4 デイリー処理の設定

[9-3]デイリー処理設定を選択し、デイリー処理(crontab)の読込、編集、書込をします。これにより、指定した時刻に予約・録音ができるようになります。

4.テスト

・rfriendsの[3-1]タイムフリー録音で、1,2個試しに録音してみてください。 録音が終了したら、androidのファイルマネージャでダウンロードディレクトリを参照する。録音したファイルがtimefree以下に見つかるとおもいます。

・再生してみてください。

・[1-4]デイリー処理も行ってみてください。

以上で、インストールは終了です。

5.sshのアクセス方法

$ ip a | grep inet
inet 127.0.0.1 ?netmask 255.0.0.0
inet XXX.XXX.XXX.XXX ?netmask 255.255.255.0 ?broadcast XXX.XXX.XXX.255
スマホIPアドレスはXXX.XXX.XXX.XXXです。

$ id
uid=xxx(hogehoge)
hogehogeがユーザです。

PC等から
ssh -p 8022 hogehoge@XXX.XXX.XXX.XXX
でアクセスできます。

 

PCがLinuxでWARNINGが出て接続できないときはPCのホームディレクトリの.ssh/known_hostsを削除してみてください。

6.最後に

 termux版rfriendsの制限事項としては、

・timefree等で録音したデータのタイムスタンプが現在時刻になります。

 sshアクセスを利用している方は、ファイルの転送にはsftpが便利です。Windows Clientでは、Winscp(またはFilezilla)がおすすめです。

 

 このソフトはパケットを消費するため、Wifi環境下での使用をお勧めします。 2時間番組で約40MBになります。外出等で使用をいったん中止する場合は、Termuxをexitしてください。

 なお、念のためのお約束ですが、 テスト中のため、電池を異常に消費するなどのバグがある可能性があります。 また、十分注意を払っていますが、重要なファイルを消すことがないとも限りません。

 

劣化したバッテリのスマホを使用すると火災の原因にもなります。

 

 使用は自己責任にてお願いします。当方はいかなる責任も持ちません。 使用を中止したい場合はスマホを初期化してください。

 より良いものにするために、バグ報告・改善提案等をお待ちしています。

では、素敵なラジオライフを!

 

以上

andoridアプリのUserLAndの設定について

 androidアプリのUserLAndの設定についていくつか紹介します。

1.前提

すでにUserLAndはインストール済を前提とします。

2.スリープ回避

一定の時間が経つとandroidがスリープするので、ブラウザのアクセスが途切れます。その際は、androidの電源ボタンを押せばいいのですが、確実な方法があります。

 

トップ画面で上から下にスワイプすると現れる通知画面で

”Acquire wakelock”を有効にしてください。

3.sshアクセス

鍵認証で行ってください。

公開鍵を~/.ssh/authorized_keys に設定(renameでもよい)するだけ。

鍵は5.android本体のストレージアクセス方法を参考にコピーしてください。

 

パスワード認証はなぜかうまくいかない。以前は大丈夫だったのに。勘違いかもしれませんが。

 

ユーザuselandにパスワードを設定する。

 

$ passwd userland

 

これで、SSHクライアントからアクセスできるようになります。(ポートは2022)

Windowsなら

ssh -p 2022 userland@XXX.XXX.XXX.XXX

そのほか、teraterm,rloginといったSSh Clientももちろん使用可能です。

4.sftpアクセス

sshでアクセス出来たら、sftpでのファイル転送もできます。

Windowsなら、Filezilla等を使えば簡単にアクセス出来てファイル転送ができます。

sftp
Host XXX.XXX.XXX.XXX
port 2022
ユーザ userland
パスワード *******

を設定するだけです。

 

5.android本体のストレージアクセス方法

UserLAnd側

$ cd /storage/internal

 

andorid本体側

/Android/data/tech.ula/files/storage

 

androidアプリの”ファイル”やその他のファイルマネージャでアクセスできます。

microSDも/storage/sdcardでアクセスできるようなのですが、当方の環境ではうまくいきませんでした。

 

6.タイムゾーンの設定

現在の設定(UTCになっている)

$date
Sat Jul 15 04:05:47 UTC 2023

 

日本に変更する。

$ sudo rm /etc/localtime 
$ sudo echo Asia/Tokyo > /etc/timezone 
$ sudo dpkg-reconfigure -f noninteractive tzdata

 

以下のように表示される。

Current default time zone: 'Asia/Tokyo'
Local time is now:      Sat Jul 15 13:10:55 JST 2023.
Universal Time is now:  Sat Jul 15 04:10:55 UTC 2023

 

以上

rfriends3のインストール手順 (UserLAnd編)

 rfriends2はCUIベースでしたが、rfriends3はWEBベースで操作が簡単になっています。
今回はandroidのUserLAnd版です。非常に簡単ですのでぜひ’試してみてください。

初 版 2023/07/14

第2版 2023/07/19 サーバの起動方法を追加

第3版 2024/02/27 全面書き換え

第4版 2024/03/11 一部修正

1.環境

 以下のバージョンで確認しました。androidにUserLAndをインストールし、Ubuntuを選択しました。

android端末
wifi


制限事項

・実施場所(自宅等)のwifi環境に接続していることを前提にしています。
atdが動作していないので、ラジコ、らじるらじるの予約録音ができません。
・sambaのインストールはおこなっていません。userlandではsambaのポートを変更する必要がありますが、windowsではポート固定のためアクセスできません。

2.UserLAndのインストール

 google playよりUserLAndをインストール

 

 Ubuntuを選択

 

Ubuntu、permissionOK、メディアアクセス許可、Minimal、Terminalの選択でセットアップが始まります。インストールが完了すると、以下のようなメッセージが出ます。


3.rfriends3のインストール

以下の操作によりrfriends3,lighttpdのインストールを行います。

$ cd 
$ wget http://rfriends.s1009.xrea.com/userland.sh
$ sh userland.sh

IP address : XXX.XXX.XXX.XXX

これでrfriends3のインストールは完了です。実行の最後にIP addressが表示されます。

4.rfriends3の実行

 androidのホーム画面に戻り(終了はしない)、ウェブブラウザ(edge,chrome,firefox,...)を起動し、アドレスに先ほど表示されたIP address:8000を入力する。

xxx.xxx.xxx.xxx:8000

以下のような画面が出たら成功です。お気に入りに入れておくと便利です。

同一Wifi-lanに接続された他端末からもアクセス可能です。

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

 

試しに、ラジコ-番組聴取-「好きな番組」-聴取-▶

と選択するとラジコが聞けます。

5.androidからのアクセス

 UserLAndをインストールしたandroidで、ファイルマネージャ(Filesやファイルマネージャ+など)を使って

/Android/data/tech.ula/files/storage

にアクセスすると、rfriends3のusr2以下が見えます。ここに録音したデータが保存されています。

6.wakelock

androidのスリープ時にもrfriends3の処理を継続したい場合、WakeLockを有効にしてください。ロック画面でacquire wakelockを押してください。以下のような画面になると思います。

この設定をおこなうと、例えば毎朝05:25にtimefreeの実行等を行うことができますが、andoridの電池の消費量が増えます。手動ダウンロードのみで運用する場合は、設定の必要はありません。

7.その他

現状、ラジコ、らじるらじるのリアルタイム予約録音はできませんが、そのほかのtimefree、らじる聞き逃しの予約録音、手動録音やポッドキャストは可能ですので

十分使えると思います。

 

以上

rfriends3のインストール方法(2024/03/27)

rfriendsはラジコやらじるらじるを録音するソフトです。タイムフリー、エリアフリー、聞き逃し、ゴガク、ポッドキャストにも対応。

 

rfriends3は操作がWEBサーバ経由で出来、とても簡単になっています。(従来のsshによるcuiアクセスも可)

操作する端末はPC,MAC,スマホWEBブラウザ(chrome,edge,firefox,safari等)が動作するものであればなんでも可能です。

rfriendsは以下の機種に対応しています。インストール方法は以下より参照ください。

 

・ Windows
https://rfriends.hatenablog.com/entry/2023/06/13/030148

・ RaspberryPi(lighttpd+samba)

Raspberry Pi | rfriendsでラジオ録音

・ Ubuntu/debianlighttpd+samba)New!

https://rfriends.hatenablog.com/entry/2024/02/23/173528

・ macOS
https://rfriends.hatenablog.com/entry/2023/07/12/075527

・ UserLAnd(lighttpd) Update!

https://rfriends.hatenablog.com/entry/2023/07/14/195410

・ Termux
余ったandroidスマホでラジオ録音サーバを作ろう (五版)
https://rfriends.hatenablog.com/entry/2023/07/18/210107

・ LXD/LXC
https://rfriends.hatenablog.com/entry/2023/07/19/222350

・ Docker

dockerで「rfriendsでラジオ録音」rfriends3 版
https://rfriends.hatenablog.com/entry/2023/07/29/231535

また、Docker環境は終了するとデータも消えてしまうのでご注意ください。

・ ChromeOS Linux 開発環境(lighttpd+samba)New!

https://rfriends.hatenablog.com/entry/2024/02/23/173528

・ Ubuntu/debian
https://rfriends.hatenablog.com/entry/2023/06/21/154914

・ Ubuntu/debianlighttpd

https://rfriends.hatenablog.com/entry/2023/08/13/193047

 

・ スピーカを接続する。

rfriends3の出力(サーバ)を利用する。RaspberryPiのように標準でスピーカがない機種で音声出力させる。

RaspberryPi Zeroをラジオにする - rfriendsでラジオ録音

 

・rfriends3スクリーンショット

 

rfriends3のインストール手順 (macOS編)

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

初  版 2023/07/12

第3版 2023/10/03 sonoma

1.環境

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

 

macOS sonoma 14.0 (確認済)

macOS Ventura 13.4.1  (確認済)

Monterey (未確認)

Big Sur (未確認)

Catalina (未確認)

2.Homebrewのインストール

Homebrew がインストール済の方は、この項を飛ばしてください。

 

1)HomebrewのWebサイト(https://brew.sh/ja/)を開き、インストールに表示されているコマンドをターミナルにCOPY&PASTEして実行する。

 

2023/07/11時点では以下のコマンドになっている。

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

2)Homebrewのインストールが終了したら、念のためbrewを確認してください。

% brew doctor

Your system is ready to brew.

と表示されたらインストールは成功です。

 

3.shのダウンロード

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

 % cd ~/

 % curl http://rfriends.s1009.xrea.com/files3/rfriends3_osx.sh -o rfriends3_osx.sh

4.rfriends3のインストール

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

 

 % sh rfriends3_osx.sh

 

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

 

追記)

% chromium --version

chromiumが見つからない場合はインストールしてください。

% brew install chromium

 

5.ビルトインウェブサーバの実行

以下を入力し、ビルトインサーバーを起動する。

 %  cd ~/rfriends3

    %  sh rf3server.sh

         XXX.XXX.XXX.XXX:8000 と表示される。

6.rfriends3の実行

 ウェブブラウザ(Safari,chrome,firefox,...)を起動し、アドレスに

XXX.XXX.XXX.XXX:8000

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

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

 

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

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

8.その他

他端末からアクセスする方法

現在、rfriends3_serverが起動していたら、ctrl-cで終了させる。

 

1)方法1

・ipconfig 等でrfriends3を実行している端末のIPアドレスを確認する。
・rfriends3/rfriends3_server.shと同じ場所にrfriends3_server.txtを作成する。
・rfriends3_server.txtにIPアドレス:ポートを記入する。(例 192.168.1.100:8000)

  注)rfriends3_server.shを直接変更するとupdateの際に上書きされ元に戻ってしまいます。

・サーバの起動
$ cd ~/rfriends3
$ sh rfriends_server.sh

を実行。

 

2)方法2 (3.0.0-a36以降)

・サーバの起動
$ cd ~/rfriends3
$ sh rf3server.sh

を実行。設定は不要です。


方法1または方法2 により、家庭内の同一LAN上からPC,MAC,スマホ等よりアクセスできるようになります。今後は方法2を推奨

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


以上

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

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

初 版 2023/06/21

第2版 2023/07/19 サーバの起動方法を追加

1.環境

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

 

ubuntu 22.04 LTS  (CUI環境でもOK)

Firefox 110.0(64ビット)

 

・確認機種(Linux系)

Ubuntu 18.04, 20.04, 22.04 (ffmpegのバージョンが古いとらじるらじるに不具合が出ます。)
debian 11, 12
RaspberryPi Zero (ヘッドレスブラウザ×)
RaspberryPi Zero 2
Termux(ヘッドレスブラウザ×)

2.ダウンロード

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

 $ cd ~/

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

3.インストール

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

 

 $ sh rfriends3_ubuntu.sh

 

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

 

追記)

$ chromium-browser --version

chromium-browserが見つからない場合はインストールしてください。

$ sudo apt install chromium-browser

 

4.ビルトインウェブサーバの実行

以下を入力し、ビルトインサーバーを起動する。

 $  cd ~/

    $ sh rf3server.sh

     XXX.XXX.XXX.XXX:8000

5.rfriends3の実行

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

XXX.XXX.XXX.XXX:8000

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

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

 

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

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

7.その他

他端末からアクセスする方法 

現在、rfriends3_serverが起動していたら、ctrl-cで終了させる。

 

1)方法1

・ipconfig 等でrfriends3を実行している端末のIPアドレスを確認する。
・rfriends3/rfriends3_server.shと同じ場所にrfriends3_server.txtを作成する。
・rfriends3_server.txtにIPアドレス:ポートを記入する。(例 192.168.1.100:8000)

   注)rfriends3_server.shを直接変更するとupdateの際に上書きされ元に戻ってしまいます。

$ cd ~/rfriends3

$ sh rfriends_server.sh

を実行。

 

2)方法2 (3.0.0-a36以降)

$ cd ~/rfriends3

$ sh rf3server.sh

を実行。設定は不要です。

 

方法1または方法2 により、家庭内の同一LAN上からPC,MAC,スマホ等よりアクセスできるようになります。今後は方法2を推奨

 

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


以上