So-net無料ブログ作成

radiko録音その3(Mac) [Mac]

radiko録音(Mac)修正など。
2010/05/29追記: 05/26くらいからradiko.jpに蹴られるのでrtmpdumpのパラメータ(-f 'LNX 10,0,45,2')追加。(RTMPDump v2.2e)
2010/06/03追記: 06/02からradiko.jpにまたまた蹴られる。rtmpdumpのパラメータ(-f 'LNX 10,0,45,2')を指定しても -f を外してもダメダメ。-f '1234(適当な文字列)'でOK! (RTMPDump v2.2e)って...そこまでして純正Apl以外の接続を排除したいのかなぁ。radikoに負荷かけてるようなリトライもしてないのにね。
2010/06/10追記: イタチごっこ。 -s '1234' を追加でok

id3v2をわざわざ使わなくなくてもffmpegでaacやmp3ファイルに「タイトル」とか
「ジャンル」とかを付けられようなのでスクリプトを修正してみた。
iTunesのスマートプレイリスト振り分けが楽になったかも。
※cron登録が長ったらしいけど、こんな感じで.
※portでインストールしたffmpgeg 0.5.1では"アーティスト"設定が"-metadata author=hogehoge"
 となり、svnで持ってきたソースをコンパイルしたffmpgeg SVN-r22687では
 "アーティスト"設定が"-metadata artist=hogehoge"になる。ふむ。面倒だから両方書いとくw

1.スクリプトを配置
  以下のスクリプトをホームディレクトリに置いて、chmod 755 radiko.kshを実行
  radiko.ksh
#!/bin/ksh #----------------------------------------------------------------- # $1:SID (必須) # $2:OFILE (必須) # 任意のファイル名(UTF-8可) # $3:TIME (必須) # 録音時間(分) # # -t "VALUE" (省略可) # タイトル # -a "VALUE" (省略可) # アーティスト # -A "VALUE" (省略可) # アルバム # -g "VALUE" (省略可) # ジャンル #----------------------------------------------------------------- export LANG="ja_JP.UTF-8" export LC_ALL="ja_JP.UTF-8" USAGE=\ "Usage:$0 SID OFILE TIME [-t \"TITLE\"] [-a \"ARTIST\"] [-A \"ALBUM\"] [-g \"GENRE\"]" if [ $# -lt 3 ];then echo ${USAGE} 1>&2 exit 1 fi STA="$1" FBASE="$2" FTIME=0 FTIME=$3 TOUT=1800 #### タイムアウト(秒) CODEC=libmp3lame ####CODEC=libfaac DATE1=$(date +%Y-%m-%d_%H.%M.%S) DATE2=$(echo ${DATE1} | cut -c1-10) YEAR=$(echo ${DATE1} | cut -c1-4) shift 3 while getopts a:g:t:A: opt do case ${opt} in t) TITLE="${OPTARG} ${DATE2}";; a) AUTHOR="${OPTARG}";; g) GENRE="${OPTARG}";; A) ALBUM="${OPTARG}";; *) echo ${USAGE} 1>&2 exit 1;; esac done RDIR="${HOME}/radiko_dat" if [ "${CODEC}" = "libmp3lame" ];then RFILE="${RDIR}/${STA}_${FBASE}_${DATE1}.mp3" else RFILE="${RDIR}/${STA}_${FBASE}_${DATE1}.m4a" fi iTunes_DIR=`find "${HOME}" -name "iTunes に自動的に追加" -type d | grep -vi trash` let FTIME=" $FTIME * 60 + 10" if [ ! -d "${RDIR}" ]; then mkdir "${RDIR}" fi /opt/local/bin/rtmpdump -B ${FTIME} -m ${TOUT} -qvr \ rtmpe://radiko.smartstream.ne.jp/${STA}/_defInst_/simul-stream -f '1234' -s '1234' \ -o - 2>/dev/null | \ /opt/local/bin/ffmpeg \ -metadata author="${AUTHOR}" \ -metadata artist="${AUTHOR}" \ -metadata title="${TITLE}" \ -metadata album="${ALBUM}" \ -metadata genre="${GENRE}" \ -metadata year="${YEAR}" \ -y -i - -vn -acodec ${CODEC} -ar 44100 -ab 196608 -ac 2 "${RFILE}" > /dev/null 2>&1 cp "${RFILE}" "${iTunes_DIR}" if [ "$?" = "0" ]; then rm -f "${RFILE}" fi
※"iTunes_DIR"はスクリプト内でホームディレクトリ下の”iTunes に自動的に追加"ディレクトリを  探して設定してますがiTunesの設定で「環境設定 → 詳細 "iTunes Media"フォルダの場所」を  ホームディレクトリ下以外に設定変更している場合は、スクリプトの"iTunes_DIR"を  ベタで書き換えてください。 2.cron登録 例) ・毎週火曜1:00からTBSラジオをファイル名"TBS_ijuin_YYYY-MM-DD_hh.mm.ss.xxx" として120分録音(xxxは"CODEC=libmp3lame"の場合mp3、CODEC=libfaacの場合":m4a) ・毎週月~金曜13:00からTBSラジオをファイル名"TBS_kirakira_YYYY-MM-DD_hh.mm.ss.xxx" として150分録音(xxxは"CODEC=libmp3lame"の場合mp3、CODEC=libfaacの場合":m4a)
0  1 * * 2  ~/radiko.ksh TBS ijuin 120 -t "深夜の馬鹿力" -a "伊集院光" -A "TBSラジオ" -g "ラジオ" >/dev/null 2>&1
0 13 * * 1-5 ~/radiko.ksh TBS kirakira 150 -t "キラ☆キラ" -a "小島慶子" -A "TBSラジオ" -g "ラジオ" >/dev/null 2>&1

nice!(0)  コメント(0)  トラックバック(1) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は180日以上新しい記事の更新がないブログに表示されております。