我正在使用wowza流引擎和jw播放器来显示流和正常工作。但我想控制视频的比特率,以便用户可以在没有太多缓冲的情况下看到视频。所以我在stackoverflow中搜索并找到以下链接。
然后我根据上面的链接创建了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>
答案 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),那么它将无法正常工作,您很可能会收到播放错误。