Raspberry Pi 2 Model Bのメディアレンダー化作戦。次はDLNAのレンダラーです。
Raspbian Stretch Liteですので、動画はレンダーしません。
さて、RaspbianのDLNAレンダーですが、Gstreamerを利用したGmediarenderで構築します。
よくGmediarendererと記載されているサイトがありますが、Raspbian Stretchにはgmediarenderというパッケージがありますので、それを使います。
パッケージが用意されているなんて、さすが最新OS
なので、こちらも依存関係含めてパッケージを入れるだけ。
root@raspberrypi:~# apt-get install libupnp-dev libgstreamer1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-alsa gmediarender
さて、ハマったのが起動。
普通なら
root@raspberrypi:~# systemctl enable gmediarender
で、自動起動の登録、
root@raspberrypi:~# systemctl start gmediarender
で起動するはずですが、ps -eでもgmediarenderというプロセスは見つからず。
起動スクリプトが/etc/init.d/gmediarenderに入っているので見てみると、
[ "x$ENABLED" = "x1" ] || exit 0
こんな一行が。
$ENABLEDってどこに定義してあるんだろうとスクリプトを見ても、見当たりません。
ようやく探し当てたのが、/etc/default/gmediarenderというファイル。
というやらこいつが設定ファイルだったようです。
設定ファイル/etc/default/gmediarenderの中の
ENABLED=1
UPNP_DEVICE_NAME="$(hostname)"
INITIAL_VOLUME_DB=0.0
ALSA_DEVICE="hw:1,0"
DAEMON_EXTRA_ARGS="--logfile /var/log/gmediarender.log"
という5項目を設定しました。
ENABLEDがコメントアウトしてあったので起動しなかったんですね。
UPNP_DEVICE_NAMEは、DLNAのコントローラに通知する名前なので、よさげなものをつけて下さい。私はホスト名で。
INITIAL_VOLUME_DBは音量をdbで指定します。0は音量最高。こうしないと出力が小さくなりますので。
ALSA_DEVICEはサウンドデバイスの設定です。aplay -lで出てくるデバイスを指定できます。shairport-syncで指定したoutput_device=と同じ、USB Audioを指定しています。
DAEMON_EXTRA_ARGSは他に定義したい起動オプションを記載するようです。とりあえずログ指定を。
ではようやく起動です。
root@raspberrypi:~# systemctl start gmediarender
Windows10から見えるようになりました。