海外直播_海外直播平台哪个最火_海外直播app排行

bilibili_live_foreign_stream_solution

解决b站海外直播限制问题

bilibili 海外 直播 推流

本教程适合有一定Linux基础用户使用

1. 条件

1.1 国内服务器一台,推荐使用nat vps

1.2 本地到国内的中转服务器一台或多台,取决于当前的线路

例子:本人在欧洲,首先使用了DO的伦敦作为最初的中继,然后中转到阿里国际的香港,再转到国内移动nat,最后从nat向b站推流Local -> Do -> HK -> CN nat -> bili如果本地到nat的速度足够,情况最优是 Local -> CN nat -> bili,这样延迟会很低,像我这种情况多次中转之后延迟最高可以达到10s

twitch延迟:

图片[1]-海外直播_海外直播平台哪个最火_海外直播app排行-新闻-TIKTOK直播专线|TikTok直播线路,TikTok专线网络,TikTok专线,TikTok线路,Tiktok盒子,TikTok盒子,TikTok直播网络

bili延迟:

图片[2]-海外直播_海外直播平台哪个最火_海外直播app排行-新闻-TIKTOK直播专线|TikTok直播线路,TikTok专线网络,TikTok专线,TikTok线路,Tiktok盒子,TikTok盒子,TikTok直播网络

2. 基本原理

通过nginx-rtmp接收推流,并将流转推到下一个服务器在nat vps上同样通过nginx-rtmp接收推流,但是需要通过ffmpeg将流推至bili原因:使用nginx-rtmp自带push会导致直播间网页卡死(未知原因),无法加载,只有手机端能正常观看

3. 服务器配置

推荐使用Ubuntu或者Debian

这里按照Do -> HK -> nat的2层中转模式进行

3.1 Do

安装nginx和rtmp模块,如果想使用最新版nginx需要自己编译源文件和模块,这里使用系统自带版本比较快

apt update && apt install vim nginx libnginx-mod-rtmp -y

修改配置文件

vim /etc/nginx/nginx.conf

添加编辑好的rtmp区信息粘贴进去

rtmp {
    server {
            listen 1935; #默认端口无需修改
            chunk_size 128; #最小128,可能会减少延迟时间
            application a1b2c3d4 { #将a1b2c3d4修改为奇怪的文本就行了,以免被别人扫到,可以乱打几个字母数字,然后base64编码一下,比如a1b2c3d4编码后为YTFiMmMzZDQK
                live on;
                push rtmp://live-lhr03.twitch.tv/app/abcdef; #同步推流twitch,可以保存录像(需要在twitch后台设置)。不需要可以注释掉
                push rtmp://HK_IP/a1b2c3d4; #推荐HK和nat使用相同的app名称
            }
    }
}

修改完成后nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

然后重启nginx service nginx restart

3.2 HK

操作同Do

apt update && apt install vim nginx libnginx-mod-rtmp -y

vim /etc/nginx/nginx.conf

rtmp {
    server {
            listen 1935;
            chunk_size 128; 
            application a1b2c3d4 {
                live on;
                push rtmp://nat_IP:port/a1b2c3d4; 
                # 这里注意了,要在ip后面加上端口,如果是有端口映射的nat主机商,你可以在面板处将30000映射到1935(例子),然后将port改为30000
            }
    }
}

同样修改完成后nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

然后重启nginx service nginx restart

3.3 nat

这里就需要安装ffmpeg了,注意apt install增加了ffmpeg不过通常这些主机商都没有修改apt源,下载会很慢,可以将源修改成ali的源,具体自己查询系统版本 + 修改ali源/国内源

apt update && apt install vim nginx libnginx-mod-rtmp ffmpeg -y

vim /etc/nginx/nginx.conf

rtmp {
    server {
            listen 1935; #如果没有端口映射功能,将这里修改为分配的端口,如果有可以不用修改
            chunk_size 128; 
            application a1b2c3d4 {
                live on;
                exec_push ffmpeg -i rtmp://127.0.0.1:修改为上文listen端口/上文app名称/$name -c copy -f flv rtmp://js.live-send.acg.tv/live-js/?streamname=修改为自己直播间key;
            }
    }
}

同样 修改完成后nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

service nginx restart

最后在obs里设置推流地址为rtmp://Do_IP/App名称

补充

这里的Do HK只是指代服务器,并不是真正的服务器位置如果你本地到HK这一层的服务器速度够快的话,完全可以只做HK -> nat,甚至单nat服务器,只要你本地到nat能全天或者直播时间段跑到超过直播码率的上传速度,那就可以这样操作

如何保证速度足够直播?

首先确定直播码率,6000码率,大概就是6Mb的上传速度在服务器上安装iperf3测速软件测试本地到海外服务器的速度,再测试海外到nat的速度,如果每个速度都能达到6Mb以上,那就可以稳定直播还要考虑到时间段问题,国内晚高峰和国内深夜时间测速差别会很大,尽量考虑在自己直播时间段测试,或者跑crontab jio本测一下整天的速度,多测试几天就能看出各个时间段的速度了

成本

取决于服务器数量,以及自己薅羊毛的技术

对我来说Do差不多等于白嫖,不算进成本然后是ali hk,~~~7刀一个月还要加20%的税~~~直接买国内阿里云轻量hk 24软一个月,中转国内移动能跑满30M带宽国内nat移动 30软+一个月,不用考虑租端口,必须跑nginx+ffmpeg

最终成本大概60,其中ali hk可以考虑其他便宜的vps,只要能保证到国内nat速度跑够就行了在非晚高峰时间段,Do伦敦到nat移动甚至可以到30Mb,所以最低可以30一个月不过考虑折腾时间,嫌麻烦还是建议买加速器

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容