Как мой друг может транслировать игру с моего Xbox One на мой RTMP-сервер?

Мой друг только начал стримить, но на своем Xbox One. Я использую ПК для потоковой передачи своих игр и никогда не делал этого через Xbox One. Теперь он стримит через приложение Twitch. Но у меня есть этот RTMP-сервер, который я могу использовать для потоковой передачи его потока на Twitch с некоторыми дополнительными улучшениями! Как мне это сделать?


person Collin    schedule 08.12.2015    source источник
comment
Это должно быть от суперпользователя, а не от stackoverflow.   -  person szatmary    schedule 08.12.2015


Ответы (1)


Настройте прозрачный прокси для 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 (ниже) и запустили трансляцию на пс4 вот результат

Просто измените команду 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:[email protected]: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;
        }
    }
}
person szatmary    schedule 08.12.2015
comment
Его Xbox One у него дома, а сервер у меня? Итак, как это будет работать? Где я могу настроить linux box/прозрачный прокси для RTMP? - person Collin; 09.12.2015
comment
Это может сработать, чтобы указать IP-адрес в его местоположении. Или вы можете запустить ssh-туннель. - person szatmary; 09.12.2015
comment
Итак, где мне поставить прозрачный прокси - person Collin; 10.12.2015
comment
Пожалуйста, переместите эту тему в статус суперпользователя. Переполнение стека предназначено для программирования. - person szatmary; 10.12.2015
comment
@szatmary перемещен superuser.com/questions/1011402/ - person Collin; 10.12.2015