2009-04-13 55 views
0

我正在写一个视频流媒体服务器应用程序。我有一个AVI文件,我已将它放在IIS 7上进行流式传输。我发现客户端不能跳转到媒体的任意位置,如果媒体没有被缓冲。我认为在录制过程中丢失了一些元数据?因为AVI的索引块(搜索需要)存储在文件末尾,所以在搜索之后,我认为Windows Media Player无法在本地缓存之前跳到任何任意位置。问题与流媒体AVI文件

下面是一个例子,如果我录制的avi视频是10分钟,现在我正在播放到第4分钟,并且本地缓冲流媒体缓冲到第5分钟,我无法跳到第5分钟后的任何时间分钟,就像Windows Media Player中的第7分钟。

我没有面对与其他格式如asf/wmv相同的问题。所以我认为这是一个AVI问题,而不是服务器或任何其他环境问题。

我的问题是,

  1. 什么是不能够跳转到任意位置的AVI文件,它是缓冲之前的实际原因是什么?
  2. 任何解决方案或解决方法?我可以使用其他更智能的播放器,它可以处理这个问题,或者我可以在服务器端添加一些代码修复?

回答

3

正如你已经发现自己,索引写在avi容器的末尾。这就是为什么avi格式不适合流式传输。

您应该将视频转换为其他格式,其中包含索引信息。例如,flv,wmv,ogg/theora等

+0

Hi米兰,转换太慢...你有什么想法加快速度吗?我有一个30分钟的视频,需要20分钟才能转换成flv。我的电脑功能强大,4G内存和2个CPU。输入avi文件大小约为150M字节。 – George2 2009-04-13 07:09:01