为什么 smil 文件在 wowza 和 jwplayer 中都不能与 RTMP 一起使用?
Why smil file is not working with RTMP both in wowza and jwplayer?
我正在使用 wowza 流媒体引擎和 jw 播放器来显示流并且工作正常。但我想控制视频的比特率,以便用户可以在没有太多缓冲的情况下观看视频。所以我在 Whosebug 中搜索并找到以下 link.
Bitrate JWplayer
然后我根据上述 link 创建了我的 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
按开始按钮后,我发现已连接当前比特率 0kbps,只有黑屏。
我也在 jwplayer 中试过 link
rtmp://192.168.0.106:1935/vod/smil:myVideo.smil
它正在加载但没有显示任何内容。
我再次尝试了 link
的方法
jwplayer("myElement").setup({
file: "/assets/myVideo.smil",
image: "/assets/myVideo.jpg",
height: 360,
width: 640
});
它显示“加载错误 stream:Manifest 未找到或无效”
我不知道我错过了什么,也不知道为什么不只使用 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>
问题在于 RTMP 本身完全忽略了多种比特率。
您在 JWPlayer 中执行此操作的方式是使用 HTTP link 到:
http://192.168.0.106:1935/vod/smil:MyVideo.smil/jwplayer.smil
这将指示 JWPlayer 使用从 URL 接收到的多比特率 smil,连接到给定的 RTMP 端点,播放列出的第一个流,并根据需要将流切换到不同的比特率。
基本上构造 URL 的方法是采用 HLS/DASH/HDS url 并将最后一个元素(比如 HLS 的 playlist.m3u8
)替换为 jwplayer.smil
.
但请注意,这仅适用于 SMIL。如果您尝试为 sample.mp4
(在本例中为 http://192.168.0.106:1935/vod/mp4:sample.mp4/jwplayer.smil)访问类似的 url,那么它不会工作,您很可能会遇到播放错误。
我正在使用 wowza 流媒体引擎和 jw 播放器来显示流并且工作正常。但我想控制视频的比特率,以便用户可以在没有太多缓冲的情况下观看视频。所以我在 Whosebug 中搜索并找到以下 link.
Bitrate JWplayer
然后我根据上述 link 创建了我的 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 按开始按钮后,我发现已连接当前比特率 0kbps,只有黑屏。
我也在 jwplayer 中试过 link rtmp://192.168.0.106:1935/vod/smil:myVideo.smil 它正在加载但没有显示任何内容。 我再次尝试了 link
的方法jwplayer("myElement").setup({
file: "/assets/myVideo.smil",
image: "/assets/myVideo.jpg",
height: 360,
width: 640
});
它显示“加载错误 stream:Manifest 未找到或无效” 我不知道我错过了什么,也不知道为什么不只使用 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>
问题在于 RTMP 本身完全忽略了多种比特率。
您在 JWPlayer 中执行此操作的方式是使用 HTTP link 到:
http://192.168.0.106:1935/vod/smil:MyVideo.smil/jwplayer.smil
这将指示 JWPlayer 使用从 URL 接收到的多比特率 smil,连接到给定的 RTMP 端点,播放列出的第一个流,并根据需要将流切换到不同的比特率。
基本上构造 URL 的方法是采用 HLS/DASH/HDS url 并将最后一个元素(比如 HLS 的 playlist.m3u8
)替换为 jwplayer.smil
.
但请注意,这仅适用于 SMIL。如果您尝试为 sample.mp4
(在本例中为 http://192.168.0.106:1935/vod/mp4:sample.mp4/jwplayer.smil)访问类似的 url,那么它不会工作,您很可能会遇到播放错误。