我有HLS m3u8在IOS和Android上使用html5 <video>
但不能在桌面PC或桌面MAC(Chrome,Firefox)上播放
如何在台式机上播放m3u8?
是否有可在桌面和移动设备上播放的视频流格式?
答案 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/