快速搭建rtsp server(Ubuntu)

[复制链接]
发表于 2026-10-4 17:08:19 | 显示全部楼层 |阅读模式

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

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

×

视频监控监控、直播回放、边缘推流这些场景里,经常需要一个能直接把本地文件当流发出去的 RTSP 服务,做算法验证或联调比不起来一整套摄像头。这里用 simple-rtsp-server:纯 C 实现,从本地目录读 MP4/MKV 循环推流,支持 H264/H265、AAC/PCMA、RTP over UDP/TCP,多个客户端拉同一路流时画面同步,行为跟真实摄像头接近。本文记录 Ubuntu 上从编译 ffmpeg 到拉流验证的完整过程。

一、项目特性

  • 支持 MP4、MKV 文件作为内容源;
  • 音视频编码支持 H264、H265、AAC、PCMA;
  • 支持 RTP over UDP 与 RTP over TCP;
  • 用 epoll 收发音视频数据,轻量;
  • 把视频丢进 mp4path 目录,就能用 rtsp://IP:8554/文件名 拉流,播完自动循环;
  • 多个客户端拉同一路流时内容同步。

二、准备依赖

simple-rtsp-server 依赖 ffmpeg,版本要求 4.x 及以上。先装编译工具与基础库:

sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev

sudo apt-get install yasm
sudo apt-get install nasm

视频相关库:

sudo apt-get install libx264-dev
sudo apt-get install libx265-dev

音频相关库:

sudo apt-get install libfdk-aac-dev
sudo apt-get install libmp3lame-dev
sudo apt-get install libopus-dev

三、编译安装 ffmpeg 4.0.5

wget https://ffmpeg.org/releases/ffmpeg-4.0.5.tar.bz2
tar xjvf ffmpeg-4.0.5.tar.bz2
cd ffmpeg-4.0.5
./configure --prefix=/usr/local --enable-libx264 --disable-x86asm --enable-nonfree --enable-libfdk-aac --enable-shared --enable-gpl --enable-libmp3lame --enable-libopus --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib

make
make install

四、编译 simple-rtsp-server

git clone https://github.com/BreakingY/simple-rtsp-server.git
cd simple-rtsp-server
mkdir build
cd build
cmake ..
make -j

五、运行

cp -r ../mp4path .
./rtsp_server 0    # 0 不鉴权;1 开启鉴权

六、拉流测试

项目自带的 mp4path 里有几个测试文件,把想回放的视频丢进去即可。

TCP 拉流:

ffmpeg -rtsp_transport tcp -i "rtsp://192.168.10.17:8554/test_h264_aac.mp4" -vcodec copy -acodec copy test_h264_aac_tcp.mp4

UDP 拉流:

ffmpeg -i "rtsp://192.168.10.17:8554/test_h264_aac.mp4" -vcodec copy -acodec copy test_h264_aac_udp.mp4

也可以用 VLC:媒体 → 打开网络串流,填 RTSP 地址。默认走 UDP 拉流,要切 TCP 就在「工具 → 偏好设置 → 输入/编解码器」里拉到最下方选「RTP over RTSP (TCP)」。

服务端运行起来后会把 RTSP 信令交互过程打印出来,看这个输出能清楚理解为 setup / play 阶段发生了什么,联调排查时很有帮助。

七、几个实用提醒

  • 默认端口 8554,被占用或改端口要对应改拉流地址;
  • 回放型 RTSP 服务定位是「模拟摄像头」,不适合当长期高并发流媒体服务器,生产环境用 MEDIASSILERO 或 SRS 这类成熟方案;
  • 跨网段拉流不通时,先确认 UDP 8554/554 方向是否被防火墙拦,再考虑走 TCP;
  • 循环播放与多端同步是它的优势,做算法联调时可以直接拿它当稳定输入源。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表