家で目的もなく動いてるRaspberry Pi さんにラジオを録音してもらいたくなった.
そこで, Raspberry Pi に
radikorec
をインストールしてみた.Raspberry Pi に限らず,たいていのUnix 系OSならほぼ同じ手順でインストールできそうだった.
Table of Contents
- 1 環境
- 2 radikorec のソースコードをダウンロード
- 3 distributeをインストール
- 4 その他必要なものをインストール
- 5 インストールスクリプトの編集
- 6 インストールスクリプトの実行
- 7 試験的に動かしてみる.
- 8 放送局コードについて
- 9 おまけ: mp3に変換して,コマンドラインから再生する.
- 10 コマンドリスト
- 11 my_script.sh の中身
環境
<マシン>
Raspberry Pi
<OS>
Raspbian 7.1
<カーネル>
Linux raspberrypi 3.6.11+ #538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv6l GNU/Linux
radikorec のソースコードをダウンロード
radikorec のリポジトリは akiradeveloper/radikorec · GitHub にある.
ここから,クローンする.
git clone https://github.com/akiradeveloper/radikorec.git
setuptools distribute をインストール
(2015/08/22 更新: setuptools を使うように内容を変更)radikorec のインストールのために、python のパッケージ管理ツールであるsetuptools を使うため、これをインストールする.
(この記事ではもともとdistribute を使うように書いていたが、distribute は2013年にsetuptools に取り込まれているらしいので、setuptools を使うほうがよいらしい
また、元々この記事で紹介していた distribute インストール用のスクリプトへのリンクが切れてしまっている.
このため、setuptools を使うように内容を変更した.)
distributete
というpython のライブラリ? をインストール.distributete
でなはく setuptools
というライブラリが主流だったらしい.setuptools
の開発は止まっており,それを引き継いで開発されているのが distribute
ということらしい.distribute
をインストールする.$ curl -O http://python-distribute.org/distribute_setup.py$ wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py $ sudo python distribute_setup.py
その他必要なものをインストール
以下のコマンド(Debian 系)
sudo apt-get update sudo apt-get install libssl-dev sudo apt-get install ffmpeg
インストールスクリプトの編集
(2015/08/22 更新: setuptools を使うように内容を変更)compile
と setup.py
ファイルを編集.compile
の方は rtmpdump
のソースコードをgitリポジトリからクローンしてくるのだが,このリポジトリの指定先が参照できないので,変更.setup.py
は setuptools
ではなく distributete
をインストールしたための変更.編集内容は以下の通り.
$ git --no-pager diff diff --git a/compile b/compile index ef82607..8cf921e 100755 --- a/compile +++ b/compile @@ -6,7 +6,8 @@ pwd make cd - -git clone https://github.com/svnpenn/rtmpdump.git +git clone git://git.ffmpeg.org/rtmpdump +# git clone https://github.com/svnpenn/rtmpdump.git cd rtmpdump pwd make SYS=posixdiff --git a/setup.py b/setup.py index ecba8a4..5b2df88 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ -#from distutils.core import setup -from setuptools import setup +from distutils.core import setup +#from setuptools import setup setup( name = 'radikorec',
インストールスクリプトの実行
以下のコマンドを実行する.
sudo make install ./compile sudo ./setup
試験的に動かしてみる.
以下のコマンドでradikorecを試してみることができる.
./runtest
これを実行すると.
/tmp/
以下にログや録音した音声ファイルができるはず.ffmpeg
のインストールを忘れてると,録音したのにエンコードできなくて音声ファイルが出力されない.僕は,毎度この段階で
ffmpeg
がないことに気づくので,実際に ./runtest
で音声ファイルを出力したことはなかったりする.放送局コードについて
radikorec を使うときに,録音したい放送局を放送局コードで指定する.
これを知るためには,http://radiko.jp/v2/api/program/today?area_id=JP14 へアクセスして返ってきたxml を見ればいいっぽい.
<station io=hoge>
の hoge
の部分が放送局コードその放送局が何かはすぐしたの
<name>
に書いている.参考URL: FreeBSD で radiko を録音する。
おまけ: mp3に変換して,コマンドラインから再生する.
raspberry pi イヤホン端子もあるので,再生して聞くこともできる.
m4a 形式を直接コマンドラインから再生する方法がよくわからなかったのでmp3に変換してから再生してみた.
以下のようにやればできた.
m4a → mp3 は以下のようにやればできる.
ffmpeg -i NHR-2014-03-30-04-20.m4a hoge.mp3
再生は,
mpg321
をインストールして使えばOKっぽい.デバイスファイルへのアクセス権限の関係で,何も設定しないとユーザ権限では動作しない.
今回は面倒だったのでsudo を付けないと動かした.
sudo を付けたくない人は,ブログログ mpg321を一般ユーザーで再生できるようにする。 などを見て,デバイスファイルにアクセスできるように権限を設定しよう.
mpg321
のインストールおよび再生コマンドは以下の通り.sudo apt-get install mpg321 sudo mpg321 hoge.mp3
ここに書いた方法で,Raspberry Pi から直接再生することができる.
しかし,上記のエンコード処理はRaspberry Pi でやると非常に遅い.
また,録音した音声ファイルのサイズは大きくなりがちなので,SDカードの容量も心配である.
なので,音声ファイルは聞くときに別のマシンに移してしまって,そのマシンでエンコードなり再生なりしたほうがいいと思ったのがやってみた感想である.
参考URL: ブログログ mpg321を一般ユーザーで再生できるようにする。
コマンドリスト
git clone https://github.com/akiradeveloper/radikorec.git cd radikorec/ curl -O http://python-distribute.org/distribute_setup.py sudo python distribute_setup.py vi ./compile vi ./setup.py sudo make install ./compile #失敗 sudo apt-get update sudo apt-get install libssl-dev ./compile sudo ./setup sudo apt-get install ffmpeg ./runtest vi my_script.sh chmod +x my_script.sh mkdir ../radiko_data ./my_script.sh ffmpeg -i NHR-2014-03-30-04-20.m4a hoge.mp3 sudo apt-get install mpg321 sudo mpg321 hoge.mp3
my_script.sh の中身
#!/bin/sh radikorec \ --channel=LFR \ --duration=1 \ --prefix=NHR \ --directory=/home/deep/radiko_data
--
My Emacs Files At GitHub
0 件のコメント:
コメントを投稿