背景
radikoの録音をリアルタイムで実施しています。古いノートPCにubuntuを入れて、各種ツールを駆使しているというのが状況です。
録画サーバを24時間通電しているので、かねてより録画サーバに乗せ換えようとしていました。
そこで、過去には以下の記事に書いたようにVMで構築してみました。コンパイルでエラーとなったものの、CentOS7.4でも動作することは確認できました。
で、録画サーバでradiko録音をするようにしようと考えていたのですが、radiko録音することで録画機能が急に動かなくなるのが嫌だと避けていました。
最近、dockerを触り始めたので、もしかしたらdockerでradiko録音ができるかもしれないと思い立ちました。dockerだったら環境を汚さないと思い、改めてradiko録音機能を録画サーバで動かすことを考えました。
先人達の知恵を参考にする
調べると、同じようなことを考えている方はいらっしゃるんですね。ざっと調べたのが以下です。
なじみのあるシェルをdocker 「docker_rec_radiko」
簡易Radiko録音スクリプト · GitHubをベースにdockerにしているのが以下です。スクリプトを個人的に変更しているので、それを読み込ませれば自分好みに変更できそうです。
radiko録音スクリプトのdocker化 – into the lambda
mp3のタグOK 「sarlos/rec-radiko」
mp3のタグを入れるようにしているのが以下です。
sarlos/rec-radiko - Docker Hub
Goで書いてる 「yyoshiki41/radigo」
以下のようにGoで書いてい、それをdockerで動かしている方もいらっしゃいました。すごいっす。
求める要件
radiko録音機能に求める要件は以下です。
- リアルタイム録音ができる タイムフリーに対応していない番組もあるため
- どの番組を録音したかファイル名で判別できる 複数録音するとどの番組かわからなくなってしまうため
- 録音してできたファイルサイズは小さくしたい iPhoneへの転送時間を短くしたいし、HDDの空き容量は確保したいから
- 録音したファイルは自宅NASに自動で格納したい ファイルはNASで一元管理したいから
試しに動かすと、動いた!
試しに「docker_rec_radiko」「yyoshiki41/radigo」の2つを動かしてみました。
「docker_rec_radiko」はちゃんとmp3での録音ができました。動かす際にファイル名を引数で渡せるので、ファイル名も変更できます。イメージを作る際にシェルを変更しておけばmp3だけではなく、aacでもいけるんじゃないかと思いますので、変更していきたいと考えています。
「yyoshiki41/radigo」は現状だとファイル名が変更できなさそうです。
イメージのサイズを確認してみました。はdocker_rec_radikoは402MB、yyoshiki41/radigo は66MBと約6倍の差があります。
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker_rec_radiko latest 0377a4daecf4 About an hour ago 402MB yyoshiki41/radigo latest bd9673ada3c4 2 weeks ago 65.9MB
docker_rec_radikoのDockerファイルで「FROM debian:9.5-slim」と変更して作り直したら、328MB になりました。
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker_rec_radiko latest 33a5fdc48e3b 13 seconds ago 328MB