当初,
「らじる☆らじる」の配信方式
NHKラジオの番組を放送と同時にインターネットでも配信する
Adobe社が配布しているAdobe Flashplayer
そのため,
そう言えば,
WMA形式での配信が終了してしまったので
録音用スクリプトの改修
「らじる☆らじる」
config_
<?xml version="1.0" encoding="UTF-8"?>
<radiru_config>
<!-- お知らせ情報テキスト(中身はHTML) -->
<info><![CDATA[/netradio/files/include/oshirase.txt]]></info>
<!-- 各地域のストリームURL -->
<stream_url>
<data>
<areajp>仙台</areajp>
<area>sendai</area>
<apikey>600</apikey>
<r1><![CDATA[rtmpe://netradio-hkr1-flash.nhk.jp/live/NetRadio_HKR1_flash@108442]]></r1>
<r2><![CDATA[rtmpe://netradio-r2-flash.nhk.jp/live/NetRadio_R2_flash@63342]]></r2>
<fm><![CDATA[rtmpe://netradio-hkfm-flash.nhk.jp/live/NetRadio_HKFM_flash@108237]]></fm>
<oshirase><![CDATA[/netradio/files/include/oshirase_sendai.txt]]></oshirase>
<banners><![CDATA[/netradio/files/include/banners_sendai.txt]]></banners>
</data>
<data>
<areajp>東京</areajp>
<area>tokyo</area>
<apikey>001</apikey>
<r1><![CDATA[rtmpe://netradio-r1-flash.nhk.jp/live/NetRadio_R1_flash@63346]]></r1
...
このファイルを見ると,rtmpe://
というURLで配信されていることがわかります。
R1がNHKラジオ第一,
とりあえず配信元のURLはわかったものの,
このページによると,
rtmpdump --rtmp "rtmpe://netradio-fm-flash.nhk.jp" \ --playpath 'NetRadio_FM_flash@63343' \ --app "live" \ --swfVfy http://www3.nhk.or.jp/netradio/files/swf/rtmpe.swf \ --live \ -o fm.m4a
という指定でダウンロードできるようです。
指定されているオプションのうち,--swfVfy
は配信されているAdobe Flashを再生するためのプレイヤーの指定で,
最近,
さて,
206 if channel == 'r1':
207 rtmp='rtmpe://netradio-r1-flash.nhk.jp'
208 playpath='NetRadio_R1_flash@63346'
209 elif channel == 'r2':
210 rtmp='rtmpe://netradio-r2-flash.nhk.jp'
211 playpath='NetRadio_R2_flash@63342'
212 elif channel == 'fm':
213 rtmp='rtmpe://netradio-fm-flash.nhk.jp'
214 playpath='NetRadio_FM_flash@63343'
215 else:
216 print("channel set error:{0}".format(channel))
217 usage()
218 sys.exit(1)
生成する録音用スクリプトもrtmpdumpを使うように修正しました。
229 lines.append('#!/bin/sh')
230 lines.append('flvfile={0}/{1}.flv'.format(musicdir, title))
231 lines.append('m4afile={0}/{1}.m4a'.format(musicdir, title))
232 lines.append('(rtmpdump --rtmp {0} --playpath {1} --app "live" \
--swfVfy "http://www3.nhk.or.jp/netradio/files/swf/rtmpe.swf" \
--quiet --live --stop {2} -o $flvfile ) &'.format(rtmp, playpath, sduration))
233 lines.append('sleep 1m')
234 lines.append('radiru_noa.py {0} $m4afile'.format(channel))
235 lines.append('sleep {0}m'.format(duration))
236 lines.append('ffmpeg -loglevel error -i $flvfile -acodec copy $m4afile < /dev/null')
237 lines.append('if [ -f "$m4afile" ]; then ')
238 lines.append(' rm -f $flvfile')
239 lines.append('fi')
240 lines.append('radiru_tag.py $m4afile')
241 lines.append('rm -f {}'.format(scriptname))
242 lines.append('')
243 script = "\n".join(lines)
このスクリプトでは,
Adobe Flashファイルの音声データはMPEG-4 Audioと同じHE-AAC