26 November 2006

LinuxでWindowsMediaのストリーミングを聞く (mplayer編) & ラジオ局リンク

Fedora Core 5で Windows Media Audio ストリーミング放送を受信する。

mplayer のインストール


[root@localhost ~]# yum install mplayer*

MIMEタイプの登録
asx エントリがあることを確認。無ければ追加。

/etc/mime.types

〜 (略) 〜

video/mp4v-es
video/mpeg mpeg mpg mpe
video/parityfec
video/pointer
video/quicktime qt mov
video/vnd.fvt
video/vnd.motorola.video
video/vnd.motorola.videop
video/vnd.mpegurl mxu
video/vnd.mts
video/vnd.nokia.interleaved-multimedia
video/vnd.vivo
video/x-ms-asf asf asx
video/x-ms-wm wm
video/x-ms-wmv wmv
video/x-ms-wmx wmx
video/x-ms-wvx wvx
video/x-msvideo avi
video/x-sgi-movie movie


再生
(たとえば、スイスのRadio32を受信する場合)


[root@localhost ~]# mplayer -playlist http://asx.skypro.tv/asx/radio/radio32-128.asx -softvol -af volume=-5:0

〜 (中略) 〜

Cache size set to 320 KBytes
Cache fill: 15.00% (49152 bytes)
ASF file format detected.
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16002->192000)
Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))
==========================================================================
alsa-init: using device default
alsa: 48000 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A: 126.2 (02:06.1) of 0.0 (unknown) 1.4% 44%

起動後の調整は(一応メモ程度に)
テンキーの「/」と「*」キーまたはキーボードの「9」と「0」キーでボリューム調整
「p」キーまたは「スペース」キーで一旦停止
「m」キーでミュート
「q」キーまたは「ESC」キーでプログラム終了

コンソールではなく、GUIが好みの場合は gmplayer という選択肢もある

root グループ以外のユーザで実行する場合、alsa関連でエラーが出ることもある


Cache fill: 17.50% (57344 bytes)
ASF file format detected.
Clip info:
name: CR CITY
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16002->192000)
Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))
==========================================================================
alsa-init: using device default
alsa-lib: pcm_dmix.c:851:(snd_pcm_dmix_open) unable to create IPC shm instance
alsa-init: playback open error: Permission denied

Could not open/initialize audio device -> no sound.
Audio: no sound
Video: no video

Exiting... (End of file)

解決方法は、sudo のリストにrootで実行できる権限を与える行を追加して

/etc/sudoers

root ALL=(ALL) ALL
「ユーザ名」 ALL =(root)/usr/bin/mplayer

sudo に続けてmplayer の実行コマンドを入力する


[root@localhost ~]# sudo mplayer -playlist http://asx.skypro.tv/asx/radio/radio32-128.asx

参考リンク

【OpenTechPress】 Linuxオーディオプレイヤーを求めて

WindowsMedia.com メディアガイド

wwiTV (チャンネルリスト)

ラジオ局リンク (個人的覚え書き)

bash スクリプトで


#!/bin/bash
sudo gmplayer -playlist $1

と作っておくと、FireFoxでasfリンクをクリックしたときに出るダイアログで、このスクリプトに送ってやれば再生できる。

/etc/sudoers

root ALL=(ALL) ALL
「ユーザ名」 ALL =(root)NOPASSWD:/usr/bin/mplayer,/usr/bin/gmplayer

と、「パスワードを確認しない」設定を追加しないと、うごかない…