1.
选择合适的CN2 VPS与操作系统
先确认VPS供应商支持CN2线路(优先CN2 GIA或CN2 GT视用途),选择靠近目标观众的机房(韩国首尔或欧洲法兰克福),最低2核4GB内存,带宽至少100Mbps。操作系统推荐Ubuntu 20.04或Debian 11,内核需>=4.9以支持BBR。
2.
基础环境准备与安全登录
用SSH登录并更新系统:sudo apt update && sudo apt upgrade -y。创建非root用户并设置sudo:adduser liveuser && usermod -aG sudo liveuser。配置SSH:编辑/etc/ssh/sshd_config,禁用PasswordAuthentication yes->no,修改默认端口,重启sshd:sudo systemctl restart sshd。
3.
关闭网卡卸载并启用必要工具
安装常用工具:sudo apt install -y build-essential git curl wget iperf3 mtr htop ethtool nginx-full ufw。使用ethtool检查网卡并关闭硬件分段以避免延迟抖动(视情况):sudo ethtool -K eth0 tso off gso off gro off。
4.
内核网络参数调优(sysctl)
编辑/etc/sysctl.conf,追加以下行以提高吞吐与减少丢包并启用BBR:net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr net.core.rmem_max=16777216 net.core.wmem_max=16777216 net.ipv4.tcp_rmem=4096 87380 16777216 net.ipv4.tcp_wmem=4096 65536 16777216 net.core.netdev_max_backlog=250000 net.ipv4.tcp_mtu_probing=1。保存后运行 sudo sysctl -p 并用 sysctl net.ipv4.tcp_congestion_control 验证 bbr 已启用。
5.
安装Nginx并启用RTMP模块(示例)
最稳妥方法是编译Nginx带nginx-rtmp-module:sudo apt install -y libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev;下载nginx与模块源码,./configure --add-module=../nginx-rtmp-module --with-http_ssl_module,make && sudo make install。配置 /usr/local/nginx/conf/nginx.conf,加入:rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; hls on; hls_path /tmp/hls; hls_fragment 2; } } },启动nginx。
6.
FFmpeg推流示例及参数说明
安装FFmpeg(apt或编译),本地推流到VPS的命令示例:ffmpeg -re -i input.mp4 -c:v libx264 -preset veryfast -profile:v high -g 50 -keyint_min 50 -b:v 2500k -maxrate 2500k -bufsize 5000k -c:a aac -b:a 128k -ar 44100 -f flv rtmp://your.vps.ip/live/streamkey。解释:-g 50 保持关键帧频率,bufsize 控制突发带宽,preset veryfast 在VPS上平衡CPU与延迟。
7.
防火墙与端口开放
使用ufw开放必要端口:sudo ufw allow 1935/tcp (RTMP),sudo ufw allow 80/tcp (HTTP/HLS),sudo ufw allow 443/tcp (HTTPS),若用WebRTC或SRT还需UDP端口段(例如10000:20000/udp)。启用ufw:sudo ufw enable。确保云面板没有额外防火墙拦截。
8.
网络测试与持续监控
使用ping、mtr、iperf3测试到关键节点延迟与丢包:iperf3 -s 在VPS端,iperf3 -c your.vps.ip 在客户端。查看实时流量与丢包:iftop -i eth0、vnstat。建议写个简单脚本每天跑iperf3并记录结果,出现抖动时切换节点或调整码率。
9.
常见问题:如何判断VPS是否走CN2线路?
问:如何确认我的韩国/欧洲 VPS 实际走的是 CN2?
10.
常见问题:如何判断VPS是否走CN2线路?
答:用traceroute/mtr从中国大陆至VPS看跳数与中间ASN,CN2 通常会在路由上显示 ChinaTelecom/CN2 节点;也可联系商家要求提供路由图或做大陆测试节点到VPS的延迟与丢包对比(CN2 GIA 延迟更低且丢包更少)。
11.
常见问题:直播出现高延迟或丢帧怎么办?
问:直播时观众反馈延迟高或掉帧,我应如何快速排查与处理?
12.
常见问题:直播出现高延迟或丢帧怎么办?
答:先用iperf3+ping检测网络抖动与丢包;若是网络问题,尝试降低码率与bufsize或切换到UDP协议(SRT或RTP);检查VPS CPU(top/htop)是否满载,必要时降码率或升级实例;确认网卡卸载设置与sysctl参数已生效,且BBR已启用。
13.
扩展问答:是否必须在VPS上启用BBR才能低延迟?
问:启用BBR 是不是直播低延迟的必要条件?
14.
扩展问答:是否必须在VPS上启用BBR才能低延迟?
答:BBR有助于提高丢包环境下吞吐与稳定性,但不是万能。低延迟更依赖于物理路径(选CN2 GIA/低跳数机房)、合理编码参数与足够带宽。建议在满足内核条件下启用BBR 作为优化手段。
来源:如何配置韩国欧洲cn2 vps以获得最佳视频直播效果