rtsp服务器基于开源框架“ZLMediaKit“,它是一个基于C++的高性能运营级流媒体服务框架,本文环境基于Ubuntu20.10版本,如有其他版本可参考项目原文
Gitee项目网址:
https://gitee.com/xia-chu/ZLMediaKit
1.克隆项目源代码
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
2.切换到项目目录,并进行模组初始化
git submodule update --init
3.安装所需库文件
apt-get install -y libssl-dev libavcodec-dev ffmpeg libavutil-dev gcc g++ cmake make
4.下载libsrtp
git clone https://github.com/cisco/libsrtp.git
5.进入libsrtp目录开始编译源码文件
./configure --enable-openssl && make -j4 && sudo make install
6.在ZLMediaKit目录下的CMakeLists.txt文件里面加入这一个参数
option(ENABLE_WEBRTC "Enable WebRTC" true)
7.在ZLMediaKit目录下建立一个build目录,并进入开始编译它的源码文件
cmake .. && make -j4;
8.ZLMediaKit安装完成,并进入ZLMediaKit/release/linux/Debug目录
root@rtsp2:~/ZLMediaKit# cd release/linux/Debug/
root@rtsp2:~/ZLMediaKit/release/linux/Debug# ls
MediaServer bom libmov.a tab test_pusher test_wsClient
api_tester_h264_media_server config.ini libmpeg.a test_bench_proxy test_pusherMp4 test_wsServer
api_tester_httpclient default.pem libsrt.a test_bench_pull test_rtcp_nack www
api_tester_pusher libflv.a libwebrtc.a test_bench_push test_rtp
api_tester_server libjsoncpp.a libzlmediakit.a test_httpApi test_server
api_tester_websocket libmk_api.so libzltoolkit.a test_httpClient test_sortor
9.找到并编辑config.ini文件
将秘钥改成自己想要的
10.启动rtsp服务器
./MediaServer -d &
# -d代表该服务器以daemon实例形式运行
如需要了解启动参数则:
./MediaServer -h
11.用obs进行推流测试
!!!注意!!若OBS推流的设置为:服务器“rtmp://192.168.20.27/mnt”,串流密钥:“123456”;则相应的得到了RTMP拉流地址为rtmp://192.168.20.27/mnt/123456
12.用客户端进行拉流测试,这里选用VLC进行测试
参考:
https://zhuanlan.zhihu.com/p/366774975
https://blog.csdn.net/haysonzeng/article/details/116754065
https://blog.csdn.net/byna11sina11/article/details/119786889