我这里有视频:
http://195.16.112.71/adaptive/66aebabb-2632-44fc-abf1-df29bca6b941.video/66aebabb-2632-44fc-abf1-df29bca6b941.m3u8
Ffmpeg 说这个视频有 5 个音轨,而且是正确的。
但如果我使用带有该链接的 AVURLAsset,它会告诉我没有任何轨道:
NSArray* const tracks = asset.tracks; // it's empty
我修改了 Apple 的 StichedStreamPlayer 示例来重现此问题,它位于此处:
https://yadi.sk/d/hV3jfbx1Z9sfC
只需点击“加载电影”,然后点击“播放”按钮 - 电影可以完美播放,但如果您检查 prepareToPlayAsset 函数中的 tracks 变量,您会发现它是空的。
问题是:如 AVURLAsset 所说,如果视频实际上有 5 个轨道,为什么它是空的?如果不存在轨道,该视频如何播放?
提前感谢您的帮助!
Best Answer-推荐答案 strong>
如果您直接流式传输视频,则它不会有轨道。您可以下载文件并询问视频文件 Assets 的轨道。
关于ios - AVURLAsset 轨道为空,但可以播放视频/音频,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/25154576/
|