嗨找到一个经过测试和工作的代码,它可以适应
注 1;输入可以是 https://www.....file.webm ;) webm 可以在 1 个服务器中生成,而 ffmpeg 可以在其他服务器中 ;)
笔记2 ; (未经测试)但似乎 FFMPEG 也可以收听 IP camffmpeg -rtsp_flags listen -i rtsp://ownaddress/live.sdp
FFMPEG:
ffmpeg -re -v verbose -i "file.webm" -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 18 -profile:v baseline -maxrate 1000k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 'index.m3u8'
HLS 通用可播放 HTML ;)感谢 hls.js https://github.com/video-dev/hls.js/
<html>
<head></head>
<body>
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<center><video width="90%" height="600" id="video" controls="" src="https://moctobpltc-i.akamaihd.net/hls/live/571329/eight/playlist.m3u" playsinline="true" ></video></center>
<script>
var video = document.getElementById("video");
var videoSrc = "https://moctobpltc-i.akamaihd.net/hls/live/571329/eight/playlist.m3u8";
if (video.canPlayType("application/vnd.apple.mpegurl")) {
video.src = videoSrc;
} else if (Hls.isSupported()) {
var hls = new Hls();
hls.loadSource(videoSrc);
hls.attachMedia(video);
}
</script>
</body>
</html>
*********** 它必须在 http 或最好是 https 内:因为在本地测试不工作
**** 另一个注意事项:视频标签中的 playinline="true" 用于 IOS 和 WKWebview,以避免被迫仅全屏观看
这个 .m3u8 是一个现场 akamai 播放列表...