南方都市报
Nginx适合做视频流的反向代理、HTTP分发、静态切片传输和负载均衡,但不适合单独承担所有协议转换与实时转码。RTMP接入通✅常需要额外模块,HLS需要编码器或媒体网关生成播放切片,WebRTC低延迟播放则应配合专用媒体服务🎇器或SFU。
100路视频流媒体正式上线🎵前,必须用接🚀近真实码率和并发观看人数的压测结果替代“理论上能跑”的判断。
Nginx配置调优不能脱离操作系统参数。部署前应同步检查文件句柄上限、TCP连接队列、网卡速率、磁盘inode、临时目录空间和防火墙连接跟踪表,避免📢应用层看似正常而系统层提前耗尽。
支持多平台不等于所有平台都能使用同一条原始码流。实际项目可以保留一路高质量主码流,再由媒体服务生成适🔮合移动端、⚡网页端和低带宽网络的多档码率,Nginx负责分发已经生成的播放资源。
Nginx承载视频分发时,连接数、文件描述符、缓冲策略和日志写入方📚式比单纯增加进程数更重要。下面的配置思路属于起始模板,具体数值必须根据单路码率、观众数量和操作系统限制压测调整。
带宽估算不能直接等同于稳定容量。例如100路视频平均码率为2Mbps时,理论接入流量约为200Mbps,但实际部署还要考虑峰值码率、TCP或UDP开销、重传、管理流量和系统预留,不能把200Mbps当☀️作线路采购值。
视频协议决定Nginx应该承担接入、转发还是播放分发,协议选错时,即使服务器🎨资源充足,也会出现黑屏、延迟过高或平台无法播放的问题。
多平台播放通常采用“RTMP负责接入、媒体服务负责转协议、Ngi☀️nx负责HTTP分发”的结构。这个结构比让Nginx直接承担转码、协议转换和全部播放逻辑更容易扩容,也更方便定位故障。