如何使用 AVPlayer 中的缓存播放 ts 文件?

Posted

技术标签:

【中文标题】如何使用 AVPlayer 中的缓存播放 ts 文件?【英文标题】:How to play ts file using the cache in the AVPlayer? 【发布时间】:2015-06-19 05:11:13 【问题描述】:

我想在 ts 文件中缓存 HLS。 Apple 演示站点为此站点使用自定义架构。

https://developer.apple.com/library/ios/samplecode/sc1791/Introduction/Intro.html

此示例使用自定义架构。但它对 ts 文件使用重定向。 我搜索了“如何使用 AVPlayer 中的缓存播放 ts 文件”。我发现使用重定向本地代理。但是移动背景对苹果来说是禁止的。

https://developer.apple.com/library/ios/technotes/tn2277/_index.html#//apple_ref/doc/uid/DTS40010841-CH1-SUBSECTION2

是否可以在AVPlayer上启动本地缓存的ts文件?

【问题讨论】:

【参考方案1】:

据我所知,直接使用 iOS Player (AVPlayer) 播放 ts 文件是不可能的。 不过有办法玩。

    下载.ts文件并保存在app文档目录中。 使用这个库Keemotion/TS2MP4 将 ts 文件转换为 mp4 可以使用 AVPlayer 播放。

现在您可以谨慎地下载 -> 转换 -> 播放每个文件。 或者您可以下载多个 -> 将它们转换为一个大的 mp4 文件并播放。

【讨论】:

以上是关于如何使用 AVPlayer 中的缓存播放 ts 文件?的主要内容,如果未能解决你的问题,请参考以下文章

iOS音频篇:AVPlayer的缓存实现

如何在 iOS 本地播放 .ts(传输流)文件

如何在 iOS 中的 HLS(m3u8) 播放期间找出当前的 TS 段?

AVPlayer 播放错误的视频文件

如何在其他视图中使用 Swift 中的 AVPlayer 暂停和播放音乐

本地文件使用 AVAudioPlayer 播放,但不使用 AVPlayer?