我创建了一个具有恒定10FPS的实时直播内容的碎片MP4,但偶尔会在进入MP4创建过程之前丢帧。 MP4通过Web套接字传输到Web。
由于偶尔的帧丢失,文件的播放速度实际上略大于1倍,因为播放器以10FPS播放。 由于这是一个实况内容,经过一段时间后,播放器到达当前时间并且没有数据可供播放。
现在,到MSE问题: 当玩家没有足够的数据继续播放时,Chrome中似乎发生的事情是,它会暂停1-2秒,然后播放速度非常快,反之亦然。所以此时用户体验变得非常糟糕。 这里讨论的问题是: https://www.w3.org/Bugs/Public/show_bug.cgi?id=28379
我解决这个问题的想法是识别状态(没有更多数据),将播放速率更改为0.9几秒钟以允许一些缓冲,然后切换回1.0。 问题是我无法找到识别状态的方法。 媒体元素的readystate似乎总是具有" HAVE_ENOUGH_DATA"的价值。即使问题开始。
MSE API是否公开了一种识别我所描述状态的方法?