当前位置: 首页 > news >正文

(第六讲)RTMP,RTSP,RTP概念

文章目录

  • 一、总览表(推流/拉流支持情况)
  • 二、分协议详细说明
    • 1. RTMP(TCP,Flash直播协议)
      • 推流(Publish)
      • 拉流(Play)
    • 2. RTSP(实时流协议,安防为主)
      • 模式1:拉流(最常见,摄像头场景)
      • 模式2:推流(ANNOUNCE方式,终端上传)
    • 3. RTP(纯媒体封装,**不能单独推拉**)
  • 三、关键区分(开发常用)
  • 四、补充误区

基础不牢,地动山摇

为了我们将来更好的学习流媒体的开发,我们今天继续打基础,相信很多小伙伴都会被标题上说的那几个概念搞混,因此这个基础知识对我们后续的开发和选型有了至关重要的作用.

一、总览表(推流/拉流支持情况)

协议是否支持推流(客户端→服务端)是否支持拉流(服务端→客户端)底层传输典型用途
RTMP✅ 推流 ✅ 拉流✅ 推流 ✅ 拉流TCP直播平台、SRS/Nginx-RTMP,互联网直播
RTP❌ 无独立推拉概念(仅媒体载荷封装)❌ 无独立推拉概念UDP底层音视频裸包载体,不单独使用
RTSP✅ 推流 ✅ 拉流✅ 推流 ✅ 拉流TCP/UDP摄像头、GB28181、安防设备

这么说吧RTMP,RTSP是一伙的,包含了通信协议的定义,比如握手之类的。而rtp是流的内容,更应该归类到上一讲中的NALU,avcc这类中。

二、分协议详细说明

1. RTMP(TCP,Flash直播协议)

推流(Publish)

客户端(ffmpeg/OBS/车载终端)发送流到流媒体服务:

# ffmpeg推RTMPffmpeg-re-itest.h264-ccopy-fflv rtmp://127.0.0.1/live/stream

拉流(Play)

播放器从服务端拉取播放:

ffmpeg-irtmp://127.0.0.1/live/stream-fmp4 out.mp4

特点:

  • 全双工TCP,弱网友好;
  • 互联网直播最常用推拉一体协议。

2. RTSP(实时流协议,安防为主)

RTSP是控制信令协议,媒体数据走RTP;同时支持推拉两种模式:

模式1:拉流(最常见,摄像头场景)

IPC摄像头作为服务端,播放器拉取画面:

ffmpeg-rtsp_transporttcp-irtsp://ip:554/stream-ccopy output.mp4

模式2:推流(ANNOUNCE方式,终端上传)

车载/编码器主动向RTSP服务推送视频:

ffmpeg-re-itest.h264-ccopy-rtsp_transporttcp-frtsp rtsp://server:554/live

行业场景:GB28181设备、安防平台接收终端RTSP推流。

3. RTP(纯媒体封装,不能单独推拉

重点:RTP不是完整应用层协议,只是包裹音视频NALU的数据包格式

  1. 本身没有握手、播放、发布信令,无法独立建立推拉会话;
  2. 必须依附上层协议使用:
    • RTSP + RTP:安防摄像头;
    • JT1078私有RTP:车载视频;
    • WebRTC + RTP:网页通话;
  3. 你只能发送/接收UDP RTP数据包,但没有“推流/拉流会话”概念;
  4. ffmpeg可以直接读写RTP UDP包,但仅作为裸媒体通道,无鉴权、无播放控制。

三、关键区分(开发常用)

  1. 需要完整直播服务(手机/网页观看)
    选 RTMP:推拉成熟,SRS、Nginx-RTMP原生支持。
  2. 对接摄像头、国标安防设备
    选 RTSP:摄像头默认输出RTSP(媒体承载RTP)。
  3. 底层裸视频UDP传输(JT1078、内网低延迟转发)
    使用RTP包,但必须自己实现上层业务逻辑;不能单独当作推拉协议。

四、补充误区

  1. 不要混淆 RTP 和 RTSP:
    RTSP=控制信令;RTP=音视频数据包;二者配套使用。
  2. RTMP内部封装FLV,不使用RTP,自成一套封装体系。
  3. 三者延迟对比:
    RTP(UDP) < RTSP < RTMP(TCP)。
http://www.jsqmd.com/news/1086136/

相关文章:

  • 大模型落地的基础设施瓶颈与工程化破解之道
  • 3分钟掌握XUnity.AutoTranslator:Unity游戏自动翻译完整指南
  • 万亿级数据迁移架构:跨集群数据同步与生产事故复盘
  • 7-1 栈与队列的实战:解密PTA列车厢调度问题
  • 从提示到微调:4种策略精准控制LLM的JSON输出
  • 移动通信信道挑战:从多径、多普勒到阴影与衰落的实战解析
  • 应广FPS122单片机单线UART驱动TM1652 LED屏实战解析
  • Nexys4 DDR开发(一)--从零搭建Vivado工程与硬件验证
  • 从垫底到行业TOP3:揭秘年销3亿销售团队的绩效改革全案
  • Java毕业设计-基于 SpringBoot+Vue 的养老院综合管理系统的设计与实现 前后端分离架构下的智慧养老院服务管理系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • glTF模型在线检视与验证新体验【glTF Viewer 2.0深度解析】
  • 抖音直播数据实时采集架构设计与技术实现深度解析
  • Flutter编译卡在‘assembleDebug’?从Gradle下载到镜像配置的完整排障指南
  • Cadence Virtuoso 实战:从 ADC 设计到版图验证的典型问题与解决
  • Simscape Multibody 移动关节:从参数配置到动态仿真的完整指南
  • 同城外卖系统架构设计:从下单、调度到履约的全链路拆解
  • 3PEAK思瑞浦 TPA133A1-T8TR-S SOT23-8 电流信号检测放大器
  • 抖音批量下载工具:免费无水印视频下载全面指南
  • 民宿/网约房合规数字化升级:基于IoT智能锁实现人证核验与远程授权落地实践
  • ADS1115硬件接口设计与驱动移植实战
  • 终极显卡性能调优工具:NVIDIA驱动深度配置完全指南
  • Qt之SVG:从渲染到生成,构建现代化矢量图形界面
  • OptiSystem 进阶操作与效率提升指南
  • CVPR 2024 | 从OVSeg到开放世界:Mask-Adapted CLIP如何重塑语义分割的边界
  • 蓝桥杯嵌入式实战:串口通信协议解析与停车场管理系统实现
  • 从HX711芯片到精准称重:深入解析电子秤核心电路与数据校准
  • Tesseract-OCR 5.0 字体训练实战:从数据准备到模型迭代的完整流程与效率优化
  • 软考AI新科目通过率仅38.7%?揭秘阅卷组长透露的4个致命扣分点及对应避坑模板(内含阅卷细则原文节选)
  • Coppeliasim仿真进阶:解锁B0 Remote API的Python高效联动
  • 3步掌握N_m3u8DL-RE:跨平台流媒体下载终极指南