前言
本次教程采用腾讯云上海免费升级的2C4G8M服务器举例,搭建基于SRS+ffmpeg的环境进行直播流量的转发,便于海外用户在到国内访问不稳定的网络环境下直播推流B站。
参考配置
网速注意
请自行通过iperf3测试本地到国内服务器的udp速度
国内端
iperf3 -s
本地端
iperf3 -c 国内端IP -u -b 你需要推流的码率(例如5000K的话,参数为5m)-t 60
例如
iperf3 -c 1.1.1.1 -u -b 8m -t 60
curl -fsSL https://get.docker.com | bash -s docker
2. 去网站上开播(通过malus或者穿梭等免费的chrome插件即可做到),复制出网站上的提供的“服务器”和“直播码”,将两段链接拼接到一起。下载repo中的srt.conf,将拼接好的链接替换到srt.conf第47行的output后。
得到的结果参考如下:
rtmp://txy.live-push.bilivideo.com/live-bvc/?streamname=live_xxxxxxxxxxx&key=yyyyyyyyyyyyyyyyy&schedule=rtmp&pflag=9 或 rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_xxxxxxxxxxx&key=yyyyyyyyyyyyyyyyy&schedule=rtmp&pflag=9
docker run -d -p 1937:1937/udp --restart=always --name srt2rtmp -v /root/srt2rtmp/srt.conf:/root/srt.conf haha66666/srt2rtmp
Ps:如果使用的是nat服务器,请使用
docker run -d -p 你的端口:1937/udp --restart=always --name srt2rtmp -v /root/srt2rtmp/srt.conf:/root/srt.conf haha66666/srt2rtmp
如显示上图,则为正常运行
去网站上开播
打开obs,将 设置-推流-服务器中的链接改为
srt://你的服务器IP:1937?mode=caller&transtype=live&streamid=#!::h=vhost/ingress/streamkey,m=publish
(例如srt://11.4.5.14:1937?mode=caller&transtype=live&streamid=#!::h=vhost/ingress/streamkey,m=publish),串流密码保持空白
然后开播测试,确保OBS侧正常推流之后,前往直播间查看直播画面是否有花屏,丢帧等问题。
请尽情使用吧。