我的朋友刚刚开始流媒体,但在他的Xbox One上。我使用PC来流式传输我的游戏,从未通过Xbox One进行过。现在,他使用Twitch应用程序进行流媒体播放。但我有这个RTMP服务器,我可以使用它将他的流传输到Twitch,并有一些额外的增强!我该怎么做?
为RTMP设置透明代理。有点像这样。ddwrt路由器可能是最好的,但任何linux盒子都应该可以工作。
#!/bin/sh
XBO=192.168.1.20
PROXY_IP=192.168.1.2
RTMP_PORT=1935
LAN_IP=`nvram get lan_ipaddr`
LAN_NET=$LAN_IP/`nvram get lan_netmask`
iptables -t nat -A PREROUTING -i br0 -s $XBO -d $LAN_NET -p tcp --dport $RTMP_PORT -j ACCEPT
iptables -t nat -A PREROUTING -i br0 -s ! $PROXY_IP -p tcp --dport $RTMP_PORT -j DNAT --to $PROXY_IP:$RTMP_PORT
iptables -t nat -I POSTROUTING -o br0 -s $LAN_NET -d $PROXY_IP -p tcp -j SNAT --to $LAN_IP
iptables -I FORWARD -i br0 -o br0 -s $LAN_NET -d $PROXY_IP -p tcp --dport $RTMP_PORT -j ACCEPT
然后像这样配置nginx。稍微修改nginx配置(如下)并在ps4上开始广播,这是的结果
只需更改exec命令即可执行
rtmp {
server {
listen 1935;
chunk_size 4096;
application app {
live on;
record off;
exec ffmpeg -i rtmp://localhost/app/$name -filter_complex "drawtext=fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf:text='m3u8':fontsize=50:fontcolor=white@0.8:x=100:y=100" -c:v libx264 -g 2 -profile:v main -b:v 800K -s 640x480 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://live.twitch.tv/app/$name;
}
}
}