radiko.jpのplayerスクリプト ― 2010/04/17
radiko.jpのplayerスクリプトのURLが変更になった。
http://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/1.1/player/js/player.js
私の環境ではコマンドラインでのラジコ(radiko.jp)の録音2で問題ない。
コマンドラインでのラジコ(radiko.jp)の録音4 ― 2010/04/08
radiko.jpの仕様変更でプロトコルが変わった模様。
radiko.jpのお知らせ 2010.04.07 セキュリティの強化について参照
対応方法
- rtmpdumpを最新にする(2.2b 2010-03-22) :rtmpdump
- rtmp:をrtmpe:に変更
radiko.jpを聴く簡易アプリ Ver.0.4(1) ― 2010/04/03
コマンドラインでのラジコ(radiko.jp)の録音3 ― 2010/04/01
radiko.jpをrtmpdumpで録音した時、
(多分)音質が良くて小さいファイルへの変換方法
ffmpegとMac標準のafconvertを使用する。
$ ffmpeg -vn -i input.flv temp.wav $ afconvert temp.wav -f m4af output.m4a $ rm temp.wav
もっと適切な方法/パラメータがあるのかもしれないが
ffmpegだけよりよい音質のような気がする。
中間ファイル(wav)が大きくなるのが問題。
サイズの例
sample.flv 6.9M temp.wav 213M afconv.m4a 18M (afconvert) ffmpeg.m4a 36M (ffmpeg -aq 0で変換,encoder: Lavf52.56.0)
radiko.jpを聴く簡易アプリ Ver.0.3(4) ― 2010/03/28
コマンドラインでのラジコ(radiko.jp)の録音2 ― 2010/03/25
MacOS X 10.2,FreeBSD 7.1で確認
変更点
- aacに変換して1本のファイルに結合
- aacだと再生時のスキップ等が可能になる
- aacはファイルを結合するだけで処理が簡単
#!/bin/sh LANG=C; export C FDIR=/Users/buimemo/radiko-flv ADIR=/Users/buimemo/radiko-aac STIME=`/bin/date +%s` RTIME=$3 SDTIME=`/bin/date +%Y-%m%d-%H%M-$$F` while : ; do DTIME=`/bin/date +%Y-%m%d-%H%M-$$` echo "### $1-$2-${DTIME}.flv ###" /usr/local/bin/rtmpdump \ -B ${RTIME} \ -qv \ --timeout 10 \ -r rtmp://radiko.smartstream.ne.jp/$2/_defInst_/simul-stream \ -o ${FDIR}/$1-$2-${DTIME}.flv echo NTIME=`/bin/date +%s` RTIME=`/bin/expr $3 - ${NTIME} + ${STIME} ` if [ 0 -ge ${RTIME} ]; then break; fi done /usr/bin/du -sh ${FDIR} echo cd ${FDIR} FLVFILES="$1-$2-????-????-*-$$.flv" /bin/ls -lh ${FLVFILES} echo /bin/date echo echo "#######################################################" for i in ${FLVFILES} ; do /usr/local/bin/ffmpeg -v 0 \ -i ${i} -acodec copy \ ${ADIR}/${i%%.flv}.aac done echo cd ${ADIR} ls -lh ${FLVFILES%%.flv}.aac echo "#######################################################" AACFC=`ls -lh ${FLVFILES%%.flv}.aac | /usr/bin/wc -l` echo if [ ${AACFC} -eq 1 ]; then mv ${FLVFILES%%.flv}.aac \ $1-$2-${SDTIME}.aac else cat ${FLVFILES%%.flv}.aac \ > $1-$2-${SDTIME}.aac /bin/rm ${FLVFILES%%.flv}.aac fi echo ls -lh $1-$2-${SDTIME}.aac echo /usr/bin/du -sh ${ADIR} echo # end
- Macのバイナリはこちらから入手可能
- crontabの例(Mac)
- TBS キラ☆キラを12:57分から9300秒(2時間35分)、月〜金で録音
MAILTO="" #メールを送信しない場合 #minute hour mday month wday command 57 12 * * 1-5 /Users/buimemo/bin/RadikoRecord Kira TBS 9300
ラジコの録音のためのrtmpdump ― 2010/03/19
RTMPDump v2.2aで確認
- ソースコードの入手
$ svn co svn://svn.mplayerhq.hu/rtmpdump/trunk rtmpdump
- Mac OS X(10.6で確認)
$ make posix
- FreeBSD(7.1)
$ gmake posix
- 録音例1
- TBSを1時間録音
$ rtmpdump -B 3600 \ -vr rtmp://radiko.smartstream.ne.jp/TBS/_defInst_/simul-stream \ -o tbs.flv
- 録音例2
- J-WAVEをタイムアウト300秒、SOCKS4 prox使用して1時間録音
- SOCK4 proxy serverで port 1935を許可
$ rtmpdump -B 3600 --timeout 300 --socks proxy:1080 \ -vr rtmp://radiko.smartstream.ne.jp/FMJ/_defInst_/simul-stream \ -o j-wave.flv
- 再生はVLCまたはRealPlayerで可能
- 問題
- 録音が途中停止することがある。原因が追い切れていない。
- (ffmpegのと違い、途中で停止しても終了する。)
ラジコの録音のためのffmpeg ― 2010/03/18
FFmpeg version SVN-r22585で確認
- ソースコードの入手
$ svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
- Mac OS X (10.6で確認)でのコンパイル
$ ./configure --enable-swscale --enable-gpl --enable-pthreads
- FreeBSD(7.1)でのコンパイル
$ patch < /usr/ports/multimedia/ffmpeg-devel/files/patch-libavdevice-bktr.c $ patch < /usr/ports/multimedia/ffmpeg-devel/files/patch-libavdevice-oss_audio.c $ patch < /usr/ports/multimedia/ffmpeg-devel/files/patch-libavformat-udp.c $ ./configure --enable-swscale --enable-gpl --enable-pthreads $ gmake # makeではだめ
- ソースの変更 参照:radikoをフラッシュ無しで再生
- 録音例 TBSを1時間録音
$ ffmpeg -t 1:00:00 \ -i rtmp://radiko.smartstream.ne.jp:1935/TBS/_defInst_/simul-stream \ -acodec copy tbs.aac
- 再生はVLCまたはRealPlayerで可能
- 問題
- proxy経由にならない
- タイムアウトが短い?途中で停止していることがある模様