Ubuntu9.10 リモート上にある音楽データをローカルで再生する方法( PulseAudioのネットワーク経由での利用 )
外部PCのIPアドレス(remote-pc): 123.222.xxx.xxx
自宅PCのIPアドレス(local-pc): 200.200.xxx.xxx (グローバルIPアドレス), 192.168.1.2 (ローカルIPアドレス)
sshでリモートPCにログインしてwavを再生,なんてことは普通はできない.
例えば次のような事は無理.
local-pc $ ssh 123.222.xxx.xxx
remote-pc $ play Sound.wav
これは不便.
そこで,pulseaudioをネットワーク経由で利用する.
pulseaudioには,音声の出力先を指定したアドレスに転送する機能が付いている.
ただし,出力先のPCはローカル限定である.インターネットを越えては利用できない.困った.
そこで,ssh ポートフォワーディングを利用すればいいことに気がつく.
まず初めに,リモート側のPCでポートフォワーディングを行う.pulseaudioは音の出力にTCP ポート4713を使っているようだ.
よって次のようなコマンドを入力.
remote-pc $ ssh -N -L 4713:192.168.1.2:4713 ユーザ名@200.200.xxx.xxx
次に,今度はローカルPCから リモートPCのpadevchooser を起動.
local-pc $ ssh 123.222.xxx.xxx -X
remote-pc $ padevchooser &
このようにすると,ローカルPCの通知スペースにリモートPCのPulseAudio Appletが起動するはず.
このAppletをクリック,Default Server -> Other... を選択.
表示されたテキストボックスに localhost と打ち込む.
(このようにPulseAudio Appletを起動しなくてもDefault Serverを変更できる方法があれば知りたいです)
もう一度,ssh経由でwavを再生してみる.
local-pc $ ssh 123.222.xxx.xxx
remote-pc $ play Sound.wav
無事音が流れれば成功.