当初,
本連載ではNHKのインターネットラジオ
MMS
これを受け,
「らじる☆らじる」
それから2年経った今年の9月,
RTMPからHLSへの移行
前節でも触れたように,
Macromedia社は2005年にAdobe社によって買収され,
RTMPは独自プロトコルを利用しているため,
FlashPlayerには,
加えて,
そのような環境変化を踏まえ,
一方,
HLSの場合,
実のところ,
HLSについて
さて,
「複数の動画ファイルを指定した順に連続して再生する」
M3U形式を採用することで,
少し先回りになりますが,
$ wget https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8 --2017-09-27 08:21:09-- https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8 Resolving nhkradioakfm-i.akamaihd.net... 61.213.189.240, 61.213.189.250 Connecting to nhkradioakfm-i.akamaihd.net|61.213.189.240|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 965 [application/x-mpegURL] Saving to: ‘1-fm-01.m3u8’ 1-fm-01.m3u8 100%[================================>] 965 --.-KB/s in 0s 2017-09-27 08:21:09 (138 MB/s) - ‘1-fm-01.m3u8’ saved [965/965]
このファイルの中身は以下の通り,
$ cat 1-fm-01.m3u8 #EXTM3U #EXT-X-VERSION:2 #EXT-X-TARGETDURATION:11 #EXT-X-MEDIA-SEQUENCE:222425 #EXTINF:10, 1-fm-20170831T143716-01-111/425.ts #EXTINF:10, 1-fm-20170831T143716-01-111/426.ts #EXTINF:10, 1-fm-20170831T143716-01-111/427.ts #EXTINF:10, 1-fm-20170831T143716-01-111/428.ts ....
ここで指定されている "425.
$ wget https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-20170831T143716-01-111/439.ts --2017-09-27 08:26:42-- https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-20170831T143716-01-111/439.ts Resolving nhkradioakfm-i.akamaihd.net... 61.213.189.240, 61.213.189.250 Connecting to nhkradioakfm-i.akamaihd.net|61.213.189.240|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 87232 (85K) [video/MP2T] Saving to: ‘439.ts’ 439.ts 100%[================================>] 85.19K --.-KB/s in 0.007s 2017-09-27 08:26:42 (12.4 MB/s) - ‘439.ts’ saved [87232/87232]
このファイルは,
$ ls -lh 439.ts -rw-r--r--+ 1 kojima users 86K 9月 27日 08:26 439.ts $ file 439.ts 439.ts: MPEG transport stream data
このファイルのみをsmplayerで再生することも可能で,
一方,
$ smplayer https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8 QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-kojima' QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-kojima' Debug: global_init ... Debug: BaseGui::open: 'https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8' Debug: Core::open: 'https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8' ... Debug: Core::startMplayer: checking if stream is a playlist Debug: Core::startMplayer: url path: '/hls/live/512290/1-fm/1-fm-01.m3u8' Debug: Core::startMplayer: url_is_playlist: 1 Debug: Core::startMplayer: URL extension: "m3u8" Debug: InfoReader::setPlayerBin: mplayerbin: "/usr/bin/mpv" ...