我有一个rtmp on demand流(由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>
答案 0 :(得分:2)
简答
RTMP只存储足够的缓冲区供视频播放而不会暂停,这就是JWPlayer中没有看到任何缓冲区的原因。
长答案
YouTube使用HTTP Pseudo-Streaming提供内容,以便完全缓存视频。您目前正在使用RTMP来传输没有真正缓冲区的视频。
当播放器正在播放RTMP服务器中的内容时,缓冲区不会公开。这是因为与渐进式下载或HTTP伪流式传输不同,RTMP只会下载足够的内容以显示它而不必暂停,因此播放器不会报告缓冲区百分比。
如果您希望观看者能够寻找尚未下载的视频部分并且能够缓冲视频(适用于慢速互联网连接),同时您可以切换到{{3} }。
答案 1 :(得分:0)
通常,Wowza RTMP将流作为块传递。如果我在播放器中暂停流,wowza服务器也会将块暂停到播放器。这导致我们不会从服务器获取数据/块。如此清楚我希望缓冲是不可能的。
对于HTTP Pseudo流,它不是那样的,它使用渐进式下载方法。所以缓冲是可能的。