不用采集卡搭建PS4直播环境&CentOS 7网络设置
嗯,这么两个话题参杂在一起确实有点怪。最近买了台式机,为了不浪费我16G的内存,果断搞了个Linux的虚拟机作为开发机。选择系统时没有用常用的debian/ubuntu,选择了自己比较熟悉的CentOS系列,然后正好顺便试试最新的CentOS 7。然后发现坑了,7里很多系统管理规则都和6.x不一样了,特别是网络有关的部分。
为了实现直播写码月入百万的梦想,必须得开搞直播啊,作为一个屌丝码农,自然买不起采集卡。之前在网上看到过劫持PS4自带的twitch转播的帖子,于是果断操练一把。
原理
最早ps4劫持twitch流量到斗鱼其实非常简单,只需要搭建带ngx-rmtp模块的nginx,并且在路由器把live.twitch.tv解析到nginx上即可。但后来系统更新之后这个方法就不能用了,看了这两篇帖子之后也不是说的特别详细,而且比较详细的how to do还是基于windows的,对于我这种windows只用于打游戏的人来说还是linux熟悉些。目前来说,要劫持twitch流量必须对相关的ip做劫持。
实现步骤
获取ip,并绑定到网卡上
|
|
然后根据ip生成全部的网卡配置文件,这里用一个perl脚本来实现,我在虚拟机里的网卡是enp0s3,大家可以根据自己实际的网卡设备名来改。
重启网络之后,应该就已经用上了这几个ip了,6.x年代重启网络一般是service network restart
,但是到了7.x年代引入了一个叫做systemctl的命令,虽然老命令也兼容,但实际执行的是systemctl restart network
,不过我还是比较习惯用service相关的命令。之后就是开启Linux的路由功能,编辑/etc/sysctl.conf
文件,在末尾添加:
然后执行sysctl -p /etc/sysctl.conf
应用配置,再给iptables添加转发功能,并开启80/1935端口,以便等下nginx连接。
编译安装nginx
|
|
编译安装好nginx之后开始配置nginx,打开/opt/nginx/conf/nginx.conf,首先在最外层(和http同级)添加
之后为了看到统计状态,还要配置一下rtmp模块的统计,先将/path/to/nginx-rtmp-module/stat.xsl
拷贝到/opt/nginx/html/
下,然后在http下的server下添加两个handler:
启动nginx如果1935端口已经监听,那么服务端的工作就已经配置好了
配置ps4
配置一下ps4的网络,网关设置为linux机器的ip地址,然后dns设置一个设置路由器的ip就行了。接下来打开游戏,按下share键,选择twitch分享就可以将画面分享到斗鱼上了。试了一下,我这里上传应该是1m的,画质选中就不卡,但就是好模糊,还是采集卡靠谱一些,不过用这个方法省钱啊!
碎碎念
CentOS 7的系统管理改了好多,虽然老的配置方式还是兼容的,但还是感觉有点陌生。不过好处是gcc是4.8.2的,kernel是3.10.0的,相对公司用的6.4还是更新不少。不过安装界面也改了不少,选minimal安装好像不能自定义需要哪些包了,但也还能接受吧。
广告
之前斗鱼直播室n久没播被关了,然后客服打不开,因为绑定过身份证又不能注册新的,就死锁了。后来某Jim勾搭上了一个斗鱼的rd,然后终于把房间解锁了!http://www.douyutv.com/ushuaia,不定期播出,玩一些主机游戏或者用pc玩一些单机游戏。最近可能会播cod 11日常被吊打、风暴英雄打电脑做金币赚日常(对,你没看错)、恶灵附身、龙腾传说3审判等等,当然最重要的是偶尔插播写代码,不过主播是哑巴,从来不会说话的!