下面介绍如何在Mac上搭建流媒体服务器,以便后续的自己研究的项目或者demo向服务器上进行推流
首先需要安装brew,brew是一款管理软件的第三方平台,安装的方式也很简单,请自行查阅安装方式
执行下面2句命令,即可安装rtmp推流的nginx服务器
执行完后,可以查看ngix安装在哪里
可以看到M1 是安装在这个目录下/usr/local/etc/nginx
打开这个目录,可以看到有个nginx.conf文件,这里就是服务器的一个配置文件,如果支持rtmp,则里面的内容会有一个rtmp的json
这个json说明:
1.你本地的nginx服务器会监听1935端口号,
2.服务器会创建一个mytv的程序
后续你可以向这个地址进行推流,并且进行拉流播放
后面我们会使用ffmpeg向这个地址推流
rtmp://localhost:1935/mytv/room
并且用vlc拉取这个地址的流进行播放
执行命令,即可启动nginx服务器
验证是否启动成功,只需要在浏览器中访问下以下链接
在浏览器地址栏输入: http://localhost:8080
出现Welcome to nginx ,代表nginx安装成功了。
打开配置文件 /usr/local/etc/nginx/nginx.conf
这里推的是flv流,可以正常推,这里需要注意的是服务器地址一定要写正确,我的nginx.conf里application配置的是mytv,所以路径就是mytv,room则是随便写都行,代表向程序mytv下的room文件推流
然后电脑上打开vlc这个播放器软件 点击File---->Open Network 在弹出来的框中选择Network然后输入URL:
验证时,推流的文件最好搞大点,不然一下推完了,你才去拉取播放,则播放不了,因为这是实时的
vlc使用如下
3.点击播放即可
可以看到左边是画面,右边是ffmpeg在推流
参考: https://www.jianshu.com/p/cf74a34af15d
WebRTC目前已经比较成熟了,播放也比较稳定,协议也已经成为了RFC,相应的开源项目也比较多。当然我觉得WebRTC还缺一个高性能简单易用的服务器,之前也分析过现有的服务器,有各种问题,SRS很有机会解决这些问题。
目前SRS对WebRTC的支持进度如下:
相关Wiki:
在线演示,RTMP推流,HTTP-FLV和WebRTC播放:
在线演示,WebRTC推流,WebRTC播放:
自己用SRS搭建WebRTC服务器,也非常容易,下面是操作步骤。
注意:必须要将本机的IP传给Docker,否则会推流和播放失败。
可以直接传本机IP,例如: 192.168.1.3 。如果觉得直接传IP比较麻烦,可以用脚本获取IP。
macOS下执行命令,直接设置IP:
macOS下执行命令,用脚本获取IP:
CentOS下执行命令,用脚本获取IP:
启动后,可以访问 http://localhost:8080/ ,确认是否启动成功。
Docker一定要设置对这个IP,否则会出现推流和播放失败。
演示,WebRTC推流和播放,链接:
演示,RTMP推流,WebRTC播放。首先,用FFMPEG或OBS推送RTMP流到服务器:
可播放的流地址:
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)