0

最近我一直在和我的朋友一起在 play framework 1.2.4 中开发一个 web 应用程序,我们试图使用 videojs 播放器流式传输存储在项目的 /public 目录中的视频。该视频采用 .mp4 格式,但我想这与这个问题无关。我们直接访问视频而不使用任何服务器端脚本。我们在测试中发现了 2 个问题。

  1. 视频从未一直缓冲到最后。只有几秒钟的时间总是存储在缓冲区中。

  2. 在播放视频时,如果我们按下暂停再播放,视频的播放将完全中断。有时它会永远缓冲视频,有时它看起来会继续播放视频,但它只会显示黑屏而没有声音。

当我们在不是存储在 Web 应用程序中而是从其他一些服务器提供的文件上尝试相同的 videojs 脚本时,它可以完美地工作。即使另一台服务器只是在同一台计算机上运行的 tomcat。因此,我建议这一定是服务器播放用于运行其应用程序的问题。我们使用“play run”命令和默认配置运行应用程序。谁能解释这种奇怪的行为?是否需要在配置中设置一些东西,或者这只是一个错误?谢谢。

4

1 回答 1

1

我认为netty / 播放控制器处理公用文件夹中的范围支持存在问题。http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35

您应该可以使用 curl 进行测试。例如,如本文所述 http://linuxandfriends.com/2008/11/01/curl-split-a-file-and-download-simultaneously-from-multiple-locations /

但是,在生产中,您通常会使用 lighttpd/ nginx(以允许绑定端口 80)进行游戏,因此公用文件夹中的文件将由 play 以外的其他东西提供服务……那么您应该没有问题。

于 2012-04-22T09:26:18.367 回答