1、RTMP 不能直接在浏览器播放
Chrome / Edge / Firefox / Safari 全部不支持 RTMP。
原 因:RTMP 依赖 Flash,而 Flash 已经被全球淘汰。
2、RTMP → HLS(m3u8) → hls.js
RTMP ------> HLS(m3u8) ------> web播放
推流/摄像头 转协议 hls.js
把 RTMP 转成 m3u8,Web 前端就能轻松播放
javascriptconst hls = new Hls(); hls.loadSource('https://xxx/live/abc.m3u8'); hls.attachMedia(video);
3、服务器安装 FFmpeg 或流媒体服务,把 RTMP 转成 HLS
后端装 FFmpeg(最简单)
服务器运行:
javascriptffmpeg -i rtmp://xxx/live/stream -c copy -f hls /var/www/html/live/stream.m3u8