NHKネットラジオAPI プログラミング解説

らじる★らじる

らじる★らじる NHKネットラジオでは、NHKラジオ第1、第2それにNHK-FMの放送を、ストリーミングで聴取できます。

このストリームのURLやAPIは、

から取得でき、次のような内容です。

<?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>tokyo</area>
      <apikey>001</apikey>
      <areakey>130</areakey>

      <r1><![CDATA[rtmpe://netradio-r1-flash.nhk.jp/live/NetRadio_R1_flash@63346]]></r1>
      <r2><![CDATA[rtmpe://netradio-r2-flash.nhk.jp/live/NetRadio_R2_flash@63342]]></r2>
      <fm><![CDATA[rtmpe://netradio-fm-flash.nhk.jp/live/NetRadio_FM_flash@63343]]></fm>

      <r1hls><![CDATA[http://netradior1p-i.akamaihd.net/hls/live/200452/1-r1/1-r1-01.m3u8]]></r1hls>
      <r2hls><![CDATA[http://netradior2p-i.akamaihd.net/hls/live/200454/1-r2/1-r2-01.m3u8]]></r2hls>
      <fmhls><![CDATA[http://netradiofmp-i.akamaihd.net/hls/live/200456/1-fm/1-fm-01.m3u8]]></fmhls>

      <oshirase><![CDATA[/netradio/files/include/oshirase_tokyo.txt]]></oshirase>
      <banners><![CDATA[/netradio/files/include/banners_tokyo.txt]]></banners>

    </data>
    <data>
      <areajp>名古屋</areajp>
      <area>nagoya</area>
      <apikey>300</apikey>
      <areakey>230</areakey>

      <r1><![CDATA[rtmpe://netradio-ckr1-flash.nhk.jp/live/NetRadio_CKR1_flash@108234]]></r1>
      <r2><![CDATA[rtmpe://netradio-r2-flash.nhk.jp/live/NetRadio_R2_flash@63342]]></r2>
      <fm><![CDATA[rtmpe://netradio-ckfm-flash.nhk.jp/live/NetRadio_CKFM_flash@108235]]></fm>

      <r1hls><![CDATA[http://netradiockr1-i.akamaihd.net/hls/live/208071/1-r1/1-r1-01.m3u8]]></r1hls>
      <r2hls><![CDATA[http://netradior2p-i.akamaihd.net/hls/live/200454/1-r2/1-r2-01.m3u8]]></r2hls>
      <fmhls><![CDATA[http://netradiockfm-i.akamaihd.net/hls/live/208072/1-fm/1-fm-01.m3u8]]></fmhls>

      <oshirase><![CDATA[/netradio/files/include/oshirase_nagoya.txt]]></oshirase>
      <banners><![CDATA[/netradio/files/include/banners_nagoya.txt]]></banners>

    </data>
    ...
  </stream_url>

  <!-- RSID -->
  <!--<rsid>nhkonetradiodev</rsid>--><rsid>nhkonetradioprd</rsid>

  <!-- ただいま放送中の番組を取得するAPIのURL -->
  <url_program_noa><![CDATA[http://api.nhk.or.jp/r2/pg/now/4/{area}/netradio.json]]></url_program_noa>

  <!-- 番組表を取得するAPIのURL -->
  <url_program_day><![CDATA[http://api.nhk.or.jp/r2/pg/list/4/{area}/{service}/[YYYY-MM-DD].json]]></url_program_day>

  <!-- 番組の詳細情報を取得するAPIのURL -->
  <url_program_detail><![CDATA[http://api.nhk.or.jp/r2/pg/info/4/{area}/{service}/{dateid}.json]]></url_program_detail>

  <!-- ストリームのバッファ(秒) -->
  <pcm_initial_buffer>2</pcm_initial_buffer>

  <!-- らじるのツイートのタイムライン -->
  <radiru_twitter_timeline><![CDATA[http://cgi4.nhk.or.jp/tweet/api/tweet.cgi?twname=nhk_radiru]]></radiru_twitter_timeline>

</radiru_config>

このことから、たとえば東京でのストリームURLは、

となっていることがわかります。

VLC media playerでこのURLをネットワークストリームとして開くと、音声を確認できます。

ラジオ第1の音声

前述のストリームURL、[http://netradior1p-i.akamaihd.net/hls/live/200452/1-r1/1-r1-01.m3u8]からはプレイリスト (M3U) を取得でき、それは次のような内容です。

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:296906
#EXTINF:10,
1-r1-20161214T170311-01-148/906.ts
#EXTINF:10,
1-r1-20161214T170311-01-148/907.ts
#EXTINF:10,
1-r1-20161214T170311-01-148/908.ts
...

このリストの最初の項目へは[http://netradior1p-i.akamaihd.net/hls/live/200452/1-r1/1-r1-20161214T170311-01-148/906.ts]でアクセスでき、MPEG-TS (MPEG transport stream) で音声を取得できます。