diary/Kojima

・NHKラジオ第二 カルチャーラジオのストリーミング

この4月から、「カルチャーラジオ」のストリーミングが始まったので少し調べてみたことのメモ。

月曜の「ラジオアーカイブス」から金曜の「科学と人間」までの各番組と土曜の「漢詩を読む」、日曜の「日曜カルチャー」が「カルチャーラジオ」としてストリーミング提供されている。

ストリーミングを提供しているページのソースを眺めると、各番組の情報はjson形式で提供されているようでそれぞれのURLは、 http://www.nhk.or.jp/radioondemand/1279/bangumi_1279_[1-7].json

"1"が月曜の「ラジオアーカイブス」、"2"が火曜の「歴史再発見」、"3"が「芸術その魅力」、"4"が「文学の世界」、"5"が「科学と人間」、"6"が「漢詩を読む」、"7"が「日曜カルチャー」という割り当てになっている。

送られてくるjsonデータは、"main"の下に"week","corner_id", "media_code",,,等のデータが並ぶけど、とりあえず ['main']['media_name']、['main']['navi_name']、['main']['corner_name']、['main']['detail_list']くらいを調べれば必要な情報は揃いそう。

とりあえずこんなコードを書いてみた。なお、URL操作用にPythonにrequestsモジュールを追加インストールしている。

#!/usr/bin/python
# -*- coding: utf-8 -*- 

import requests, json
json_data = {}
json_url_base = 'http://www.nhk.or.jp/radioondemand/1279/bangumi_1279_0'
for i in range(1,8):
    json_url = json_url_base + str(i) + '.json'
    json_data[i] = json.loads(requests.get(json_url).text) 

    print(json_data[i]['main']['media_name'])
    print(json_data[i]['main']['navi_name'])
    print(json_data[i]['main']['coner_name'])

    for j in json_data[i]['main']['detail_list']:
        print(j['headline'])
        print(j['headline_sub'])
        for k in j['file_list']:
            print(k['file_title'])
            print(k['file_name'])

結果はこんな感じ。

$ python ./parse_json.py 
NHKラジオ第2
ドキュメンタリー/教養
カルチャーラジオ 月曜日 NHKラジオ・アーカイブス
野坂昭如
元文芸誌編集長…大村彦次郎,【司会】宇田川清江
第1回(4月4日放送)
https://nhk-vh.akamaihd.net/i/radioondemand/1279/bangumi_1279_01_01_20160404_01.mp4/master.m3u8
第2回(4月11日放送)
https://nhk-vh.akamaihd.net/i/radioondemand/1279/bangumi_1279_01_02_20160411_01.mp4/master.m3u8
...
ドキュメンタリー/教養
カルチャーラジオ 水曜日 芸術その魅力
ボサノヴァとブラジルの心
共立女子大学准教授 福嶋伸洋
第1回 すべてをかえた1分59秒〜シェーガ・ジ・サウダージ(4月6日放送)
https://nhk-vh.akamaihd.net/i/radioondemand/1279/bangumi_1279_03_01_20160406_01.mp4/master.m3u8
第2回 カーニヴァルの至福の時〜フェリシダージ(4月13日放送)
https://nhk-vh.akamaihd.net/i/radioondemand/1279/bangumi_1279_03_02_20160413_01.mp4/master.m3u8
...

これらのURLから提供されるのはmp4をHLS(HTTP Live Streaming)形式に変換したデータで、master.m3u8 を見るとシーク用に10秒ごとに細切れになっているみたいだけど、ffmpegを使えばURLから直截ダウンロードできる模様。ただ、Plamo-6.1所載のffmpeg-2.5.4だとHTTPSに対応していないから、configure時に--enable-openssl か --enable-gnutls オプションを付けて再ビルドする必要がある。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:43