RTMP局域网直播环境搭建(ffmpeg+crtmpserver+xampp+jwplayer7)

相关文章链接:

【1】ffmpeg处理RTMP流媒体的命令大全

【2】Win7(Windows 7)下用VS2013(Visual Studio 2013)编译crtmpserver

【3】xampp的安装及使用

【4】JWPlayer 7的正确使用方法及Flash plugin failed to load解决方法

【5】Adobe Media Server 5(AMS)的安装及使用

【6】Adobe Media Server 5(AMS)的简单配置

服务器端:笔记本,Win7 64位,IP—192.168.2.189,需安装IE浏览器(我的是IE11)和ffmpeg+crtmpserver+xampp+jwplayer7,并关闭防火墙,WiFi开不开无所谓。

客户端:台式机,Win7 32位,IP—192.168.2.173,需关闭防火墙。

问题一.Setup took longer than 30 seconds to complete

之前【4】中只是在笔记本上做了本机测试,通过360浏览器地址栏输入http://localhost/jwplayer-7.7.1或者http://127.0.0.1/jwplayer-7.7.1可以调用jwplayer实现点播和直播,但是通360输入http://192.168.2.189/jwplayer-7.7.1却不能播放。后来换了谷歌浏览器,这三个地址都能正常播放。

现在设置jwplayer-7.7.1播放本机视频,即将index.html中的file设置为file:'sample.flv',在台式机浏览器中输入http://192.168.2.189/jwplayer-7.7.1,不管是谷歌还是IE浏览器都会出现提示Setup Timeout Error:Setup took longer than 30 seconds to complete,这是因为JavaScript代码长时间没有响应,导致jwplayer加载失败。

关于这个问题“烈火君”做了优化,不过他优化的是jwplayer-7.0.0,详见链接:JW Player 7 烈火优化版下载。下载后解压到E:\xampp\htdocs,重命名为jwplayer-7.0.0,并将jwplayer-7.7.1中的index.html和sample.flv拷贝到E:\xampp\htdocs\jwplayer-7.0.0中,再次在台式机浏览器中输入http://192.168.2.189/jwplayer-7.0.0,播放成功。需要注意的是,这时只有IE浏览器测试成功。

问题二.Could not connect to server

现在设置jwplayer-7.0.0播放rtmp流,即将index.html中的file设置为file:'rtmp://localhost/vod/sample.flv',此sample.flv的位置参考【2】。在台式机IE浏览器中输入http://192.168.2.189/jwplayer-7.0.0,播放失败,提示Error loading stream:Could not connect to server。

关于这个问题,很可能是防火墙封堵了rtmp服务器的默认端口1935,但是现在防火墙已经关闭,用netstat -ano查看也并未发现端口被其他进程占用。联想到之前搭建web服务器时,出现过本机可以访问,但是其他机器无法访问的情况,应该是xampp没有配置好。

打开xampp中Apache的配置文件E:\xampp\apache\conf\httpd.conf,找到如下两处,做图中所示修改。

然后将index.html中的file设置为file:'rtmp://192.168.2.189/vod/sample.flv',此时完整的index.html代码如下所示。

<html>
<head>
<script src="jwplayer.js"></script>
<script src="jwplayer.flash.swf"></script>
<script>jwplayer.key="iP+vLYU9H5KyhZeGt5eVuJJIoULUjltoaMeHXg==";</script>
</head>
<body>
<div style="left:0;top:0;width:100%;height:100%;position:absolute;" id='myplayer'></div> 
<script type='text/javascript'>    
 jwplayer('myplayer').setup({       
 file: 'rtmp://192.168.2.189/vod/sample.flv', 
 image: 'Logo.jpg',
 width: '100%',        
 height: '100%',
 autostart: 'false',

 }); 
<!--播放停止后,重新开始-->
jwplayer().onIdle(function(){

       jwplayer().play(true)
 });

</script>
</body>
</html>

再次在台式机IE浏览器中输入http://192.168.2.189/jwplayer-7.0.0,播放成功。

现在来试试笔记本上用ffmpeg向rtmp服务器推流,台式机进行播放。如何使用ffmpeg推流,【5】中有说明,这里只记录步骤。

1.将index.html中的file设置为rtmp://192.168.2.189/live/livestream。

2.cd到ffmpeg.exe 所在目录,输入指令ffmpeg -re -i 800600.264 -c copy -f flv rtmp://192.168.2.189/live/livestream,回车。

3.台式机IE浏览器中依然输入http://192.168.2.189/jwplayer-7.0.0,播放成功。

步骤2和3对调也行,只不过此时浏览器中的jwplayer会一直等待,直到ffmpeg开始推流,才有视频画面。

有图有真相

ffmpeg


crtmpserver

xampp

IE浏览器

 

原创不易,转载请标明出处:https://blog.csdn.net/caoshangpa/article/details/52996547

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草上爬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值