热门搜索 :
考研考公
您的当前位置:首页正文

iOS根据ts文件路径封装成m3u8文件及m3u8播放

来源:东饰资讯网

置顶感谢:

  首先声明,我对m3u8和ts视频文件和视频播放流媒体相关的知识并不懂。我写这个博客只是为了记录一下我开发中遇到的问题和我的解决思路,如果能帮到你就更好了。

我的需求

资料查询

  m3u8这个文件可以用你可以下载下来,用txt格式打开看下,基本上文件并不大,打开来看就是一个列表,除去开头的和结尾的一些信息以外,中间部分的意思就是某个ts文件(一般用的都是相对路径)有多久的播放时长,m3u8相当于把这些片段连起来,构成一个完整的视频。

  所以,对于当前项目的需求的话,解决思路就是通过后台提供的ts文件路径表,我在App端创建一个m3u8文件,然后根据m3u8的格式,创建一个字符串写入到m3u8文件中。然后,用播放器去播放本地的m3u8文件。至此,我以为可以,但是并没有播放出来。

尝试方案:

先列出来我的尝试方案:
1.本地创建m3u8文件,文件中写入头尾数据和ts播放列表(相对路径)。 结果:失败(原因:播放器读取这个m3u8 文件之后,根本找不到ts文件,肯定播放失败);
2.本地创建m3u8 文件,文件中写入头尾数据和ts播放列表(完整路径)。结果:失败(具体原因不详);
3.本地创建m3u8 文件,并且把ts文件下载到和m3u8 同一个文件夹下,m3u8 文件中写入头尾数据和ts播放列表(相对路径)。结果:失败(具体原因不详,但是应该和尝试方案2原因类似)。

结论:

  总结:iOS 播放ts文件,需要先根据ts文件名列表生成m3u8文件,(如果m3u8 中放的是ts的相对路径,需要把ts文件下载到和m3u8 同样目录下).在手机本地搭载本地服务,即可播放。方案总结如下:


iOS播放TS文件思路图.png
Top