ubuntu使用ffmpeg+ZLMediaKit搭建rtsp推流情况

打印 上一主题 下一主题

主题 961|帖子 961|积分 2883

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最方便的方式,ubuntu上安装vlc播放器,通过vlc来推流,在网上有很多教程。这里采用ffmpeg+ZLMediaKit
必备条件:
1、安装ffmpeg
2、安装ZLMediaKit

一、安装ffmpeg
  1. sudo apt update
  2. sudo apt install ffmpeg
复制代码
二、安装ZLMediaKit
ZLMediaKit采用源码安装的方式
安装源码编译情况

  1. sudo apt update
  2. sudo apt install git cmake make g++ -y
复制代码
下载源码,编译
  1. git clone https://github.com/ZLMediaKit/ZLMediaKit.git
  2. cd ZLMediaKit
  3. cmake .
复制代码
报错提示:
  1. CMake Error at 3rdpart/CMakeLists.txt:201 (add_library):
  2.   No SOURCES given to target: zltoolkit
  3. CMake Error at 3rdpart/CMakeLists.txt:91 (add_library):
  4.   No SOURCES given to target: mpeg
  5. CMake Error at 3rdpart/CMakeLists.txt:68 (add_library):
  6.   No SOURCES given to target: flv
  7. CMake Error at 3rdpart/CMakeLists.txt:55 (add_library):
  8.   No SOURCES given to target: mov
  9. CMake Error at 3rdpart/CMakeLists.txt:32 (add_library):
  10.   No SOURCES given to target: jsoncpp
  11. CMake Generate step failed.  Build files cannot be regenerated correctly.
复制代码
这个问题通常是因为 ZLMediaKit 的子模块未精确下载导致的。ZLMediaKit 的项目中依赖多个子模块(如 ZLToolKit、jsoncpp 等),这些子模块需要通过 git submodule 命令下载。
  1. git submodule update --init --recursive
复制代码
重新 cmake , 报错
CMake Warning at webrtc/CMakeLists.txt:28 (message): srtp 未找到, WebRTC 相干功能打开失败
这个告诫表明 ZLMediaKit 中的 WebRTC 功能需要依赖 SRTP 库,而你的体系中没有安装该库或 CMake 未能找到它。
办理方法

安装 SRTP 库

ZLMediaKit 的 WebRTC 功能依赖 libsrtp,需要在体系中安装该库。
对于 Ubuntu 或 Debian 体系

执行以下命令安装 libsrtp:
  1. sudo apt update
  2. sudo apt install libsrtp2-dev -y
复制代码
重新cmake,没有报错提示,然后make。
开始推流
一、启动启动 ZLMediaKit
编译完成之后,
cd release/linux/Debug/
./MediaServer
sudo netstat -tuln | grep 554
可以看到默认启动端口是554。
如果要修改成别的端口,可以修改目录下的config.ini。

二 启动 ffmpeg推流
使用 FFmpeg 将 20.mp4 推送到 rtsp://127.0.0.1:8554/left
  1. ffmpeg -re -i 20.mp4 -c:v libx264 -preset ultrafast -tune zerolatency -f rtsp rtsp://127.0.0.1:8554/left
复制代码
运行报错,观察MediaServer的日志:
2024-12-23 10:15:13.008 W [MediaServer] [14284-event poller 3] RtspSession.cpp:62 onError | 1-47(127.0.0.1:35922) RTSP播放器(__defaultVhost__/left/)断开:rtsp推流url非法,最少确保两级rtsp url:rtsp://127.0.0.1:8554/left,耗时(s):0
可见是url地址非法,至少要有两级
修改为:
  1. ffmpeg -re -i 20.mp4 -c:v libx264 -preset ultrafast -tune zerolatency -f rtsp rtsp://127.0.0.1:8554/live/left
复制代码
三 验证
使用ffplay拉流显示
  1. ffplay rtsp://127.0.0.1:8554/live/left
复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连密封材料

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表