显然,AVFoundation(和 Quicktime X)可以解复用和播放正确编码.ts
的容器,因为.ts
容器是 HTTPS 直播流的基础。
如果没有设置本地 Web 服务来提供相关文件.m3u8
和相关.ts
文件,我真的希望能够:说服AVURLAsset
和/或URLAssetWithURL
接受本地文件.m3u8
URI,就好像它是 HTTP URI 一样,或者更好的是,能够用于AVQueuePlayer
加载和播放一系列.ts
文件,而无需跳过实时流箍。
我想要这样做的原因是我需要以某种零散的方式在本地即时生成电影资产 - 整个资产不会立即可用,但会随着时间的推移而生成。显然,这有助于AVQueuePlayer
但由于各种原因,我的资产片段被包装在.ts
容器中。所有这些听起来都非常适合“本地”直播。
我怀疑URLAssetWithURL
是否对传递给它的字符串进行了一些限定,然后设置一些属性来表示它正在查看一个实时流媒体源,这反过来又告诉AVPlayer
/AVQueuePlayer
期望轨道.ts
形式。它可能会看到 HTTP 并决定这是实时流式传输。
所以我的问题是:如何“欺骗” AVFoundation 处理本地.m3u8
文件,就像处理远程文件一样?
额外的问题是:有没有人(如果有的话)能够AVAsset
从.ts
文件中制作一个,以便资产返回资产轨道的状态(准备播放)?
蒂亚!