大家好,感谢邀请,今天来为大家分享一下开源流媒体服务器SRS学习安装、推流、拉流的问题,以及和的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
官网提供了3种安装方式:源码编译安装、使用docker(学习用)、直接下载安装包进行安装。
首先从官网下载最新的稳定发布版本(目前为2.0r6)http://ossrs.net/srs.release/releases/files/SRS-CentOS6-x86_64-2.0.263.zip
然后上传到centos服务器,解压到指定目录,执行以下命令安装:
须藤./安装
安装成功后,会出现类似上图的提示。
如果报错信息No package lsb_release available。出现(centos 7上容易出现此错误),可以先尝试安装yum install -y redhat-lsb。
2. 启动/停止
2.1 启动
sudo /etc/init.d/srs start2.2 停止
sudo /etc/init.d/srs stop 类似。除了启动/停止之外,还有其他选项,例如:reload|status
1 [~]$ /etc/init.d/srs2 使用: /etc/init.d/srs {启动|停止|状态|重新启动|重新加载}
3、推送测试
流媒体:将视频发布到流媒体服务器(支持本地文件或摄像头作为视频源)
3.1 使用FFmpeg 推流
FFmpeg是一套开源软件,可以用来录制、转换数字音频和视频,并将其转换为流。它可用于将本机视频文件推送到SRS。从FFmpeg官网下载后,直接解压到本地机器并运行。
Tips: srs源码附带了示例flv,路径为./trunk/doc/source.200kbps.768×320.flv
推送命令(mac环境):
./ffmpeg -re -i source.200kbps.768×320.flv -vcodec copy -acodec copy -f flv -y rtmp://srs_server_ip:1935/live/livestream 注: 上述命令中flv的完整路径,以及srs服务器ip ,请按照情况自行替换为实际值。另外:srs的rtmp默认使用1935端口,如果该端口被占用或者srs.conf中的端口被修改,请根据情况进行调整;如果防火墙打开,检查1935是否允许访问。
./ffmpeg -re -i /Users/jimmy/code/srs/trunk/doc/source.200kbps.768×320.flv -vcodec copy -acodec copy -f flv -y rtmp://*.*.*.*:1935/live/livestreamffmpeg 版本4.1.3-tessus https://evermeet.cx/ffmpeg/版权所有(c) 2000-2019 FFmpeg 开发人员使用Apple LLVM 版本10.0.1 (clang-1001.0.46.3) 配置: –cc=/usr/bin/clang –prefix=/opt/ffmpeg –extra-version=tessus –enable-avisynth –enable-fontconfig –enable-gpl –enable-libaom –enable-libass –enable-libbluray –enable- libfreetype –enable-libgsm –enable-libmodplug –enable-libmp3lame –enable-libmysofa –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopus –enable-librubberband –enable-libshine –enable-libsnappy –enable-libsoxr –enable-libspeex –enable-libtheora –enable-libtwolame –enable-libvidstab –enable-libvo-amrwbenc –enable-libvorbis –enable-libvpx –enable -libwavpack –enable-libx264 –enable-libx265 –enable-libxavs –enable-libxvid –enable-libzimg –enable-libzmq –enable-libzvbi –enable-version3 –pkg-config-flags=–static –disable-ffplay libavutil 56.22.100/56.22.100 libavcodec 58.35.100/58.35.100 libavformat 58.20.100/58.20.100 libavdevice 58.5.100/58.5.100 libavfilter 7.40.10 1/7. 40.101 libswscale 5 。 3.100/5. 3.100 libswresample 3. 3.100/3. 3.100 libpostproc 55. 3.100/55. 3.100输入#0,flv,来自“/Users/jimmy/code/srs/trunk/doc/source.200kbps.768×320.flv” : 元数据: 主要_品牌: isom 小_版本: 512 兼容_品牌: isomiso2avc1mp41 编码器: Lavf54.63.104 持续时间: 00:03:30.73,start: 0.034000,比特率3 3360 251 kb/s 流#0:0: 视频: h264(高)、yuv420p(逐行)、768×320 [SAR 1:1 DAR 12:5]、212 kb/s、25 fps、25 tbr、1k tbn、50 tbc 流#0:1: Audio: aac (LC)、44100 Hz、立体声、fltp、30 kb/s 输出#0、flv、至’rtmp://10.2.72.62:1935/live /livestream’: 元数据: 主要_品牌: isom 小_版本: 512 兼容_品牌: isomiso2avc1mp41 编码器: Lavf58.20.100 流#0:0: 视频: h264(高)([7][0][0][0]/0 x0 007), yuv420p(逐行), 768×320 [ SAR 1:1 DAR 12:5],q=2-31、212 kb/s、25 fps、25 tbr、1k tbn、1k tbc 流#0:1: Audio: aac (LC) ([10][0][0][0] /0x000A)、44100 Hz、立体声、fltp、30 kb/s流映射: Stream #0:0 – #0:0 (复制) Stream #0:1 – #0:1 (复制)按[q] 停止,[?] 帮助帧=508 fps=25 q=-1.0 size=693kB time=00:00:20.24 bitrate=280.4kbits/s speed=1x 如果顺利的话,你会看到类似上面的输出,表明视频流正在被推送到srs。
3.2 使用obs采集摄像头流并推流
FFmpeg的命令行方式不太友好。推荐使用主流OBS开源推流软件。您可以从官网https://obsproject.com/下载最新版本。目前,很多网络主播都用它来进行直播。该软件支持本地视频文件和摄像机流。
3.2.1 文件推送
首先添加一个:“媒体来源”
然后创建一个新名称(输入您想要的任何名称)
选择原生视频文件
接下来是关键部分,进入设置:
在推流服务器中输入srs的地址:rtmp://srs_server_ip:1935/live(注意这里不要包含livestream),然后在推流key中输入livestream。
设置完成后,您可以点击“开始串流”。如果一切顺利的话,下面的状态栏会显示一些实时数据:
3.2.2 摄像头串流
其实和上面类似,唯一的区别就是增加了“视频捕捉设备”
然后选择机器检测到的摄像头设备(例如:下图为mac笔记本自带的FaceTime HD Camera)
接下来的步骤是相同的:
4、拉力测试
流式传输:即从流媒体服务器读取视频流(说白了就是:播放)
推荐使用开源的VLC播放器(当然其他支持网络媒体源播放的播放器也可以),文件-打开网络,输入地址rtmp://srs_server_ip:1935/live/livestream
如果一切顺利的话,就可以正常播放了。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/150410.html
用户评论
金橙橙。-
终于找到这篇博客了!之前想搭建自家的流媒体服务器一直没成功,感觉配置和流程太复杂了。看你的介绍越来越明白了,而且步骤很详细,非常友好新手教程!
有16位网友表示赞同!
开心的笨小孩
开源流媒体服务器SRS确实不错,稳定性和性能都挺好。这篇文章写得也很全面,从安装到推流、拉流都有讲解,有几个实用的小技巧我也没遇到过,很有收获!
有11位网友表示赞同!
あ浅浅の嘚僾
我试着按照你写的步骤折腾了一下SRS,但是总碰到一些奇怪的错误,也许是我小白操作失误?希望你能帮我看看这个问题是什么原因啊!
有10位网友表示赞同!
别留遗憾
感觉这篇文章介绍了SRS的一个完整解决方案,对于想要搭建一个安全的私有流媒体平台的用户来说非常实用。尤其提到的安全策略和加密设置很有帮助。
有12位网友表示赞同!
不离我
开源永远是好东西!用自己的时间学习开源项目确实会比直接使用商业方案更能提升自身技术水平。而且像SRS这样的项目社区很活跃,遇到问题很容易找到解决方案。
有5位网友表示赞同!
風景綫つ
这个文章让我更加清晰了解了SRS的架构和功能!之前只是知道它是个流媒体服务器,但没有深入了解过它的细节。
有6位网友表示赞同!
哽咽
我需要搭建一个大规模的直播平台,想尝试一下使用开源流媒体服务器SRS,希望能达到预期效果!
有18位网友表示赞同!
不要冷战i
SRS确实比较强大,但是对于新手来说上手难度还是有一点挑战。希望作者可以后期加入一些更详细的教程,帮助我们更好的入门学习。
有18位网友表示赞同!
限量版女汉子
安装和配置SRS其实并不复杂,关键是理解它的工作原理和使用方法。文章里提到的常用命令和配置项都很有用,我开始摸索起来有了思路.
有12位网友表示赞同!
颓废i
感谢作者分享这篇文章!开源流媒体服务器的确是一个非常实用的工具,可以用于搭建自己想要的功能的直播平台或视频内容分发系统。
有18位网友表示赞同!
哭着哭着就萌了°
我的网站上有很多视频资源,目前是依赖第三方云平台。 想尝试使用SRS搭建自己的私有空间部署服务器,这样可以更控制数据安全和成本控制!
有8位网友表示赞同!
惦着脚尖摘太阳
我之前尝试过其他开源流媒体服务器,感觉SRS的使用体验更好、功能更丰富。这篇博客写的很全面,感谢作者的工作!
有16位网友表示赞同!
爱情的过失
推流和拉流这两个概念我一直没弄明白,现在读完你的博客终于明白了。文章解释的很通俗易懂,让我对SRS的功能更加了解了。
有11位网友表示赞同!
七级床震
这个标题很有魅力,让我非常好奇开源流媒体服务器SRS究竟怎么样!
有14位网友表示赞同!
聽風
虽然我对技术的理解有限,但是这篇博文用非常简单的语言介绍了SSR的原理和使用方法,让我这个新手也能理解一些基本概念,很棒!
有14位网友表示赞同!
挽手余生ら
我之前想学习搭建视频直播平台,现在看见这篇文章里提供关于开源流媒体服务器的详细指南,我觉得很有希望可以成功。
有16位网友表示赞同!
雁過藍天
使用开源流媒体服务器SRS可以节省很多成本啊!以后自己做网站或者直播的时候,可以选择试试这个方案!
有6位网友表示赞同!
你tm的滚
我希望作者能够写一篇更深入的文章来讲解SRS的一些高级用法和技巧,例如自定义编码器、支持多平台拉取以及搭建高并发系统等。
有16位网友表示赞同!