服务器:SRS(简单RTMP服务器,支持RTMP、HTTP-FLV、HLS)
推送终端:ffmpeg、OBS
流媒体终端:ffplay、VLC、srs播放器
srs在github上的官方网站:https://github.com/ossrs/srs
SRS码云官网:https://gitee.com/winlinvip/srs.oschina
关于代码提交,请参考这个链接地址:
https://github.com/ossrs/srs/wiki/v1_CN_Git
如图所示:
选择通过码云下载,速度快。选择当前比较新的release版本3.0
命令:git clone https://gitee.com/winlinvip/srs.oschina.git
下载完成后,进入该目录。
可以看到4.0已经出来了,但是3.0还是稳定可靠的,所以这里我会选择3.0。
选择3.0并切换到3.0release分支。关于git的使用,稍后我会再写几篇文章。
git checkout -b 3.0 远程/origin/3.0release
进入trunk目录:
开始编译srs.此过程可能需要几分钟。
./配置使
./configure编译过程如下:
./configure结束如下:
然后使
制作过程如下:
make结束如下,表示编译完成:
目录如下:
修改配置文件:vim conf/rtmp.conf,如下:
修改前的配置如下:
修改后的配置如下:
使用#注释,否则可能会出现错误。
Listen 1935 表示rtmp协议默认端口号为1935。
max_connections 1000:表示默认支持1000个连接。
完成上述步骤后,启动srs。 -c表示读取配置文件。
./objs/srs -c conf/rtmp.conf
这时候就说明启动成功了。
检查日志:tail -f ./objs/srs.log。如果出现如下界面,则说明启动成功。
可以使用lsof -i:1935 查看该端口号被哪个进程占用。
使用FFMPEG命令推流需要提前搭建ffmpeg环境以验证测试结果。

这里的live是指栏目,比如电影,这里的livestream是指具体的电影名称。
注意:您需要使用自己的IP。将rtmp.flv 文件替换为您自己的文件。
您需要先切换到rtmp.flv目录。例如,这是这条路径。
ffmpeg -re -i rtmp.flv -vcodec copy -acodec copy -f flv -y rtmp: //172.16.204.132/live/livestream
表示正在推送流:
您可以使用ffplay 或VLC 或其他流媒体工具。表示正在拉取流:
ffplay rtmp://172.16.204.132/直播/直播
如果出现如下下拉界面,则说明运行成功。
服务器在这里收到很多消息。界面如下:
您还可以使用在线SRS播放器来玩:
http://ossrs.net/srs.release/trunk/research/players/srs_player.html?vhost=__defaultVhost__autostart=trueserver=192.168.1.170app=livestream=livestreamport=1935
如下图:
关于SRS的RTMP分发和推流,可以参考这个官网链接地址:
https://github.com/ossrs/srs/wiki/v1_CN_DeliveryRTMP
2、使用OBS推流
如果你觉得ffmpeg的命令行方式不太友好,建议使用主流的OBS开源流媒体软件。您可以从官网https://obsproject.com/下载最新版本。目前,很多网络主播都用它来进行直播。该软件支持本地视频文件和摄像机流。或者使用:https://pc.qq.com/detail/4/detail_23604.html 即可正常下载。
官方网站:
下面是文件推送的演示:
选择本地视频文件。填写本地文件的地址。
接下来是关键部分,进入设置:
在推流服务器中输入srs的地址:rtmp://192.168.1.11:1935/live(注意这里不要包含livestream),然后在推流key中输入livestream。
设置完成后,您可以点击“开始串流”。如果一切顺利的话,下面的状态栏会显示一些实时数据:
注意:推流时OBS占用率较高(实际CPU占用率还不错,但没有那么高)。原因是OBS在推流时对源文件进行了解码和重新编码。 obs 还可以捕获声音。它是一个非常好用的工具,还包含录音等功能,所以也值得学习和使用。
点击开始推流,服务器会收到一条消息:如下
也可以使用ffplay来拉流。 ffplay rtmp://172.16.204.132/直播/直播
直播画面如下:
同时,服务器会收到客户端的连接消息。
使用相机进行直播
这其实和推送文件流类似,区别只是增加了一个“视频采集设备”。
采集屏,默认配置如下:
接下来的操作与推送文件流相同(但CPU占用率增加),如下:
https://cloud.tencent.com/document/product/267/32726
界面如下:
这里的设置地址有很多,如下:
通过github下载速度很慢。
用户评论
逾期不候
哇,这篇文章太实用了!我正打算搭建自己的流媒体服务器,这步骤简直太详细了,感谢分享!
有16位网友表示赞同!
单身i
看了这篇文章,我觉得搭建流媒体服务器也没那么难嘛。希望实操起来也这么顺利。
有10位网友表示赞同!
有你,很幸福
这详细的步骤真的帮了我大忙,之前一直不知道从何下手,现在心里有底了。
有7位网友表示赞同!
糖果控
流媒体服务器搭建步骤这么复杂啊,我可能需要一点点时间来消化这些信息。
有8位网友表示赞同!
千城暮雪
感谢分享,我之前试过搭建,但总是遇到各种问题,这次按照步骤来试试。
有14位网友表示赞同!
心脏偷懒
这步骤看起来有点繁琐,不过对于新手来说,还是很有帮助的。
有18位网友表示赞同!
╭摇划花蜜的午后
一步一步来,感觉这文章像是我的救星,终于可以开始我的流媒体之旅了。
有13位网友表示赞同!
采姑娘的小蘑菇
这文章里提到的软件我都用过,但就是搭建不起来,希望这次能成功。
有18位网友表示赞同!
心已麻木i
流媒体服务器搭建细节真的很重要,这篇文章提醒了我很多容易忽视的地方。
有16位网友表示赞同!
余温散尽ぺ
我之前就因为步骤不清晰而放弃了,现在有了这篇文章,我决定再试一次。
有14位网友表示赞同!
念初
文章里的步骤很详细,但是感觉有些专业术语我不太懂,希望有人能帮忙解答。
有18位网友表示赞同!
如你所愿
搭建流媒体服务器是个技术活,但看到这篇文章,我觉得自己离目标又近了一步。
有17位网友表示赞同!
病态的妖孽
这篇文章里的步骤图示真的很清晰,让我对整个搭建过程有了更直观的了解。
有17位网友表示赞同!
龙卷风卷走爱情
流媒体服务器搭建完成后,不知道怎么测试,希望文章里能补充这方面的内容。
有5位网友表示赞同!
抚涟i
文章里提到的软件安装步骤很详细,但是操作过程中遇到了网络问题,有点头疼。
有16位网友表示赞同!
请在乎我1秒
这步骤对我来说有点挑战,但我相信通过努力,我一定可以成功。
有8位网友表示赞同!
蝶恋花╮
看了这篇文章,我决定自己动手搭建一个流媒体服务器,体验一下整个过程。
有17位网友表示赞同!
瑾澜
这篇文章让我对流媒体服务器有了更深的认识,感谢作者的耐心分享。
有13位网友表示赞同!
烬陌袅
流媒体服务器搭建完成后,不知道如何优化性能,希望有人能给出建议。
有18位网友表示赞同!
巴黎盛开的樱花
这篇文章真的太棒了,我已经按照步骤开始搭建了,期待成功!
有18位网友表示赞同!