小白也能看懂:RTSP 到底是什么?
第一次接触到 RTSP 这个词,刚开始看到:
rtsp://192.168.1.100:554/xxx
感觉非常复杂。
其实理解以后会发现,RTSP 并没有那么难。
对于刚接触摄像头的人来说,可以先记住一句话:
RTSP 就是让程序获取摄像头实时视频的一种方式。
一、先不要管 RTSP 是什么协议
假设教室里有一个摄像头。
摄像头一直在拍摄:
第1秒画面
第2秒画面
第3秒画面
第4秒画面
……
我们现在有一台 Linux 服务器,希望这台服务器也能看到摄像头的实时画面。
如果摄像头支持 RTSP,就相当于摄像头给我们提供了一个:
实时视频入口。
例如:
rtsp://192.168.1.100:554/xxx
Linux 服务器通过这个地址,就可以尝试获取摄像头的视频。
所以最简单的理解就是:
摄像头
↓
RTSP
↓
Linux服务器
翻译成人话:
Linux 服务器通过 RTSP,把摄像头正在拍的视频拿过来。
二、RTSP 可以理解成“视频的网址”
平时打开网页,我们会看到:
https://www.example.com
这个地址对应的是网页。
而 RTSP 地址可能长这样:
rtsp://192.168.1.100:554/xxx
它对应的通常是:
摄像头实时视频。
所以可以粗略理解成:
https://
↓
访问网页
rtsp://
↓
访问实时视频
当然两者实际上不是同一种协议,但对于第一次接触的人,这样理解最容易。
三、举个最简单的例子
假设有一台网络摄像头。
摄像头的信息是:
IP:192.168.1.100
用户名:admin
密码:123456
摄像头厂家告诉我们,它的 RTSP 地址是:
rtsp://admin:123456@192.168.1.100:554/xxx
Linux 服务器访问这个地址以后,就可以不断获取摄像头正在拍摄的视频。
整个过程就是:
摄像头
192.168.1.100
↓
RTSP
↓
Linux服务器
↓
获取实时视频
四、Linux 拿到视频以后能干什么?
这才是 RTSP 真正有用的地方。
拿到摄像头视频以后,我们可以做很多事情。
1. 实时观看
摄像头
↓
RTSP
↓
服务器
↓
网页
↓
实时查看
例如开发一个学校摄像头管理平台:
101教室 查看视频
102教室 查看视频
103教室 查看视频
点击“查看视频”,就可以看到这个教室的实时画面。
2. 保存录像
服务器拿到 RTSP 视频以后,也可以保存。
例如:
08:00 - 09:00
保存成:
2026-08-22-08-00.mp4
也可以每10分钟保存一个文件:
08:00-08:10.mp4
08:10-08:20.mp4
08:20-08:30.mp4
所以:
RTSP 不只是可以看,还可以把视频保存下来。
3. 给 AI 分析
例如学校想分析课堂情况。
可以这样:
摄像头
↓
RTSP
↓
服务器
↓
AI
AI 拿到视频以后,可以继续分析:
有没有学生
有多少学生
有没有人离开座位
有没有伏桌
有没有举手
所以 RTSP 本身不负责 AI。
它只是负责:
把摄像头的视频送到我们的程序。
五、可以把 RTSP 想成一根水管
这是我认为最好理解的方式。
假设:
摄像头 = 水龙头
视频 = 水
RTSP = 水管接口
Linux服务器 = 接水的人
那么整个过程:
水龙头
↓
水管
↓
接水
对应到摄像头:
摄像头
↓
RTSP
↓
Linux服务器
所以当开发人员说:
“我们需要拉一下 RTSP 流。”
其实可以直接翻译成:
“我们需要把摄像头的实时视频拿过来。”
这样就容易理解了。
六、什么叫“拉流”?
第一次接触视频开发,还经常会听见一个词:
拉流
其实也非常简单。
“流”就是不断传输的视频。
例如:
画面1
画面2
画面3
画面4
画面5
……
摄像头的视频不是一次性传完,而是在不停地产生。
服务器持续获取这些视频,就叫:
拉流。
所以:
拉 RTSP 流
翻译成人话就是:
通过 RTSP 持续获取摄像头实时视频。
七、是不是所有摄像头都有 RTSP?
不是。
这点非常重要。
有些专业网络摄像头支持:
RTSP
ONVIF
GB28181
这种比较方便第三方系统接入。
但是有一些家用摄像头可能只能:
摄像头
↓
厂家云平台
↓
厂家APP
虽然手机 APP 可以看到视频,但是不代表第三方程序一定能够获取视频。
所以购买或者调研摄像头时,可以直接问厂家:
这个型号是否支持 RTSP?
如果支持,再问:
RTSP 地址是什么?
八、摄像头的 RTSP 地址从哪里来?
这个地址通常不是自己随便写的。
不同厂家的格式可能不一样。
例如一个 RTSP 地址可能类似:
rtsp://用户名:密码@摄像头IP:554/视频路径
例如:
rtsp://admin:123456@192.168.1.100:554/xxx
这里可以简单理解:
admin
↓
摄像头用户名
123456
↓
摄像头密码
192.168.1.100
↓
摄像头IP
554
↓
RTSP常用端口
xxx
↓
厂家规定的视频路径
真正使用时,要根据具体摄像头品牌和型号查询说明书。
九、Linux 怎么测试 RTSP?
Linux 上可以安装一个非常常用的视频工具:
FFmpeg
可以把 FFmpeg 简单理解成:
Linux 上用来处理视频的工具。
关系就是:
摄像头
↓
RTSP地址
↓
FFmpeg
↓
Linux服务器
例如拿到 RTSP 地址以后,可以使用 FFmpeg 或 ffprobe 测试视频是否能够读取。
如果成功看到:
H264
1920x1080
25 fps
就说明:
Linux 已经成功获取到摄像头视频。
十、一个完整的实际场景
假设学校有100个教室。
每个教室都有摄像头。
以前可能需要使用不同摄像头厂家的 APP:
101教室 → APP A
102教室 → APP A
201教室 → APP B
301教室 → APP C
使用起来非常麻烦。
如果这些摄像头能够提供 RTSP 视频,我们就可以开发自己的平台:
101摄像头 ─┐
102摄像头 ─┤
103摄像头 ─┤
201摄像头 ─┤
301摄像头 ─┤
↓
我们的服务器
↓
统一视频平台
用户以后只需要打开一个系统:
一号教学楼
101教室 ● 在线 查看视频
102教室 ● 在线 查看视频
103教室 ● 在线 查看视频
二号教学楼
201教室 ● 在线 查看视频
202教室 ● 在线 查看视频
这样就不需要频繁切换各种摄像头 APP 了。
十一、最后总结
如果只记住三句话,就记下面这三句。
第一句:
RTSP 是获取摄像头实时视频的一种常见方式。
第二句:
所谓“拉 RTSP 流”,就是服务器持续获取摄像头正在拍摄的视频。
第三句:
视频拿到以后,可以实时观看、保存录像,也可以交给 AI 做分析。
所以整个过程可以简化成:
摄像头
↓
RTSP
↓
Linux服务器
↓
┌───────────┬───────────┬───────────┐
↓ ↓ ↓
实时观看 保存录像 AI分析
对于刚接触摄像头开发的人来说,先理解到这里就已经足够了。
浙公网安备 33010602011771号