在Ubuntu上编译和运行SRS

摘要

本文描述了如何在Ubuntu系统上构建和运行SRS流媒体服务器,以及如何体验其推流和播放功能。

实验环境

操作系统版本:Ubuntu 22.04.3 LTS
gcc版本:11.4.0
g++版本:11.4.0

依赖库安装

#安装必备开发工具链
sudo apt install -y build-essential automake cmake pkg-config tclsh 
#安装用于推流的ffmpeg程序
sudo apt install -y ffmpeg

获取SRS源码和构建

开发环境安装好后,继续输入如下命令:

#进入一个剩余磁盘空间足够的盘,准备clone srs源码仓库,例如用户的HOME目录:
cd ~

#克隆SRS源码仓库
git clone -b develop https://gitee.com/ossrs/srs.git

#进入SRS主干目录
cd srs/trunk

#检出v6.0.48版本,并创建自己的开发分支
git checkout v6.0.48
git switch -c dev-from-v6.0.48

#根据开发环境,编译依赖库,并生成makefile脚本
./configure

#开始编译SRS
make

启动服务器

输入如下命令即可启动SRS:

./objs/srs -c conf/srs.conf

检查SRS是否成功启动

用浏览器可以打开 http://localhost:8080/ ,或者执行如下命令:

#查看SRS的状态
./etc/init.d/srs status
#或者看SRS的日志
tail -n 30 -f ./objs/srs.log

RTMP推流测试

在终端中输入如下命令进行RTMP协议推流测试:

#SRS源码仓库的trunk目录的doc子目录下有测试用的source.flv影片。
ffmpeg -re -i ./doc/source.flv -c copy -f flv rtmp://localhost/live/livestream

HTTP-FLV播放测试

在浏览器中地址栏粘贴如下网址进行HTTP-FLV播放测试:

http://localhost:8080/

点击网页中的“SRS播放器”链接,点击网页顶部的“SRS播放器”标签,在页面中点击“播放视频”按钮。

此刻,你如果在浏览器中看到视频画面,那么说明你在Windows上的SRS开发环境搭建成功了。

更进一步,我们还可以测试一下最低延迟的WebRTC功能。

WebRTC推流测试

在上一步打开的播放器网页中,进行如下操作:

1.点击网页顶部的“RTC推流”标签,在页面中点击“开始推流”按钮。
2.浏览器会提示你是否同意使用麦克风和摄像头,允许即可。

WebRTC播放测试

打开一个新的浏览器实例,打开上述的播放器网页,进行如下操作:

1.点击网页顶部的“RTC播放”标签,在页面中点击“播放视频”按钮。

此刻,你如果在浏览器中看到摄像头的画面,那么说明你已经成功体验SRS的WebRTC推流和播放功能了。

停止服务器

#输入如下命令可停止SRS
./etc/init.d/srs stop

#输入如下命令可再次启动SRS
./etc/init.d/srs start

总结

SRS流媒体服务器具备出色的性能,极高的稳定性和可维护性,这得益于其作者对经典C++编程思想的坚守以及对协程机制的深度应用。SRS项目通过深度使用协程技术,让代码的可读性和性能在同类产品中出类拔萃,值得热爱经典C/C++编程风格的开发者深入学习。

你可能感兴趣的:(流媒体,ubuntu,linux,音视频,webrtc,c++,实时音视频,服务器)