目录
1-- 下载ZLMediaKit项目代码
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit(只能通过git下载,不能用github下载zip包的形式)
cd ZLMediaKit
git submodule update --init
注:只能通过git下载,不能用github下载zip包的形式。
2-- 安装依赖
2-1 安装gcc编译器
# gcc版本>=4.8
# debian系操作系统(包括ubuntu系用户)使用以下代码进行安装gcc编译器
gcc --version
sudo apt-get install build-essential
2-2 安装cmake
# debian系操作系统(包括ubuntu系用户)使用以下代码进行安装cmake
cmake --version
sudo apt-get install cmake
2-3 安装依赖库
# 先执行
apt-get update
# 再安装依赖库
sudo apt-get install libssl-dev
sudo apt-get install libsdl-dev
# 由于源的原因,安装以下三个库的速度较慢,经常time out
sudo apt-get install libavcodec-dev # 安装这个依赖库会很慢,多安装几次,官方安装教程的建议是不安装这个库也不影响
sudo apt-get install libavutil-dev # 安装这个依赖库会很慢,多安装几次,官方安装教程的建议是不安装这个库也不影响
sudo apt-get install ffmpeg # 安装这个依赖库会很慢,多安装几次,官方安装教程的建议是不安装这个库也不影响
3-- 编译项目
cd ZLMediaKit
mkdir build
cd build
cmake ..
make -j4
4-- 运行
cd .. # 退出build文件夹
cd release/linux/Debug
# 运行以下程序了解启动参数
./MediaServer -h
# 以守护进程模式启动
./MediaServer -d &
以后,只需要进入Debug文件夹运行代码 ./MediaServer -d & 即可启动ZLM。
注:再次启动ZLM时,可能会由于进程残留,报端口被占用的错误。
解决方法:更改/ZLMediaKit/release/linux/Debug路径下的config.ini报错的端口号即可。
5-- 推流测试
# 5-1 使用rtsp方式推流
# h264推流(修改以下代码的视频地址即可)
ffmpeg -re -i "/civi/ZLMediaKit/final_demo.mp4" -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://127.0.0.1/live/test
# h265推流
ffmpeg -re -i "/civi/ZLMediaKit/final_demo.mp4" -vcodec h265 -acodec aac -f rtsp -rtsp_transport tcp rtsp://127.0.0.1/live/test
# 使用h265推流时报错
# 5-2 使用rtmp方式推流
ffmpeg -re -i "/civi/ZLMediaKit/final_demo.mp4" -vcodec h264 -acodec aac -f flv rtmp://127.0.0.1/live/test
# 5-3 使用rtp方式推流
# h264推流
ffmpeg -re -i "/civi/ZLMediaKit/final_demo.mp4" -vcodec h264 -acodec aac -f rtp_mpegts rtp://127.0.0.1:10000
# h265推流
ffmpeg -re -i "/civi/ZLMediaKit/final_demo.mp4" -vcodec h265 -acodec aac -f rtp_mpegts rtp://127.0.0.1:10000 # failed
6-- 使用url规则播放推流
# 推流
ffmpeg -re -i "/civi/Running_Recognition_Note/output_5.30/test6.mp4" -vcodec h264 -acodec aac -f rtsp rtsp://127.0.0.1/live/test
# 播放测试
ffplay rtsp://127.0.0.1/live/test