1

几年前,我用 Flex 编写了代码来访问来自 OpenMeetings 的流。现在我需要将它重写为 RubyOnRails。我也在使用 JWPlayer 播放流

jwplayer("CameraElement").setup({
 file: "{stream_name}",
 width: 320,
 height: 240,
 primary: "html5"
});

我有 2 个流:

  • 相机流
  • 桌面流

我在运行相机流时没有问题:rtmp://{address}:{port}/{folder}/{roomID}/flv:{StreamID}

但同样的事情不适用于桌面流(来自桌面共享器) - 尽管它在 Flex 中工作。我知道 JWPlayer 找到了流 - 因为单击播放后 JWPlayer 显示“加载”图标,然后继续向我显示没有内容的黑色 JWPlayer 屏幕 - 如果我给出错误的 StreamID - JWPlayer 无限显示“加载”图标。

我现在能做什么:

  1. 我该如何调试这个问题 - JWPlayer 中的任何地方似乎都没有“调试标志”
  2. 会不会因为“桌面流”只有视频数据而没有音频数据而发生(我试图只将视频数据提供给相机流,而 JWPlayer 没有任何问题)
  3. 我尝试使用选项进行操作 - 主要:“flash”,并在播放列表中提供文件,或将流名称中的 flv 更改为 mp4 - 这里没有运气
  4. 会不会是 DesktopStream 中的 StreamID 过长造成的?- 它的 32 个字母数字符号和 CameraStream 中的一个数字。

欢迎任何想法......

PS OpenMeetings - 3.03 版 JWPlayer - 4.10

4

1 回答 1

0

我终于能够从桌面显示流:

1) 无需向 NetPlayer.as 添加功能(尽管我在评论中提出了建议) - JWPlayer 在处理错误方面做得很好,因为您缺少这些调用的功能(甚至可能太好了) - 所以它们无关紧要。

2) 如果您看到黑屏 - 在 JWPlayer 对象禁用标志的选项中:stagevideo: "false"

这应该强制 rtmp 连接在“视频”元素中创建流,而不是在“舞台”元素中——这为我解决了这个问题。结案。

于 2014-10-21T21:21:48.553 回答