如何在手机和桌面上播放html5视频播放m3U8?

时间:2014-04-30 12:29:35

标签: video-streaming html5-video m3u8

我有HLS m3u8在IOS和Android上使用html5 <video>

播放效果很好

但不能在桌面PC或桌面MAC(Chrome,Firefox)上播放

如何在台式机上播放m3u8?

是否有可在桌面和移动设备上播放的视频流格式?

5 个答案:

答案 0 :(得分:8)

https://github.com/video-dev/hls.js/查看hls.js项目 它解决了这个问题。

这里有一个关于如何使用它的小样本。

def main():
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.bind(('', listening_port))
        s.listen(5)
        print "[*] Initializing Sockets ... Done"
        print "[*] Sockets Binded Successfully ..."
        print("[*] Server Started Successfully [%d]\n" % (listening_port))
    except Exception, e:
        print e
        sys.exit(2)
    while 1:
        try:
            conn, addr = s.accept()
            data = conn.recv(buffer_size)
            start_new_thread(conn_string, (conn, data, addr))
        except KeyboardInterrupt:
            s.close()
            print "\n[*] Proxy Server Shutting Down ..."
            sys.exit(1)
    s.close()

def conn_string(conn, data, addr):
    print conn
    print addr
    print data

解析清单后,您可以使用原始html5视频元素的所有常规事件,属性和方法。

您可以在此处找到他们的演示:https://video-dev.github.io/hls.js/demo/

答案 1 :(得分:6)

HLS仅适用于Mac OS Safari 6+中的桌面。看看for reference

对于桌面上的HTML5视频,您可以考虑使用MPEG DASH。它有一个JS lib,可以通过以下浏览器实时和按需使用:

  

截至2013年8月30日,桌面版Chrome,桌面版Internet Explorer 11和   适用于Android的移动Chrome测试版是唯一支持的浏览器。

如果您希望更广泛的浏览器/设备覆盖自适应流媒体技术,您需要考虑使用支持RTMP和HDS的Flash或具有平滑流媒体的Silverlight(我应该说Flash具有更好的覆盖范围)。

今天大多数媒体公司都使用混合方法Flash(HDS / RTMP - 桌面)/ HTML5(HLS - 移动)预先在设备上检查可以读取的内容,并提供适当的播放器/流媒体协议。

仅供参考,您可以在Windows桌面上使用VLC等软件播放HLS流。

答案 2 :(得分:4)

我知道答案有点晚了,但我一直在寻找这些信息,但却无法在stackoverflow上找到一个好的答案......

据我所知,没有适用于移动设备和桌面设备的格式。如果您想保存转码功能并且只使用一种格式,我推荐使用HLS,因为它在移动设备上运行良好,您可以使用免费库在浏览器中显示视频。

https://github.com/videojs/videojs-contrib-hls有一个有关videojs的工作示例。它在Safari中使用HTML5,并在其他浏览器上回退到闪存。如果您有其他玩家,请查看https://github.com/mangui/flashls了解更多示例

答案 3 :(得分:1)

<html>
<body>
    <video width="600" height="400" controls>
        <source src="index.m3u8" type="application/x-mpegURL">
    </video>
</body> 

使用上述代码传输HLS或m3u8文件。 它适用于边缘浏览器,chrome,opera mini(移动浏览器)(不使用pc chrome)

在所有浏览器上播放使用基于闪存的媒体播放器。 media player to support all browser

答案 4 :(得分:0)

Safari是唯一支持HLS的桌面浏览器。

编辑:danrossi为支持HLS的Flowplayer的flash版本制作了一个插件,但这不是HTML5。在此处阅读更多内容:http://justhackme.wordpress.com/2013/03/10/apples-http-live-streaming-in-flash/