RTSP取流中的主码流与子码流有何区别?

4 人参与

在网络摄像机的实时预览场景里,RTSP(Real Time Streaming Protocol)承担着把视频流从设备传送到播放器的桥梁角色。不同的流级别决定了画面细节、网络负荷以及后端处理方式,这正是主码流与子码流之间的根本分水岭。

主码流与子码流的技术定位

主码流(Main Stream)通常采用最高的分辨率与码率,例如 1080p @ 4 Mbps,旨在满足录像存档、司法取证等对细节完整性的极端需求。子码流(Sub Stream)则偏向轻量化,常见配置是 540p @ 1 Mbps,专为移动端预览或带宽受限的网络环境设计。两者在同一摄像机上并行生成,播放器可根据实际网络条件灵活切换。

带宽、分辨率与编码参数的差异

  • 分辨率:主码流常见 1920×1080,子码流常见 1280×720 或更低。
  • 码率:主码流 3–8 Mbps,子码流 0.5–2 Mbps,直接决定了每秒传输的数据量。
  • 帧率:在相同帧率下,子码流通过更高的压缩比例保持画面流畅;若帧率本身降低(如 15 fps),则进一步节约带宽。
  • 编码方式:现代设备支持 H.264 与 H.265 双编码,子码流往往默认使用 H.264,兼容性更好。

取流 URL 的实际差异示例

以海康威视摄像机为例,主码流的 RTSP 地址形如 rtsp://admin:pwd@192.168.0.10:554/Streaming/Channels/101,子码流则是 rtsp://admin:pwd@192.168.0.10:554/Streaming/Channels/102。在老型号中,路径会更直白:rtsp://admin:pwd@192.168.0.10:554/ch1/main/av_stream 对应主码流,…/ch1/sub/av_stream 对应子码流。只需替换通道号或 main/sub 关键字,即可完成切换。

属性主码流子码流
分辨率1920×10801280×720
码率4 Mbps1 Mbps
典型用途录像存档、分析移动预览、低带宽场景

实际部署时,运维人员常用子码流检查摄像头状态,确认画面无误后再切换到主码流进行高质量录制。若网络突发拥塞,播放器会自动回退到子码流,保证画面不中断——这背后是 RTSP 协议配合 RTCP 反馈的动态适配机制。

参与讨论

4 条评论
  • 梦魇画家

    主码流和子码流这个区分挺实用的,之前调监控经常卡顿,切到子码流就好多了。

  • 躺平选手

    原来海康威视的地址是这么区分的,学习了。

  • 阳光记

    那要是用H.265编码,子码流的带宽是不是能压得更低一些?

  • 毛球猫

    监控画面能流畅看就行,主码流太吃带宽了,一般预览真用不上那么高清。