【问题标题】:VLC playing HTTP video stream from netty server: Connection reset by peerVLC从netty服务器播放HTTP视频流:对等方重置连接
【发布时间】:2013-04-17 03:29:53
【问题描述】:

在对视频进行了一些自定义编码后,我需要扩展基本的 netty HTTP 文件服务器 (https://github.com/netty/netty/tree/master/example/src/main/java/io/netty/example/http/file) 以通过 HTTP 流式传输视频。我打算编写一个使用 vlcj 重现流的 Java 应用程序。

但是,即使在开始扩展文件服务器之前,我也遇到了奇怪的行为。通过使用基本服务器示例(使用 netty 3.6.5 和 netty 4.0.0.CR1),当我使用 VLC(2.0.6 版)播放文件时,会发生以下情况:

  • VLC 能够开始复制文件
  • 当我在文件中搜索几次时,我得到以下错误:java.io.IOException: Connection reset by peer

在使用 mpc-hc (http://mpc-hc.org/) 播放相同的流时,我没有遇到这个问题。

我是否需要以某种特定方式配置服务器以允许 VLC 正确播放流?我在 VLC 和 VLCJ 网站/论坛中都没有找到任何特定信息。

接受任何提示/建议。

【问题讨论】:

    标签: http streaming netty vlc vlcj


    【解决方案1】:

    不幸的是,仅仅启动一个基本的 http 文件服务器以将视频流式传输到 VLCj 播放器是不够的。

    服务器必须能够处理“范围请求”。在范围请求期间,VLC 播放器请求它接下来要播放的视频的特定部分(字节范围,例如字节 3212-5678)。即使初始请求是针对所有字节的,视频播放器也会在播放期间重复发出范围请求。

    当您进行搜索时,视频播放器将向您的服务器发出范围请求以获取文件的下一部分。如果您的服务器无法处理该请求,则播放器将具有您描述的行为。 (即连接由对等方休息)

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      • 2018-01-23
      相关资源
      最近更新 更多