Http Live Streaming for iPhone and why we use .m3u8 file

落爺英雄遲暮 提交于 2019-11-27 17:02:39

问题


I have done all that from This I have also made .ts and m3u8 file. In local server and live server i can play mp4 file like

 <video width="320" height="240" controls="controls" autoplay="autoplay">
 <source src="movie.mp4" type="video/mp4" />
 </object>
 </video>

But i have problem with playing .m3u8 file

 <video width="320" height="240" controls="controls" autoplay="autoplay">
 <source src="movie.m3u8" type="video/m3u8" />
 </object>
 </video>

My mediafilesegmenter created two .ts file and one .m3u8 . My m3u8 file is

 #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....

So is there any problem in mime.types because i wrote all the confusions in mime.types see like -

 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

I can't play .m3u8 file in VLC and got that error Link


回答1:


As long as your conf is

AddType application/x-mpegURL .m3u8
AddType video/MP2T .ts

it should work for apache. I'm not sure if it's your .ts or .m3u8 problem, so I suggest the following:

  • Download example .ts and .m3u8 file from Apple and test them on your server
  • check if there is empty lines in the index file, as this question



回答2:


The video tag source type video/m3u8 is not valid on the iOS platform. I suggest you simply omit declaring the source attribute, which is not required.

If you really want to specify the source type, i.e. to allow non-compatible clients to select another source, I have found that audio/x-mpegurl works.




回答3:


The m3u8 you're using was generated for seeking only. See EXT-X-I-FRAMES-ONLY as described here: https://developer.apple.com/library/ios/technotes/tn2288/_index.html#//apple_ref/doc/uid/DTS40012238-CH1-I_FRAME_PLAYLIST



来源:https://stackoverflow.com/questions/11986313/http-live-streaming-for-iphone-and-why-we-use-m3u8-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!