HTML5対応のニコニコ生放送視聴ページβ版を公開しました|ニコニコインフォ
2017年1月16日から Flash なしの HTML5 で観られるようになった、HTML5対応のニコニコ生放送視聴ページについて。現在は平日19時からのニコラジで HTML5対応のニコニコ生放送が観られる。
現在未対応の主な機能にコメント投稿ができないのは通常放送に比べて遅延がありコメントがずれるのが原因と考えられる。H.264 エンコードにおける遅延については現在は品切れしている『【新刊】空気録学 2016年12月号 (C91)』の「もしかして難しい?配信におけるエンコード」の部分にも詳しく書いてある。
HTML5対応のニコニコ生放送視聴ページに切り替えると普段の RTMP から HLS に切り替わる。HLS のマニフェストのファイルパスはユーザー生放送の新配信(β)と同様に調べられる。
2019年5月30日までに公式の生放送以外の WebSocket 経由の rtmp は受信できなくなった。
プロトコルを ws: から wss: に変更し接続できなかったのを直した。2019年5月28日
ユーザー生放送とでは通信先が少し異なる
wss://a.live2.nicovideo.jp:2805/wsapi/v1/watch/broadcastId?audience_token=audienceToken
Request にはユーザー生放送で使っていた rtmp の他に hls も使える
RTMP{"type":"watch","body":{"params":["broadcastId","","true","rtmp",""],"command":"getpermit"}}
HLS{"type":"watch","body":{"params":["broadcastId","","true","hls",""],"command":"getpermit"}}
uri に hls のマニフェストのファイルパスが書かれているのでこれを読み込めば再生できる。
ffplay で再生する例
ffplay -i "http://smilehtlv.mmdlive.lldns.net/smilehtlv/d6028db90faa4e33b725baaca24aade0/manifest.m3u8?p=45&ci=60&cd=60&e=1484758800&cf=1484758800&uid=151356&h=4f3277afa0683ef6fd415e2c948522d9"
ffmpeg で録画する例
ffmpeg -i "http://smilehtlv.mmdlive.lldns.net/smilehtlv/d6028db90faa4e33b725baaca24aade0/manifest.m3u8?p=45&ci=60&cd=60&e=1484758800&cf=1484758800&uid=151356&h=4f3277afa0683ef6fd415e2c948522d9" -c copy -bsf:a aac_adtstoasc output.flv
追記 2017年1月18日
HLS と RTMP とでは同じ映像が流れているようだ。