2016-04-08 56 views
1

我正在使用HTML5视频标签实现视频播放器。我收到的视频资源由Brightcove托管和交付,它是一个m3u文件。是否可以通过HTML5视频标签播放此视频?HTML5视频标签可以播放m3u文件吗?

我认为从Brighcove服务器产生的m3u文件被设置为支持自适应比特率流。我曾尝试使用master(包含每个演绎的详细信息)和每个单独的演绎文件的m3u文件。

但是我的视频标签没有任何反应。控制台中没有任何错误,虽然我觉得会有的。我使用的是Chrome,而且我在其他地方看过它支持m3u播放?

在你的回答中请注意,我对HTML5回放完全陌生 - 特别是m3u文件。

这里是我的示例代码:

<video controls autoplay="true"> 
    <source src="http://brightcove.com/example/master.m3u?videoid=1234"> 
</video> 

所产生的m3u文件的内容是这样的(敏感数据删除):

#EXTM3U 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=716000,RESOLUTION=336x184 
https://brightcove.com/services/rendition.m3u8?assetId=123456 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1325000,RESOLUTION=504x276 
https://brightcove.com/services/rendition.m3u8?assetId=123456 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1797000,RESOLUTION=720x394 
https://brightcove.com/services/rendition.m3u8?assetId=123456 

然后每个绘制的内容看起来像这个:

#EXTM3U 
#EXT-X-TARGETDURATION:10 
#EXT-X-MEDIA-SEQUENCE:0 
#EXT-X-KEY:METHOD=AES-128,URI="https://brightcove.com/services/keyfile?assetId=123456 
#EXTINF:11, 

#EXT-X-KEY:METHOD=AES-128,URI="https://brightcove.com/services/keyfile?assetId=123456 
#EXTINF:11, 

#EXT-X-KEY:METHOD=AES-128,URI="https://brightcove.com/services/keyfile?assetId=123456 
#EXTINF:11, 

etc... 

回答

4

m3u文件基本上都是文本文件:playl以特殊格式包含对媒体文件的引用。所以,首先,这取决于包含的媒体文件的类型;但其次,视频元素不适用于播放列表,但仅适用于播放单个媒体文件。目前,video元素有3种支持格式:mp4,WebM和ogg。但是,m3u文件更适用于音频播放列表。 HTML5 <audio>元素目前支持mp3,ogg和wav文件。尽管如此,它依赖于特定的浏览器使用哪一个(通常,最不重要的是提供mp3和ogg文件供浏览器选择)。

回到问题:0123u或audio元素不支持m3u。

+0

m3u8是Apple HLS Tech使用的视频播放列表。 Safari支持视频标签中的m3u8,即使它不是标准的一部分。 – szatmary

相关问题