我正在编写一个视频流服务器应用程序。我有一个 AVI 文件,我已将它放在 IIS 7 上进行流式传输。我发现如果媒体尚未缓冲,客户端无法跳转到媒体的任意位置。我认为录制过程中缺少一些元数据?
搜索后,我认为,Windows Media Player 在本地缓冲之前无法跳转到任意位置,因为 AVI 的索引块(查找所需)存储在文件末尾。
举个例子,如果我录制的 avi 视频是 10 分钟,现在我正在播放到第 4 分钟,而本地缓冲的流媒体缓冲到第 5 分钟,我无法跳转到第 5 分钟之后的任何时间,比如Windows Media Player 中的第 7 分钟。
对于 asf/wmv 等其他格式,我没有遇到同样的问题。所以我认为这是一个 AVI 问题,而不是服务器或任何其他环境问题。
我的问题是,
- 在缓冲之前无法跳转到 AVI 文件的任意位置的实际原因是什么?
- 任何解决方案或解决方法?我可以改用其他更聪明的播放器,它可以处理这个问题,或者我可以在服务器端添加一些代码修复吗?