2

我正在创建具有恒定 10FPS 的实时实时内容的分段 MP4,但偶尔会在输入 MP4 创建过程之前丢帧。MP4 通过网络套接字传输到网络。

由于偶尔的丢帧,文件的播放速度实际上略大于 1x,因为播放器以 10FPS 播放。由于这是一个实况内容,在一段时间后,播放器到达当前时间并且没有数据可播放。

现在,对于 MSE 问题:Chrome 中似乎发生的情况是,当播放器没有足够的数据继续播放时,它会暂停 1-2 秒,然后播放得非常快,反之亦然。所以此时用户体验变得非常糟糕。此处讨论了该问题: https ://www.w3.org/Bugs/Public/show_bug.cgi?id=28379

我解决这个问题的想法是识别状态(没有更多数据),将播放速率更改为 0.9 几秒钟以允许一些缓冲,然后切换回 1.0。问题是我找不到识别状态的方法。即使问题开始,媒体元素的就绪状态似乎总是具有“HAVE_ENOUGH_DATA”的值。

MSE API 是否公开了一种识别我所描述的状态的方法?

4

0 回答 0