古都で働く、プリングルズ大好き似非システム管理者が、お仕事関係の備忘録を書いたり、日々のあれこれを書いたり。
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
fedora22でらじる★らじる(またはradiko)
以前に、「debian wheezyでradiko。」というエントリを書いた事があって、そこでdebianにrtmpdumpをインストールしradikoやらじる★らじるの録音をする方法について書き残した。その時はある程度うまくいったのだが、その後cronに登録して自動録音させようとするとどうしても途中で途切れたりするので、ネットワーク環境に問題があるかなぁ、と思いつつ放置していた。
偶然にもそのエントリを書いた日からちょうど9ヶ月。今日久しぶりにrtmpdumpを使ったらじる★らじるの録音を改めてやってみたので、その備忘録。
偶然にもそのエントリを書いた日からちょうど9ヶ月。今日久しぶりにrtmpdumpを使ったらじる★らじるの録音を改めてやってみたので、その備忘録。
9ヶ月前はdebianをインストールしていた我が家のサーバは、現在はfedora22が入っている。debianにしろfedoraにしろ、rtmpdumpのパッケージは用意されているのだが、でも用意されているパッケージのrtmpdumpでは上手く録音できないらしいのだ。そこまで調べて分かっていたものの、ソースを落としてきてビルド、インストールがハードル高くて手を出していなかった。でも今回は、ソースからビルドしてインストールしてみる事に。
rtmpdumpは http://rtmpdump.mplayerhq.hu/ が本家。ページを開いてみると、ソースのダウンロードはgitを使うように書いてある。gitというのは「分散型バージョン管理システム」との事。とはいえとりあえずソースをダウンロードするためにgitを使うのは結構簡単で、 dnf install git してgitをインストールすれば良いだけ。インストールできたら今度は、rtmpdumpの本家サイトにも書いてあるように、 git clone git://git.ffmpeg.org/rtmpdump してやればいいだけ。そうすると、カレントディレクトリ以下に rtmpdump というディレクトリが出来て、そこにソースがダウンロードされる。今回は、ホームディレクトリに git というディレクトリを作って、その中にダウンロードして作業を進めた。
rtmpdump をダウンロードして、そのディレクトリの中に入ると README があるのでそれを読む。まぁほんとはちゃんと読むべきなのだけれど、とりあえず必要そうなのはLinuxでビルドするなら sys=POSIX を指定しろって事。あと、OpenSSLとzlibが要るよ、って書いてあるのだけれど、ここで必要なのは openssl-devel なので先にインストールしておく。 dnf install openssl-devel するとzlib-devel も一緒に入るのでこれで大丈夫。あ、ビルドするのにgccがいるので入れておく事。
必要なライブラリなどを入れたら、いよいよビルド開始。 make sys=POSIX してやるとビルドが始まるはずだ。無事に終わったら sudo make install (su してからでもいいと思うけど)すればインストールが完了する。さっそく、rtmpdump -h してみよう。
ところが、ここでlibrtmpdump.so.1が無いよ、って怒られた。make installした時に /usr/local/lib にコピーされてたのだけれどオカシイな・・・と思ってよく考えてみたら、たぶん /usr/local/lib にパスが通ってないのだと思ったので、ldconfig -v してライブラリのパスを確認してみる。やはり通ってないようなので、パスが通るように設定する。
fedoraの場合、システム全体のライブラリへのパスの設定は /etc/ld.so.conf にあるらしいのだけれど、実際そこを覗いてやると /etc/ld.so.conf.d/*.conf をincludeするように書いてあって、つまり /etc/ld.so.conf.d/ 以下の *.conf ファイルにライブラリへのパスが書いてあるという事。なので今回は、 /etc/ld.so.conf.d/ に新たに、user.conf というファイルを作ってやって、そこへ一行、/usr/local/lib と書いておく。保存したら、ldconfig してライブラリのキャッシュを再作成。ldconfig -v してパスが通っていたらOK。改めて rtmpdump -h してやるとちゃんとヘルプが表示された。
あとは「debian wheezyでradiko。」で書いておいたようにシェルスクリプトを持ってきて走らせれば、ちゃんと録音されるはずだ。我が家でも、cronに登録してちゃんと録音できる事を確認した(ただし10分程度なので、長くなるとダメというパターンはありえる)。これで、しばらく録音サーバとして運用してみようと思う。我が家のfedora22サーバにはminidlnaもインストール済なので、rtmpdumpで保存したファイルをminidlnaサーバの保存先に保存してやれば、自動的にネットワーク内へ配信できて便利。podcast化したら、持ち出せるようになるんだけど・・・それは今後の課題という事で。
(追記)
cronにスクリプトを登録して45分の番組を録音してみたところ、ちゃんと録音されていた。各番組ごとにスクリプトを分けて、ffmpegでmp3へ変換させると同時にタグ付けを行わせれば、録り溜めも十分対応していけそうだ。
ちなみにffmpegでは-metadataオプションを付ける事でmp3ファイルにタグ付けできる。やり方や付けられるタグの種類については FFmpeg Metadata にまとまっている。ただ、うちのffmpegでつけたタグはwindowsのオプションで見ることができない・・・タグエディターや、minidlna経由でならちゃんと見えてるから気にしてないけど。
PR
rtmpdumpは http://rtmpdump.mplayerhq.hu/ が本家。ページを開いてみると、ソースのダウンロードはgitを使うように書いてある。gitというのは「分散型バージョン管理システム」との事。とはいえとりあえずソースをダウンロードするためにgitを使うのは結構簡単で、 dnf install git してgitをインストールすれば良いだけ。インストールできたら今度は、rtmpdumpの本家サイトにも書いてあるように、 git clone git://git.ffmpeg.org/rtmpdump してやればいいだけ。そうすると、カレントディレクトリ以下に rtmpdump というディレクトリが出来て、そこにソースがダウンロードされる。今回は、ホームディレクトリに git というディレクトリを作って、その中にダウンロードして作業を進めた。
rtmpdump をダウンロードして、そのディレクトリの中に入ると README があるのでそれを読む。まぁほんとはちゃんと読むべきなのだけれど、とりあえず必要そうなのはLinuxでビルドするなら sys=POSIX を指定しろって事。あと、OpenSSLとzlibが要るよ、って書いてあるのだけれど、ここで必要なのは openssl-devel なので先にインストールしておく。 dnf install openssl-devel するとzlib-devel も一緒に入るのでこれで大丈夫。あ、ビルドするのにgccがいるので入れておく事。
必要なライブラリなどを入れたら、いよいよビルド開始。 make sys=POSIX してやるとビルドが始まるはずだ。無事に終わったら sudo make install (su してからでもいいと思うけど)すればインストールが完了する。さっそく、rtmpdump -h してみよう。
ところが、ここでlibrtmpdump.so.1が無いよ、って怒られた。make installした時に /usr/local/lib にコピーされてたのだけれどオカシイな・・・と思ってよく考えてみたら、たぶん /usr/local/lib にパスが通ってないのだと思ったので、ldconfig -v してライブラリのパスを確認してみる。やはり通ってないようなので、パスが通るように設定する。
fedoraの場合、システム全体のライブラリへのパスの設定は /etc/ld.so.conf にあるらしいのだけれど、実際そこを覗いてやると /etc/ld.so.conf.d/*.conf をincludeするように書いてあって、つまり /etc/ld.so.conf.d/ 以下の *.conf ファイルにライブラリへのパスが書いてあるという事。なので今回は、 /etc/ld.so.conf.d/ に新たに、user.conf というファイルを作ってやって、そこへ一行、/usr/local/lib と書いておく。保存したら、ldconfig してライブラリのキャッシュを再作成。ldconfig -v してパスが通っていたらOK。改めて rtmpdump -h してやるとちゃんとヘルプが表示された。
あとは「debian wheezyでradiko。」で書いておいたようにシェルスクリプトを持ってきて走らせれば、ちゃんと録音されるはずだ。我が家でも、cronに登録してちゃんと録音できる事を確認した(ただし10分程度なので、長くなるとダメというパターンはありえる)。これで、しばらく録音サーバとして運用してみようと思う。我が家のfedora22サーバにはminidlnaもインストール済なので、rtmpdumpで保存したファイルをminidlnaサーバの保存先に保存してやれば、自動的にネットワーク内へ配信できて便利。podcast化したら、持ち出せるようになるんだけど・・・それは今後の課題という事で。
(追記)
cronにスクリプトを登録して45分の番組を録音してみたところ、ちゃんと録音されていた。各番組ごとにスクリプトを分けて、ffmpegでmp3へ変換させると同時にタグ付けを行わせれば、録り溜めも十分対応していけそうだ。
ちなみにffmpegでは-metadataオプションを付ける事でmp3ファイルにタグ付けできる。やり方や付けられるタグの種類については FFmpeg Metadata にまとまっている。ただ、うちのffmpegでつけたタグはwindowsのオプションで見ることができない・・・タグエディターや、minidlna経由でならちゃんと見えてるから気にしてないけど。