UnixでストリーミングファイルをDLしたい

[Unix][備忘録]UnixでストリーミングファイルをDLしたい

あらすじ

ミルキィホームズのラジオ(番組はなんでも可)を毎週自動的にサーバにDLするスクリプトを組みたい!

調べること

  • ラジオはMMSプロトコルのASFファイル
    • wgetでDLできる?
      • MMSに対応してない模様? wget proなら対応しているらしいが…
    • mplayerというソフトウェアでUnixでもMMSファイルをDLできるらしい http://ja.wikipedia.org/wiki/MPlayer:title

というわけでまずはmplayerを使ってUnixでストリーミングファイルをDLできるようにしてみる。

ダウンロード、インストール

ソースからDL。まずはzlibそしてGitが必要。

http://zlib.net/:title

$ 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

http://git-scm.com/:title

$ 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>&#65533;~&#65533;&#65533;&#65533;L&#65533;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なされている! そしてちゃんと聞ける!

次回は毎週お目当てのファイルを探し当てる旅にでます。

次回

その前にダウンロードしたファイルを変換する事に。

関連記事(この記事の初版より古い記事はリンクがグレーで表示されます)

  1. 2011/12/24 [Unix] 特定のファイルを探したり除外したり(メモ)
  2. 2011/12/23 [Unix] [Vim] Vimコマンドよく使うものと覚えたいコマンドまとめ
  3. 2011/12/18 [Unix] [Vim] Vimを使い始めるためにインストールから設定まで行った
  4. 2011/12/17 [Unix] Unixでwmvファイルを他のファイルフォーマットに変換したい
  5. 2011/12/16 [Subversion] [Unix] svn infoコマンドでリビジョン番号を抜き出す
  6. 2011/12/14 [Unix] [さくらVPS] [StartUp] さくらVPSの初期設定メモ
  7. 2011/12/13 [Subversion] [Unix] svn updateコマンド以外でリビジョン番号を抜き出す
  8. 2011/12/12 [Unix] [Shell] [Solaris] ファイルの拡張子を見て適切なコマンドで解凍してくれるスクリプトを組んだ
  9. 2011/12/09 [Unix] [Solaris] Unixでファイル圧縮・解凍するときに使うコマンドをまとめた
  10. 2011/12/04 [Ruby] [Mac] [Unix] 複数のRuby環境の管理・切替ができるrvmをインストールした
  11. 2011/10/08 [Unix] [Dropbox] [さくらVPS] さくらVPSにインストールしたDropboxのEnable LAN syncオプションをOFFにする
  12. 2011/04/23 [Unix] [Dropbox] [さくらVPS] さくらVPSにDropboxをインストールした
  13. 2019/06/20 [Unix] Ctrl+Sで画面停止する機能を無効化する