HTML5视频标签可以播放m3u文件吗?

时间:2016-04-08 10:40:39

标签: javascript html5 video html5-video brightcove

我正在使用HTML5视频代码实现视频播放器。我收到的视频资源由Brightcove托管和发送,并且是 m3u 文件。是否可以通过HTML5视频标签播放此视频?

我认为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...

1 个答案:

答案 0 :(得分:4)

m3u文件基本上是文本文件:包含对媒体文件的引用的特殊格式的播放列表。所以,首先,它取决于所包含的媒体文件的类型;但其次,视频元素不适用于播放列表,而只适用于播放单个媒体文件。目前,video元素有3种支持的格式:mp4,WebM和ogg。但是,m3u文件非常适用于 audio 播放列表。 HTML5 <audio>元素目前支持mp3,ogg和wav文件。仍然,它取决于使用哪一个特定的浏览器(通常,你做的最少的是提供浏览器可供选择的mp3和ogg文件)。

回到问题:videoaudio元素不支持m3u。