HTML5 视频在移动设备上搜索不流畅
HTML5 video doesn't have smooth seeking on mobile
我制作了一个自定义视频控制器,我希望能够通过将标记拖动到搜索栏来进行搜索。在我的桌面 chrome 浏览器中,当我拖动滑块时,我可以流畅地播放当前视频位置。在我的 Android 设备上(在混合应用程序的 Webview 中)视频位置不会更新,直到我释放滑块。
我更进一步,制作了自己的滑块,以便我可以控制视频元素的输入 currentTime
setter。我发现,如果我将输入四舍五入为一个整数值,我会在拖动自己的滑块时获得实时更新。但当然,它们一点也不平滑,因为它在整数秒之间跳跃。
有人有想法吗?
很可能它在两个平台上处理搜索的方式不同 - 因为压缩视频流包含搜索点(关键帧),并且搜索到任何给定时间点都是通过搜索到从您的时间开始最近的搜索点正在寻求然后解码帧直到您寻求的时间。由于是混合视图,可能底层实现有问题,只是跳到最近的关键帧并停留在那里,但实际上并没有解码到请求的时间。
一个简单的检查是制作一个包含所有关键帧的视频并检查行为 - 如果现在桌面浏览器和您的混合视图之间的行为没有区别,这应该是问题所在,您应该询问关于这个框架的作者。
这里有几个问题 (this, this)。我不确定 ffmpeg 是否允许关键帧间隔为 0,因此请检查一下。
我制作了一个自定义视频控制器,我希望能够通过将标记拖动到搜索栏来进行搜索。在我的桌面 chrome 浏览器中,当我拖动滑块时,我可以流畅地播放当前视频位置。在我的 Android 设备上(在混合应用程序的 Webview 中)视频位置不会更新,直到我释放滑块。
我更进一步,制作了自己的滑块,以便我可以控制视频元素的输入 currentTime
setter。我发现,如果我将输入四舍五入为一个整数值,我会在拖动自己的滑块时获得实时更新。但当然,它们一点也不平滑,因为它在整数秒之间跳跃。
有人有想法吗?
很可能它在两个平台上处理搜索的方式不同 - 因为压缩视频流包含搜索点(关键帧),并且搜索到任何给定时间点都是通过搜索到从您的时间开始最近的搜索点正在寻求然后解码帧直到您寻求的时间。由于是混合视图,可能底层实现有问题,只是跳到最近的关键帧并停留在那里,但实际上并没有解码到请求的时间。
一个简单的检查是制作一个包含所有关键帧的视频并检查行为 - 如果现在桌面浏览器和您的混合视图之间的行为没有区别,这应该是问题所在,您应该询问关于这个框架的作者。
这里有几个问题 (this, this)。我不确定 ffmpeg 是否允许关键帧间隔为 0,因此请检查一下。