[Unix][備忘録]UnixでストリーミングファイルをDLしたい
あらすじ
ミルキィホームズのラジオ(番組はなんでも可)を毎週自動的にサーバにDLするスクリプトを組みたい!
調べること
- ラジオはMMSプロトコルのASFファイル
- wgetでDLできる?
- MMSに対応してない模様? wget proなら対応しているらしいが…
- mplayerというソフトウェアでUnixでもMMSファイルをDLできるらしい http://ja.wikipedia.org/wiki/MPlayer:title
- wgetでDLできる?
というわけでまずはmplayerを使ってUnixでストリーミングファイルをDLできるようにしてみる。
ダウンロード、インストール
ソースからDL。まずはzlibそしてGitが必要。
$ wget http://zlib.net/zlib-1.2.5.tar.gz
$ gunzip zlib-1.2.5.tar.gz
$ tar xf zlib-1.2.5.tar
$ cd zlib-1.2.5/
$ ./configure
$ make
$ sudo make install
$ wget http://git-core.googlecode.com/files/git-1.7.7.4.tar.gz
$ gunzip git-1.7*
$ tar xf git -1.7*
$ cd git-1.7*
$ ./configure
$ make
$ sudo make install
http://www.mplayerhq.hu/design7/dload.html:title
$ wget http://www.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2
$ bunzip2 mplayer-export-*
$ tar xf mplayer-export-*
$ cd mplayer-export-*
$ ./configure --yasm=''
# FFmpegをチェックアウトするのにGitが必要
No FFmpeg checkout, press enter to download one with git or CTRL+C to abort
Cloning into 'ffmpeg'...
$ make
$ sudo make install
$ which mplayer
/usr/local/bin/mplayer
基本的な使い方
$ mplayer URL -dumpstream -dumpfile OUTPUT
でOK。試しに落としてみる…。URLはwgetコマンドで引っ張ってくる。
$ wget -O - http://origin.hibiki-radio.info/movie/asx/8/2080.asx
--2011-12-05 06:47:08-- http://origin.hibiki-radio.info/movie/asx/8/2080.asx
Resolving origin.hibiki-radio.info... 202.210.134.26
Connecting to origin.hibiki-radio.info|202.210.134.26|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 216 [video/x-ms-asf]
Saving to: `STDOUT'
0% [ ] 0 --.-K/s <ASX version="3.0">
<TITLE>�~���L�B3 #33 11/29</TITLE>
<AUTHOR></AUTHOR>
<COPYRIGHT></COPYRIGHT>
<ENTRY>
<REF HREF="mms://wms.hibiki-radio.info/hibiki1004/8_0_2080.wmv" />
</ENTRY>
</ASX>
100%[======================================================================>] 216 --.-K/s in 0s
2011-12-05 06:47:08 (37.6 MB/s) - written to stdout [216/216]
$ mplayer mms://wms.hibiki-radio.info/hibiki1004/8_0_2080.wmv -dumpstream -dumpfile milky.wmv
MPlayer SVN-r34393-snapshot-4.4.5 (C) 2000-2011 MPlayer Team
Playing mms://wms.hibiki-radio.info/hibiki1004/8_0_2080.wmv.
STREAM_ASF, URL: mms://wms.hibiki-radio.info/hibiki1004/8_0_2080.wmv
Resolving wms.hibiki-radio.info for AF_INET6...
Couldn't resolve name for AF_INET6: wms.hibiki-radio.info
Resolving wms.hibiki-radio.info for AF_INET...
Connecting to server wms.hibiki-radio.info[202.210.134.27]: 1755...
connect error: Connection timed out
Resolving wms.hibiki-radio.info for AF_INET6...
Couldn't resolve name for AF_INET6: wms.hibiki-radio.info
Resolving wms.hibiki-radio.info for AF_INET...
Connecting to server wms.hibiki-radio.info[202.210.134.27]: 80...
Resolving wms.hibiki-radio.info for AF_INET6...
Couldn't resolve name for AF_INET6: wms.hibiki-radio.info
Resolving wms.hibiki-radio.info for AF_INET...
Connecting to server wms.hibiki-radio.info[202.210.134.27]: 80...
Cache size set to 180 KBytes
Stream not seekable!
dump: 3502080 bytes written
$ while : ; do date; ls -l mil*; sleep 1 ; done
Mon Dec 5 06:50:21 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 946176 2011-12-05 06:50 milky.wmv
Mon Dec 5 06:50:22 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 962560 2011-12-05 06:50 milky.wmv
Mon Dec 5 06:50:23 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 970752 2011-12-05 06:50 milky.wmv
Mon Dec 5 06:50:24 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 987136 2011-12-05 06:50 milky.wmv
Mon Dec 5 06:50:25 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 1003520 2011-12-05 06:50 milky.wmv
Mon Dec 5 06:50:26 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 1019904 2011-12-05 06:50 milky.wmv
Mon Dec 5 06:50:27 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 1019904 2011-12-05 06:50 milky.wmv
Mon Dec 5 06:50:28 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 1036288 2011-12-05 06:50 milky.wmv
Mon Dec 5 06:50:29 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 1052672 2011-12-05 06:50 milky.wmv
Mon Dec 5 06:50:30 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 1069056 2011-12-05 06:50 milky.wmv
Mon Dec 5 06:50:31 PST 2011
-rw-r--r-- 1 gosyujin gosyujin 1077248 2011-12-05 06:50 milky.wmv
もりもりDLなされている! そしてちゃんと聞ける!
次回は毎週お目当てのファイルを探し当てる旅にでます。
次回
その前にダウンロードしたファイルを変換する事に。