忍者ブログ
RoboCup Junior Japan Rescue Kanto OB

             2005~2013
[1084]  [1083]  [1082]  [1081]  [1080]  [1079]  [1078]  [1077]  [1076]  [1075]  [1074
急遽、文化放送の某番組を録音する必要が出てしまいました。

当初はメインPCであるwin機を使って・・・と色々考えたのですが、

調べた限り、時間設定で自動起動→録音してくれて、文化放送をカバーしてくれるとなると厳しそう・・・。



ということで、もういっそのことサーバーの方で撮っちゃえばいいやと、こうなりました。

今回使用するのはradikoという”通常の”ラジオ番組をwebで放送しているwebサービスです。


radikoプレミアムに入会していないと番組によって聞ける地域が異なりますが

文化放送はradikoで関東1都6県、実際のラシオだと電離層の状態によっては新潟でも視聴できたりするそうです。
深夜帯は韓国の局と混信するとかしないとか



今回はこれを録音するシステムをサーバー上に構築していきます。

スクリプトはこちらのサイトで掲載されている簡易Radiko録音スクリプトを利用させていただきました。
※GitHubに飛びます

まずはわらげっとを用いてGitHubよりソースを頂きます。
wget https://gist.github.com/matchy2/3956266/raw/1b38b25eb954419b019cada7ba4081e88ea1fb16/rec_radiko.sh
chmod 755 rec_radiko.sh

これでスクリプトが動けば皆HAPPYなのですが、まぁ動きません。

このスクリプトを動作させるにはrtmpdump,swftools,ffmpegの3つのパッケージが必要になります。


あちらこちらのサイト様ではContOS6で構成されているのか、割と簡単に落ちてるようで

ここらの工程ガン飛ばしが主流のようですが、当方CeontS7では簡単には落ちませんでした。なーにがyumで落とせじゃ(´・ω・`)



という訳でDLインストール工程も記述します。

まずはrtmpdumpですが、6では rpmforgeレポジトリにあったりするようなのですが、

7では存在しないのでわらげっとしてくる必要があります。
ところでリポジトリ?レポジトリ?

もちろん操作はroot権限で行かないと大変面倒なことになります。
wget http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.3.tgz
tar xvfz rtmpdump-2.3.tgz
cd rtmpdump-2.3
make SYS=posix
make install

以上のようにソースコンパイルします。
rtmpdump -h
と打ってヘルプが出れば正常にインストールができているようです。

最後にコマンドをbinに投げます。ここでは/usr/local/binに投げてますが、

後で利用するcrontabには/usr/local/binにパスが通ってないので一緒にパスを通してしまいます。
/usr/binに投げればパス通さなくて良い気もするけど脳死対症療法で行きます。

パスはcrontabの2行目が置換されるようになっているのでcrontabがいじられてると吹っ飛ぶかも。

後追いの際は要確認なのです。
cp -p rtmpdump rtmpgw rtmpsrv rtmpsuck /usr/local/bin
sed -i "2c\PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin"    /etc/crontab




次にswftoolsですが、

こちらも7では存在しない(一応RPMのパッケージはあるっぽいけどドマイナーっぽい)のでぽい?

上と同様にソースコンパイルします。
wget http://www.swftools.org/swftools-0.9.1.tar.gz
tar xvfz swftools-0.9.1.tar.gz
yum install gcc* automake zlib-devel libjpeg-devel giflib-devel freetype-devel
cd swftools-0.9.1
./configure
make
make install

こちらの特徴はインストールに必要なツールの数が多いことでしょうか。

一応全部yumでインストールできるのですが、gccの関連がほぼ全部入ってしまうので割と時間がかります。


依存パッケージも含めて必要なものだけを特定するのはだいぶ骨が折れそうだったので

今回はそのままということで。どっかに意識高い人いないかなぁ。





最後にffmpegですが、こちらはレポジトリを2つインストールすれば依存を含めてAll OKだったので

今回はレポジトリ→yum方式を採用しました。

必要なレポジトリはepelとNux-Dextopです。epelは割と使うし既に入れてる場合もあるのでは。

まずはepel。ボクはphpmyadmin入れた時に入れてました。
wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -ivh epel-release-7-5.noarch.rpm
sed -i -e's/enabled=1/enabled=0/g'   /etc/yum.repos.d/epel.repo

Nux-Dextopも同様にして入れていきます。ボクは入ってませんでした。
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
sed -i -e"s/enabled=1/enabled=0/"  /etc/yum.repos.d/nux-dextop.repo

そして最後にffmpegをyumで落とします。これでやっとスクリプトが動作できる状態に。
yum -y --enablerepo=epel,nux-dextop install ffmpeg







まずは適当な番組で動作確認です。スクリプトを/rootにおいて以下コマンドで確認します。
~/rec_radiko.sh QRR 1 ~/ test

これで1分待つとhomeにtest_YYYY-MM-DD-HH_MM.mp3というファイルができているはずです。



引数は最初が局コードです。QRRが文化放送です。コード一覧はこちら

前述したように地域によって取得できる局が異なります。


次が録音時間。分単位で設定できるようになっており、実際は+0.3秒くらいでしょうか。

次がファイルの保存先ディレクトリ。今回はhomeです。



testはファイル名のプレフィックスです。日本語対応しているようです。

ボクは録音時間じゃなくてn回目というデータが欲しかったのでちょっと改変していますが、

これをベースに使わせていただいています。ラジオタイトル拾えたら楽なんだけど




で、最後に自動化です。ラジオといえば週1放送ですが、

CeontOS7のcron.weeklyは色々とどうしてこうなった感が強く個人的に推奨できないのでcrontabに直接記載していきます。

crontab -eを使うのは-rと間違える恐れがあり危険なので直接編集(という名の別の何か)を行います。
echo "59 1 * * 0 root /root/rec_radiko.sh QRR 32 /var/www/html chimame" >> /etc/crontab

今回は文化放送の土曜26:00~26:30の枠を録音するようにします。

一応前後1分余剰を入れてはいますが挙動によっては必要ないかも?ここはもうちょっと動作見て検討します。

番組単位の録音ではないので延長は考えてないです。できたらいいなぁ(´・ω・`)

>>を>にすると悲劇が起こるのでcrontab -rと危険性という意味では大きく変わらない気もしますが

今回は深く考えずにこれでいきましょう。最近はエディタを使わないファイル操作が個人的主流です。




何を考えてこんな記事を上げてるのかは勘の良い皆様ならもうおわかりかとは思いますが。

今日はこのような記事となっております。

放送開始は7/2の26時でしたね。皆様準備は念入りに。それでは今日は以上です。

本日の参考様
スクリプト https://gist.github.com/matchy2/3956266
rtmpdump/swftools http://blog.goo.ne.jp/roby619/e/c63ded90cc09cebd3ced7d1f6b23e3bf
ffmpeg http://vild.hatenablog.com/entry/2015/09/29/125940

 
 


(^・ω・)ノ curonet at RadiumProduction
Comments
※コメントは内容確認後に手動で公開するようにしております。反映までしばらくお待ちください。
Your Name
Title
color
Comment
 

カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新CM
[05/09 ONE RoboCuper]
[05/07 HDD ほしいよー]
[04/21 ブラック3辛]
[12/26 bols-blue]
[06/08 ONE RoboCuper]
かうんた
カウンター カウンター
らじぷろ目次
らじぷろ検索機
プロフィール
HN:
Luz
性別:
男性

PR

忍者ブログ 2007-2021,Powered by Radium-Luz-Lα+-Rescatar in RadiumProduction [PR]


Related Posts Plugin for WordPress, Blogger...