響 – Hibiki Radio Station – 録音スクリプト修正

Hibiki Radio Station の番組詳細ページの Windows Media Player ファイルを保存するためのスクリプトです。
本当はTOPページで rtmpdump するのがいいんでしょうけど手っ取り早いので。
asx ファイルが変わったみたいので対応しました。

02/05追記:なんだか頻繁に録音失敗するので、一回リトライするようにしました。っていうか mimms にレジュームオプションなんてあったんですね……。

02/13追記:mimmsは途中終了してもエラーにならないらしいので ”||” 演算子の意味が無い……。どんな場合でも二回mimmsするようにしました。

#!/bin/sh -e
# hibiki.sh ver.0.5.6 (2013-02-13)
# require wget, ruby, and mimms
TMPFILE="/var/tmp/tmp.$$"
trap 'rm -f ${TMPFILE}' EXIT

if [ $# -eq 1 ]; then
  STR=$1

  # save asx file
  wget -q -O - http://hibiki-radio.jp/description/${STR} | grep WMV | ruby -ruri -e 'puts URI.extract(ARGF.read, "http")' | head -1 | xargs wget -q -O ${TMPFILE}
  if [ -z ${TMPFILE} ]; then
    echo "download ERROR"
    exit 1
  fi
  TITLE=`cat ${TMPFILE} | ruby -rrexml/document -e 'puts REXML::Document.new(ARGF).elements["ASX/entry/title"].text'`
  WMVFILE=`cat ${TMPFILE} | ruby -rrexml/document -e 'puts REXML::Document.new(ARGF).elements["ASX/entry/Ref"].attributes["href"]'`
  if test a"$TITLE" = a"" ; then
    echo "asx detection failed."
    exit 1
  fi

  mimms -r ${WMVFILE} "${TITLE}.asf"
  mimms -r ${WMVFILE} "${TITLE}.asf"

else
  echo "usage: `basename $0` STRING"
fi

WebRadioRecorder/hibiki.sh at master · unot/WebRadioRecorder · GitHub

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中