为什么smow文件在wowza和jwplayer中都无法使用RTMP?

时间:2015-08-24 09:28:52

标签: streaming jwplayer rtmp wowza smil

我正在使用wowza流引擎和jw播放器来显示流和正常工作。但我想控制视频的比特率,以便用户可以在没有太多缓冲的情况下看到视频。所以我在stackoverflow中搜索并找到以下链接。

Bitrate JWplayer

然后我根据上面的链接创建了myVideo.smil文件。然后我去wowza测试。它在MPEG DASH中工作 http://192.168.0.106:1935/vod/smil:myVideo.smil/manifest.mpd 还有ADOBE HDS http://192.168.0.106:1935/vod/smil:myVideo.smil/manifest.f4m

但我不知道为什么它不能使用RTMP

我在测试播放器中放了

server = rtmp://192.168.0.106:1935 / vod and stream = smil:myVideo.smil 按下启动按钮后,我发现connectd当前比特率为0kbps,只有黑屏。

我也在jwplayer中试过这个链接 RTMP://192.168.0.106:1935 / VOD / SMIL:myVideo.smil 它正在加载但没有显示任何内容。 我再次尝试了链接的方法

jwplayer("myElement").setup({
    file: "/assets/myVideo.smil",
    image: "/assets/myVideo.jpg",
    height: 360,
    width: 640
});

并显示" 加载流时出错:未找到清单或无效" 我不知道自己错过了什么,为什么不使用RTMP。请帮助我。

这是我的示例myVideo.smil文件代码

<smil>
  <head>
    <meta base="rtmp://192.168.0.106:1935/vod/" />
  </head>
  <body>
    <switch>H
      <video src="sample.mp4" height="720" system-bitrate="200000" width="1280" />
      <video src="sample.mp4" height="360" system-bitrate="80000" width="640" />
      <video src="sample.mp4" height="180" system-bitrate="30000" width="320" />
    </switch>
  </body>
</smil>

1 个答案:

答案 0 :(得分:0)

问题在于RTMP本身完全无视多个比特率。

在JWPlayer中执行此操作的方法是使用HTTP链接:

http://192.168.0.106:1935/vod/smil:MyVideo.smil/jwplayer.smil

这将指示JWPlayer使用从该URL接收的多比特率smil,连接到给定的RTMP端点,播放列出的第一个流,并根据需要将流切换到不同的比特率。

构建网址的方法基本上是采用HLS / DASH / HDS网址,并将最后一个元素(例如playlist.m3u8替换为HLS)替换为jwplayer.smil

但请注意,这仅适用于SMIL。如果您尝试访问sample.mp4的相似网址(在这种情况下为http://192.168.0.106:1935/vod/mp4:sample.mp4/jwplayer.smil),那么它将无法正常工作,您很可能会收到播放错误。