我有 HLS m3u8,可以在 IOS 和 Android 上使用 html5 运行良好<video>
但不能在台式电脑或台式机 MAC(Chrome、Firefox)上播放
如何在台式电脑上玩 m3u8?
是否有可以在台式机和移动设备上播放的视频流格式?
我有 HLS m3u8,可以在 IOS 和 Android 上使用 html5 运行良好<video>
但不能在台式电脑或台式机 MAC(Chrome、Firefox)上播放
如何在台式电脑上玩 m3u8?
是否有可以在台式机和移动设备上播放的视频流格式?
看看https://github.com/video-dev/hls.js/上的 hls.js 项目, 它正好解决了这个问题。
这是一个关于如何使用它的小示例。
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<video id="video"></video>
<script>
if(Hls.isSupported()) {
var video = document.getElementById('video');
var hls = new Hls();
hls.loadSource('https://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8');
hls.attachMedia(video);
hls.on(Hls.Events.MANIFEST_PARSED,function() {
video.play();
});
}
</script>
解析清单后,您可以使用原始 html5 视频元素的所有常规事件、属性和方法。
你可以在这里找到他们的演示:https ://video-dev.github.io/hls.js/demo/
HLS 仅适用于 Mac OS Safari 6+ 的桌面。看看这里以供参考。
对于桌面上的 HTML5 视频,您可以考虑使用 MPEG DASH。它有一个JS 库,可以在以下浏览器中实时和按需运行:
截至 2013 年 8 月 30 日,仅支持桌面 Chrome、桌面 Internet Explorer 11 和适用于 Android 的 Mobile Chrome Beta 的浏览器。
如果您希望通过自适应流技术实现更广泛的浏览器/设备覆盖范围,您将需要考虑使用支持 RTMP 和 HDS 的 Flash 或具有平滑流处理的 Silverlight(我应该说 Flash 具有更好的覆盖范围)。
如今,大多数媒体公司都使用混合方法 Flash(HDS/RTMP - 桌面)/HTML5(HLS - 移动),预先在设备上使用 JavaScript 检查可以读取的内容并提供相应的播放器/流媒体协议。
仅供参考,您可以在 Windows 桌面上使用 VLC 等软件播放 HLS 流。
我知道答案有点晚了,但我一直在寻找这些信息,但在 stackoverflow 上找不到好的答案......
据我所知,没有适用于移动和桌面的开箱即用格式。如果您想节省转码能力并且只使用一种格式,我推荐 HLS,因为它可以在移动设备上完美运行,您可以使用免费库在浏览器中显示视频。
https://github.com/videojs/videojs-contrib-hls有一个使用 videojs 的工作示例。它在 Safari 中使用 HTML5 并在其他浏览器上回退到 flash。如果您想到其他玩家,请查看https://github.com/mangui/flashls以获取更多示例
<html>
<body>
<video width="600" height="400" controls>
<source src="index.m3u8" type="application/x-mpegURL">
</video>
</body>
</html>
使用上述代码流式传输 HLS 或 m3u8 文件。它适用于边缘浏览器、chrome、opera mini(移动浏览器)(不适用于 pc chrome)
要在所有浏览器上播放,请使用基于 Flash 的媒体播放器。 支持所有浏览器的媒体播放器
Safari 是唯一支持 HLS 的桌面浏览器。
编辑:danrossi 为支持 HLS 但不是 HTML5 的 Flash 版本的 Flowplayer 制作了一个插件。在这里阅读更多:http: //justhackme.wordpress.com/2013/03/10/apples-http-live-streaming-in-flash/