Update README.md

This commit is contained in:
Lukas Schulz 2020-12-07 23:37:37 +01:00
parent 8173a5b999
commit da231009e3

View file

@ -1,6 +1,35 @@
# PaaS
#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.
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.
Dafür nimmt man am Besten einfach den von TobleMiner her: https://github.com/TobleMiner/shoreline
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.