ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ZLMediaKit 流媒体服务器 TCP/UDP 传输协议选型指南

ZLMediaKit 流媒体服务器 TCP/UDP 传输协议选型指南 ZLMediaKit 流媒体服务器 TCP/UDP 传输协议选型指南【免费下载链接】ZLMediaKitWebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT/STUN/TURN server and client framework based on C11项目地址: https://gitcode.com/GitHub_Trending/zl/ZLMediaKit你用 ZLMediaKit 播放器在公网拉流画面一顿一顿延迟怎么调都压不下去。多数时候问题不在编码参数而在传输协议层TCP 还是 UDP。这篇文章帮你 30 秒对号入座再给你一张对比表和按场景的改法。 30秒选型先对号入座先回答三个判断题不用读完全文。流量走公网还是局域网公网选 TCP局域网 UDP 没问题。场景是实时互动还是点播回看实时互动监控、会议选 UDP点播、回看、录像回放选 TCP。能否接受偶尔花屏、卡顿能接受选 UDP不能接受选 TCP。三个答案通常指向同一边。若结论冲突以不能接受花屏优先选 TCP。补一句RTMP、HTTP-FLV 本质上就是 TCP没有得选。所以TCP UDP 怎么选这个问题最常落在 RTSP 上——它允许你在配置里指定 RTP 的承载方式。一张表看懂两种协议的差别这一节把两者的差异浓缩成一张表用来支撑上面的结论。维度TCPUDP连接方式面向连接先三次握手建连前三次确认无连接想发就发可靠性丢包自动重传数据不丢无重传机制丢了就丢延迟偏高要等对端确认偏低不等确认直接走带宽开销确认、重传等控制信息更多包头小开销低适合场景公网、弱网、画质要求高局域网、实时互动、大带宽高清流一句话点评TCP 用延迟换画质UDP 用画质换延迟。没有谁更好只有你的场景能承受哪个代价。 动手配置按场景改哪几行这一节解决怎么改。参数都在 conf/config.ini 里注意改可执行程序同目录下的 config.ini而不是这份示例文件。公网 / 弱网TCP 调优目标是不丢、不断[general] mergeWriteMS0 [rtsp] rtpTransportType0 keepAliveSecond30mergeWriteMS默认 0数据立即写入 socket不加延迟弱网保持默认即可。rtpTransportType默认 -1 表示不限制0 强制 TCP1 强制 UDP2 强制组播。keepAliveSecond默认 15 秒弱网放宽到 30 秒减少误判断连。局域网 / 实时UDP 调优目标是压低延迟这是典型的 RTSP UDP 配置[rtsp] rtpTransportType1 lowLatency1 [rtp_proxy] udp_recv_socket_buffer4194304rtpTransportType置 1 强制 UDPFFmpeg、VLC 这类客户端收到 461 响应后会自动切回 UDP。lowLatency默认 0开启后不缓存 RTP 包大约省一帧延迟。udp_recv_socket_buffer默认已是 4MB收大量 GB28181 并发推流时才考虑加大。另提一句WebRTC、SRT 虽然走 UDP但 WebRTC 带 NACK 重传丢包后请求补发和 TCP 兜底比裸 UDP 稳得多。公网做实时互动不敢用裸 UDP 时优先选 WebRTC。 出问题了先查这张表这一节把 ZLMediaKit 播放卡顿、断连、延迟三类最常见的症状列成表先查表再动手。症状最可能的原因第一步处理UDP 播放卡顿、花屏网络丢包且丢了不补换 TCPrtpTransportType0或改用带重传的 WebRTCTCP 播放卡顿、发送缓冲堆积带宽不够或合并写缓存开太大先降码率再确认 mergeWriteMS 没设过大连接频繁断开、超时弱网触发了保活或握手超时放宽 rtmp/rtsp 的 keepAliveSecond、handshakeSecond延迟压不下去低延迟模式没开或协议栈本身有延迟先开 rtsp 的 lowLatency1再确认客户端没额外缓冲处理都只给第一步。不奏效就先翻日志定位别一次改好几个参数否则分不清是谁起了作用。带走这几句就够这一节把全文压成三句口诀看完就能走。公网弱网选 TCP局域网实时选 UDP——传输层只看两点流量走哪儿、丢包忍不忍。调参先动超时再动承载方式——一次只改一个参数观察五分钟再动下一个。RTMP、HTTP-FLV 固定 TCPRTSP 承载方式由 rtpTransportType 定WebRTC 走 UDP 但自带重传。延伸阅读带逐项注释的示例配置conf/config.iniRTSP 协议源码含 UDP 服务器实现src/Rtsp/如果你的场景是公网、实时、又不敢用裸 UDP欢迎来评论区聊聊你的取舍。【免费下载链接】ZLMediaKitWebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT/STUN/TURN server and client framework based on C11项目地址: https://gitcode.com/GitHub_Trending/zl/ZLMediaKit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表