esd 経由で別のPCで音楽を聞いて見る
うちにはGentoo機が一台リビングのテレビにつながっていて、キャプチャーしたテレビ番組とかをみれるようにしてある。リビングなのでキーボー ドとかマウスとか無しで、操作はssh経由でやっているのだが、mp3などを聞くのにいちいちssh経由でmpg123などを起動するのが若干面倒。
そこで、別の部屋にあるメイン機(クライアント)から直接リビング機(サーバー)に音が出力できると多少楽になると思い、色々探した結果、簡単にesd ( Enligtenment Sound Daemon ) を使って出来ることを発見したのでメモしておく。
サーバー側:
esdを提供しているebuildはesound、さらにはesdというUSE FLAGもあるので設定しておく。
# emerge esound
- 次に/etc/esd/esd.confを編集する
-
-spawn_options=-terminate -nobeeps -as 2
+spawn_options=-d default -nobeeps -as 2 -tcp
-terminate があるとクライアントが終了するとesdごと終了するのを防ぐため。
-tcp をつけるのはtcp経由でリモートから演奏できるようにするため。
-d はalsaのデフォルトのデバイスを指定している。
デーモンの起動
# /etc/init.d/esound start
クライアント側:
次 にクライアント側から音楽でもならしてみる。esdのUSE FLAG を設定していれば、mpg123や、beep-media-player、xmmsでも大丈夫なはず。 esdをリモートに飛ばす設定はクライアントPCの音声全てをリモートに飛ばす方法と、環境変数を使ってアプリ単位で飛ばす方法がある。今回は普段はロー カルのesdに音声を出力、サーバーでたまに音楽を聞きたいだけなので、環境変数でやってみる。
$ ESPEAKER=server.ip mpg123-esd hoge.mp3
ESPEAKER環境変数をサーバーのIP:ポート(デフォルト16001)にしてあげて、 mpg123のesd版である、mpg123-esdをつかって何かを再生してみると…
で き た ! !
ちょっとは便利になったかな?
ちなみにサーバー側にusbのリモコンを繋げてごにょごにょと思って、ハード自体は購入ずみなんだけど、まだ試していない。やる機会があれば、レポートします。
コメント