前面写过使用VLC播放器如何直接播放ts文件,不使用m3u8去做引导,这篇主要记录下原生播放器+m3u8引导去播放
关于M3U8的配置
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:60
#EXTINF:60,
http://xxx/1.ts
#EXT-X-ENDLIST
#EXT-X-TARGETDURATION:指定最大的媒体段时间长(秒)
#EXTINF:当前ts的时间长(秒)和ts地址,注意这边的时长只能小于等于#EXT-X-TARGETDURATION
- 步骤一:拼接m3u8文件
iOS可以拼接上面的字符串内容,注意字符串格式换行,拼接的时候加\n
就行,
然后配置#EXT-X-TARGETDURATION
,#EXTINF
的数据,再把字符串内容保存成后缀m3u8的文件。
NSMutableData *data = [[NSMutableData alloc] init];
[data appendData:[strM3u8 dataUsingEncoding:NSUTF8StringEncoding]];
[data writeToFile:pathM3u8 atomically:YES];
-
步骤二:
你还需要在本地(iOS客户端)开启一个web服务器:
可以使用GCDWebDAVServer
使用web服务器的主要原因是,m3u8的文件如果你的player的url读取的是是没办法播放,只能通过类似remote url方式去加载。 -
步骤三
你的player通过访问m3u8的http地址就可以正确播放ts视频文件
网友评论