Chrome 如何决定为 HTML5 MP4 缓冲多少视频?
How does Chrome decide how much video to buffer for HTML5 MP4?
我有一个比特率可变的 MP4 视频,因此整个文件的平均比特率不一定保持一致。因为我的视频是截取的电脑屏幕,视频的某些部分比特率非常低,因为什么都没有发生,而其他部分比特率高得多,因为屏幕上有很多 activity。
Chrome 如何决定为渐进式下载 HTTP(S) 视频缓冲多少视频?我 运行 遇到一个问题,其中 Chrome 往往缓冲太少,所以播放时断断续续。
如果无法说服 Chrome 下载某个 时间 的视频(而且我不想只预加载整个视频),我可以吗作者的MP4有什么特殊的方法来解决问题吗?我正在使用 FFmpeg 和 MP4Box。也许这取决于 HTTP 服务器?
如果您想更好地控制视频的播放,您绝对应该查看 MediaSourceExtensions
。他们定义了一个完整的视频播放模型,定义了sourceBuffers
你可以在哪里放置视频数据等
注意它仍然不是一个简单的使用方法API,关于如何使用它的信息非常零散。
在你的情况下,如果你走 MSE
路线,你可以继续使用 h264
(这可能是你的 mp4
正在包装的编解码器)或切换到 webm
。
如果要走 MP4, h264
路线,您需要生成一个碎片化的 MP4 (fMP4
) 并编写一些 JavaScript
来控制您使用 MP4 的方式片段(segments
用 MSE 的说法)。
MP4Box 支持 -dash
协议,它将以适合通过 MSE
消费的方式对 MP4 进行分段。 FFmpeg 还支持生成碎片化的 MP4。
我有一个比特率可变的 MP4 视频,因此整个文件的平均比特率不一定保持一致。因为我的视频是截取的电脑屏幕,视频的某些部分比特率非常低,因为什么都没有发生,而其他部分比特率高得多,因为屏幕上有很多 activity。
Chrome 如何决定为渐进式下载 HTTP(S) 视频缓冲多少视频?我 运行 遇到一个问题,其中 Chrome 往往缓冲太少,所以播放时断断续续。
如果无法说服 Chrome 下载某个 时间 的视频(而且我不想只预加载整个视频),我可以吗作者的MP4有什么特殊的方法来解决问题吗?我正在使用 FFmpeg 和 MP4Box。也许这取决于 HTTP 服务器?
如果您想更好地控制视频的播放,您绝对应该查看 MediaSourceExtensions
。他们定义了一个完整的视频播放模型,定义了sourceBuffers
你可以在哪里放置视频数据等
注意它仍然不是一个简单的使用方法API,关于如何使用它的信息非常零散。
在你的情况下,如果你走 MSE
路线,你可以继续使用 h264
(这可能是你的 mp4
正在包装的编解码器)或切换到 webm
。
如果要走 MP4, h264
路线,您需要生成一个碎片化的 MP4 (fMP4
) 并编写一些 JavaScript
来控制您使用 MP4 的方式片段(segments
用 MSE 的说法)。
MP4Box 支持 -dash
协议,它将以适合通过 MSE
消费的方式对 MP4 进行分段。 FFmpeg 还支持生成碎片化的 MP4。