我已经从这个完成了所有这些我还制作了.ts和m3u8文件。在本地服务器和实时服务器中,我可以播放mp4文件,例如
<video width="320" height="240" controls="controls" autoplay="autoplay">
<source src="movie.mp4" type="video/mp4" />
</object>
</video>
但是我在播放.m3u8文件时遇到问题
<video width="320" height="240" controls="controls" autoplay="autoplay">
<source src="movie.m3u8" type="video/m3u8" />
</object>
</video>
我的媒体文件分段器创建了两个 .ts 文件和一个 .m3u8 。我的 m3u8 文件是
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-I-FRAMES-ONLY
#EXTINF:1.0117,
#EXT-X-BYTERANGE:8084@376
fileSequence0.ts
#EXTINF:1.0117,
#EXT-X-BYTERANGE:7332@36096 and so on....
那么 mime.types 中是否有任何问题,因为我在 mime.types 中看到的所有混乱都像 -
application/x-mpegURL m3u8
video/MP2T ts
AddType appliction/x-mpegURL m3u8
AddType video/MP2T ts
#application/x-mpegURL m3u8
#video/MP2T ts
application/x-mpegURL.m3u8
video/MP2T.ts
#application/x-mpegURL.m3u8
#video/MP2T.ts
#AddType application/x-mpegURL m3u8
#AddType video/MP2T ts
#AddType application/x-mpegURL.m3u8
#AddType video/MP2T.ts
AddType application/x-mpegURL.m3u8
AddType video/MP2T.ts
我无法在VLC中播放.m3u8文件,并收到该错误链接
只要你的 conf 是
AddType application/x-mpegURL .m3u8
AddType video/MP2T .ts
它应该适用于Apache。我不确定这是您的.ts还是.m3u8问题,所以我建议如下:
- 从 Apple 下载示例 .ts 和 .m3u8 文件,并在您的服务器上进行测试
- 检查索引文件中是否有空行,因为这个问题
视频标记源类型 video/m3u8
在 iOS 平台上无效。我建议您简单地省略声明源属性,这不是必需的。
如果您真的想指定源类型,即允许不兼容的客户端选择另一个源,我发现audio/x-mpegurl
有效。
您使用的 m3u8 仅用于查找。请参阅此处所述的EXT-X-I-FRAMES-ONLY
:https://developer.apple.com/library/ios/technotes/tn2288/_index.html#//apple_ref/doc/uid/DTS40012238-CH1-I_FRAME_PLAYLIST