菜鸟教程小白 发表于 2022-12-13 00:26:59

ios - AVURLAsset 轨道为空,但可以播放视频/音频


                                            <p><p>我这里有视频:</p>

<pre><code>http://195.16.112.71/adaptive/66aebabb-2632-44fc-abf1-df29bca6b941.video/66aebabb-2632-44fc-abf1-df29bca6b941.m3u8
</code></pre>

<p>Ffmpeg 说这个视频有 5 个音轨,而且是正确的。</p>

<p>但如果我使用带有该链接的 AVURLAsset,它会告诉我没有任何轨道:</p>

<pre><code>NSArray* const tracks = asset.tracks; // it&#39;s empty
</code></pre>

<p>我修改了 Apple 的 <strong>StichedStreamPlayer</strong> 示例来重现此问题,它位于此处:
<a href="https://yadi.sk/d/hV3jfbx1Z9sfC" rel="noreferrer noopener nofollow">https://yadi.sk/d/hV3jfbx1Z9sfC</a> </p>

<p>只需点击“加载电影”,然后点击“播放”按钮 - 电影可以完美播放,但如果您检查 <strong>prepareToPlayAsset</strong> 函数中的 <strong>tracks</strong> 变量,您会发现它是空的。
问题是:如 AVURLAsset 所说,如果视频实际上有 5 个轨道,为什么它是空的?如果不存在轨道,该视频如何播放?</p>

<p>提前感谢您的帮助!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果您直接流式传输视频,则它不会有轨道。您可以下载文件并询问视频文件 Assets 的轨道。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - AVURLAsset 轨道为空,但可以播放视频/音频,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25154576/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25154576/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - AVURLAsset 轨道为空,但可以播放视频/音频