【问题标题】:Issue with streaming AVI files流式播放 AVI 文件的问题
【发布时间】:2023-03-07 15:41:01
【问题描述】:

我正在编写一个视频流服务器应用程序。我有一个 AVI 文件,我已将它放在 IIS 7 上进行流式传输。我发现如果媒体尚未缓冲,客户端无法跳转到媒体的任意位置。我认为录制过程中缺少一些元数据?

搜索后,我认为 Windows Media Player 在本地缓冲之前无法跳转到任意位置,因为 AVI 的索引块(搜索所需)存储在文件末尾。

这里举个例子,如果我录制的avi视频是10分钟,现在播放到第4分钟,本地缓冲的流媒体缓冲到第5分钟,我不能跳到第5分钟之后的任何时间,就像 Windows Media Player 中的第 7 分钟。

我在使用 asf/wmv 等其他格式时没有遇到同样的问题。所以我认为这是一个 AVI 问题,而不是服务器或任何其他环境问题。

我的问题是,

  1. AVI 文件在缓冲之前无法跳转到任意位置的实际原因是什么?
  2. 任何解决方案或变通方法?我可以改用其他更聪明的播放器来解决这个问题,或者我可以在服务器端添加一些代码修复吗?

【问题讨论】:

    标签: streaming avi


    【解决方案1】:

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

    您应该将您的视频转换为其他格式,该格式在开头有索引信息。比如flv、wmv、ogg/theora等

    【讨论】:

    • 嗨米兰,转换太慢了...您有什么想法可以加快速度吗?我有一个30分钟的视频,转换成flv需要20分钟。我的电脑很强大,4G RAM 和 2 个 CPU。输入的 avi 文件大小约为 150M Bytes。
    • @Milan,对不起另一个问题。如果您认为转换为 flv/wmv 等其他格式是最好的解决方案,您能否推荐一些视频转换解决方案,例如 H/W?我认为使用 CPU 转换视频真的很慢... :-)
    • 好吧,如果你想保持质量,它必须花时间。最好在 avi 格式之前有一些无损源。对于编码/重新编码,我使用 mencoder 和 ffmpeg 程序,但其中有很多。也许您应该就此发表一个单独的问题。
    • 嗨,米兰,1。“好吧,如果你想保持质量,就必须花时间。” -- 我不需要质量,我只需要尽可能快地加快编码过程。你有什么建议吗?
    • 2. “最好在avi格式之前有一些无损源”-我正在使用Camtasia录制演示屏幕,我认为在这种情况下没有无损源,对吗?跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 2021-07-08
    • 2015-12-14
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    相关资源
    最近更新 更多