paas/README.md
2020-12-07 23:39:23 +01:00

35 lines
No EOL
1.7 KiB
Markdown

#Pixelflut as a Service
... oder eher einfach nur in der cloud....
Ein paar Befehle um Pixelflut mit nginx-rtmp auf nem server in der cloud laufen zu lassen und das dann als rtmp-stream auszugeben.
konfiguration von ein paar Umgebungsvariablen:
````
export DISPLAY=:3 # kann jede Nummer sein, 3 is gewählt, damit das sicher frei ist
export IP=127.0.0.1 # der Pixelflut-server läuft auf localhost, genauso wie der vnc-server
export RESOLUTION=1920x1080 # FullHD weil $Gründe, insbesondere aber einfach weil das die Stream-Auflösung ist
export BITDEPTH=24 # Gewählt weil $Gründe
````
Dann ist es sinnvoll den Pixelflut-Server zu starten. <br/>
Dafür nimmt man am Besten einfach den von TobleMiner her: https://github.com/TobleMiner/shoreline <br/>
nach der Installation kann der Server mit
````
./shoreline/shoreline -f vnc -d "playing around with pixelflut" -w 1920 -h 1080
````
gestartet werden.
- [ ] Todo: fonts zum Laufen bringen
daraufhin können der Reihe nach die Befehle für den Stream gestartet werden:
````
Xvfb $DISPLAY -screen 0 "$RESOLUTION"x"$BITDEPTH" -ac & # erstellen eines virtuellen Framebuffer
ratpoison & # Xserver starten
vncviewer 127.0.0.1 -viewonly & # vncviewer starten
````
Zuletzt muss noch alles zusammen mit ffmpeg aufgenommen und an einen rtmp-server geschickt werden (in diesem Fall ist der auch lokal)
Außerdem muss noch eine stille Audiosrc erstellt werden, weil sonst die ffmpeg-pipeline in nginx-rtmp kaputt geht.
````
ffmpeg -f x11grab -s 1920x1080 -r 30 -i :3 -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -f flv rtmp://127.0.0.1/stream/testing_pixelflut
````
Dann sollte der stream laufen.