1

我想知道渐进式视频流缓冲是如何工作的。目前我尝试为 Android 创建一个能够播放渐进式流视频文件的媒体播放器。为此,我使用 vitamio 库。它是一个非常强大的 Android 媒体库。它还支持渐进式串流和多种视频格式。vitamio 的唯一问题是暂停播放时它不会继续缓冲。因此,您无法在慢速网络上观看视频。

所以我目前解决这个问题的解决方法是打开一个 httpinputstream 到我想要流式传输的视频文件。然后我读取了视频文件的大小。假设它是80MB。然后我在我的硬盘上创建一个正好这个大小(80MB)的空虚拟文件。该文件当前填充了零。然后我开始从 httpinputstream 读取数据并从 . 如果我下载了 10MB,我将此文件放入视频播放器并开始播放。此时我的硬盘上的视频文件仍然是 80MB 大,但可读和有效的视频数据是 10MB。在播放期间,我继续下载并填充虚拟文件,直到完成。

有时这很好用,有时却不行。尽管播放位置为 5% 且下载已完成 15%,但播放停止并出现多个错误(未找到帧等)。它不是很可靠,我无法想象这是渐进式流媒体的常用方式。所以我的问题是:这在技术上是如何工作的?我的渐进式流式传输方法与普通方式有什么不同?

谢谢你

4

0 回答 0