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

RTC、UDP、TCP和HTTP以及直播等区别

RTC的技术原理

下面用“一张图 + 三句话”把 RTC(Real-Time Communication)的技术原理一次讲清,并给出 WebRTC 视角的完整数据流动图。


一、一张图(文字版)

复制

信令通道(任意协议)     媒体通道(UDP/RTP)
┌──────────┐             ┌──────────┐
│  Caller  │◀───────────▶│ Callee   │
└────┬─────┘             └────┬─────┘│Signaling              │STUN/TURN▼                        ▼
┌──────────┐             ┌──────────┐
│Signaling │             │ICE/SDP   │
│Server    │             │NAT穿透   │
└──────────┘             └──────────┘

二、三句话速记

  1. RTC = 低延迟的音视频 + 任意数据
    目标:端到端平均延迟 < 100 ms,肉眼无感知。

  2. 三大核心协议

    • RTP/RTCP:承载/控制媒体流

    • ICE + STUN/TURN:NAT 穿透与选路

    • SDP:会话描述(编解码器、分辨率、码率等)

  3. 四步建立连接
    ① 信令交换(WebSocket/HTTP)→ ② ICE 候选收集 → ③ 连通性检测(STUN/TURN)→ ④ SRTP 加密传输


三、分步详解(以 WebRTC 为例)

表格

复制

阶段动作关键协议/算法目的
1. 信令双方交换 SDP、ICE 候选WebSocket/HTTP协商媒体格式与网络地址
2. 穿透收集本地/反射/中继候选ICE + STUN/TURN找到可达路径
3. 选路连通性检测 + 优先级排序ICE Controlling/Controlled选最低延迟路径
4. 传输发送 RTP 包 + 周期性 RTCP 报告RTP/RTCP over UDP实时音视频 + 丢包/抖动统计
5. 安全SRTP 加密 + DTLS 握手DTLS-SRTP防窃听、防篡改

四、关键技术点

  1. NACK + FEC:丢包时优先重传,大丢包用前向纠错补包。

  2. Jitter Buffer:接收端缓冲 50-200 ms,消除网络抖动。

  3. GCC/BBR:带宽估计算法,动态调整码率,防止拥塞。

  4. Simulcast/SVC:多分辨率并发,弱网自动降档。

  5. SFU/MCU:服务器只转发/混流,减轻终端编解码压力。


五、一句话总结

RTC 的核心就是 用 UDP 打洞建立 P2P 通道,再通过 RTP/RTCP + 拥塞控制 + 抗丢包算法 把音视频压到 100 ms 以内传过去,无需插件,浏览器即可点对点通话

RTC与TCP、UDP还有HTTP的区别

特性RTC (WebRTC)UDPTCPHTTP
核心目标超低延迟实时音视频最小延迟、无序数据报可靠字节流超文本传输
传输层UDP + RTP/RTCP裸 UDP裸 TCPTCP
延迟< 100 ms 端到端极低中等(重传+拥塞)高(三次握手+TLS)
可靠性应用层抗丢包(NACK/FEC)不保证完全可靠(重传)完全可靠
顺序允许乱序(时间戳排序)乱序严格顺序严格顺序
拥塞控制GCC/BBR(带宽探测)TCP 拥塞控制TCP 拥塞控制
连接建立ICE + DTLS(P2P打洞)无连接三次握手TCP+TLS握手
典型端口任意 UDP(TURN中继)任意80/44380/443
用途视频通话、直播、游戏DNS、SNMP、QUIC文件、数据库Web、API
浏览器支持原生 WebRTCWebRTC 内部使用WebSocket 基于 TCPXMLHttpRequest / fetch

一句话记忆

RTC = 用 UDP 跑实时流自己解决丢包和顺序
TCP/HTTP = 用可靠流跑文件延迟高但绝不丢字节

直播用的协议是什么协议

国内主流直播 = RTMP 推流 + HTTP-FLV / HLS 拉流;低延迟场景用 WebRTC-RTP,新兴协议 SRT 也在兴起。


一、推流端(主播 → 服务器)

表格

复制

协议传输层典型延迟场景备注
RTMPTCP1–3 s手机/PC 推流最成熟,所有云厂商都支持 
SRTUDP0.5–1 s专业导播、无人机基于 UDT,抗丢包更好 
WebRTCUDP< 500 ms连麦、互动直播浏览器直接推流,用 SRTP 

大疆无人机、导播台已同时支持 RTMP + SRT。


二、播放端(服务器 → 观众)

表格

复制

协议传输层延迟终端兼容说明
HTTP-FLVTCP1–3 sApp/PC H5浏览器用 flv.js 即可播,手机端最常用 
HLSHTTP10–30 s全平台原生m3u8 + ts 切片,iOS 原生支持,适合做回放 
WebRTCUDP< 500 ms浏览器/App连麦、超低延迟直播,需要 SRTP + ICE 
RTMPTCP1–3 sFlash/App浏览器已淘汰,仅限 App 内播 

三、一张图(文字版)

复制

主播手机 ──RTMP/FLV──▶ 云服务器 ──HTTP-FLV──▶ 观众 App│            ├─HLS(m3u8)──▶ 观众 Safari│            └─WebRTC──▶ 观众网页连麦

四、一句话记忆

推流用 RTMP,秒级看 FLV,跨平台用 HLS,超低延迟上 WebRTC

http://www.dtcms.com/a/481725.html

相关文章:

  • Java面试场景:从Spring Web到Kafka的音视频应用挑战
  • 基于EDBO-ELM(改进蜣螂算法优化极限学习机)数据回归预测
  • gaussdb数据库的集中式和分布式
  • Ubuntu中使用Hadoop的HDFS和MapReduce
  • F024 RNN+Vue+Flask电影推荐可视化系统 python flask mysql 深度学习 echarts
  • Building-GAN模型结构详解
  • web开发,学院培养计划系统,基于Python,FlaskWeb,Mysql数据库
  • 三维旋转矩阵的左乘与右乘
  • c 网站开发数据库连接网站扫码充值怎么做的
  • 第三方媒体流压力测试:k6插件xk6-webrtc的使用来测试媒体流的性能
  • 综合门户媒体发稿哪家靠谱
  • iis网站属性没有asp.net微信订阅号做微网站
  • 【Nest】权限管理——RBAC/CASL
  • 使用LSTM进行人类活动识别
  • 列表标签之有序标签(本文为个人学习笔记,内容整理自哔哩哔哩UP主【非学者勿扰】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
  • AI时代BaaS | 开源的后端即服务(BaaS)平台Supaba
  • 达梦存储结构篇
  • 桂林网站制作网站佛山公共交易资源平台
  • 域名验证网站如何找推广平台
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段-二阶段(1):文法運用
  • C++面向对象进阶:从构造函数到static成员
  • python3GUI--模仿百度网盘的本地文件管理器 By:PyQt5(详细分享)
  • Go 1.21 新特性:context.AfterFunc 的实用指南
  • Acer软件下载
  • 分组密码:加密模式、可鉴别加密模式、加密认证模式
  • RocketMQ高并发编程技巧(二)
  • 算法沉淀第二天(Catching the Krug)
  • redis-4.0.11-1.ky10.sw_64.rpm安装教程(申威麒麟V10 64位系统详细步骤)
  • 为企业为什么做网站企业网站建设注意什么
  • 从监听风险到绝对隐私:Zoom偷听门后,Briefing+CPolar重新定义远程会议安全标准