1

我有一个 rtmp 点播流(由 Wowza 服务器提供),我已经使用 JWPlayer 对其进行了配置。它运行良好,我想在 JWplayer 控制栏中添加吹流进度,就像 YouTube 视频播放器缓冲流进度一样。

这是我的 JW 播放器代码:

<body>
    <div id='mediaspace'>JW test Player with buffer enabled</div>
    <script type='text/javascript' src='jwplayer.js'></script>
    <script type='text/javascript'>
        jwplayer('mediaspace').setup({
            'flashplayer': 'player.swf',
            'file': 'mp4:path1/revolution.2012.101.hdtv-lol.mp4',
            'provider': 'rtmp',
            'frontcolor': '000000',
            'lightcolor': '000000',
            'screencolor': '000000',
            'bufferlength': '20',
            'streamer': 'rtmp://198.105.211.36:1935/mediacache',
            'controlbar': 'bottom',
            'width': '700',
            'height': '400'
          });
    </script>
</body>
4

2 回答 2

2

简答

RTMP 只存储足够的缓冲区供视频播放而不会暂停,这就是在 JWPlayer 中看不到任何缓冲区的原因。

长答案

YouTube 使用HTTP 伪流传输它的内容,允许对视频进行完全缓冲。您当前正在使用RTMP流式传输没有真正缓冲区的视频。

来自JWPlayer 支持论坛

当播放器从 RTMP 服务器播放内容时,缓冲区不会暴露。这是因为与渐进式下载或 HTTP 伪流不同,RTMP 只会下载足够的内容来显示它而无需暂停,因此播放器不会报告缓冲区百分比。

如果您希望您的观众能够寻找尚未下载的视频部分并能够缓冲视频(适用于慢速互联网连接),您可以切换到HTTP Pseudo-Streaming

于 2012-12-06T14:35:29.573 回答
0

通常,Wowza RTMP 以块的形式提供流。如果我暂停播放器中的流,wowza 服务器也会暂停播放器的块。这导致我们不会从服务器获取数据/块。很清楚,我希望缓冲是不可能的。

对于 HTTP 伪流,它不是那样的,它使用渐进式下载方法。所以缓冲是可能的。

更多信息请参考:http ://en.wikipedia.org/wiki/Flash_Video

于 2012-12-07T08:20:09.687 回答