Start to write a sort of README how to set up the streaming.
authorPhilipp Spitzer <philipp@spitzer.priv.at>
Sat, 23 May 2020 12:55:26 +0000 (14:55 +0200)
committerPhilipp Spitzer <philipp@spitzer.priv.at>
Sat, 23 May 2020 12:55:26 +0000 (14:55 +0200)
stream2beamer.md [new file with mode: 0644]

diff --git a/stream2beamer.md b/stream2beamer.md
new file mode 100644 (file)
index 0000000..33ed905
--- /dev/null
@@ -0,0 +1,53 @@
+# Stream Desktop/Video/Webcam to Kodi/Beamer/other PCs
+Gregor and I had a closer look at the following projects:
+
+# Laplace
+Simple WebRTC implementation in GO: https://github.com/adamyordan/laplace.git
+Simple to compile and just works.
+WebRTC actually uses SRTP (Secure Real-time Transport Protocol). 
+
+
+# gstreamer
+## WebRTC
+gstreamer has a WebRTC implementation.
+The examples at https://github.com/centricular/gstwebrtc-demos.git work once
+
+    export OPENSSL_CONF=''
+
+has been set (see https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/811)
+
+
+# VLC
+Note that you have to close VLC and open it again for new streaming as VLC leaves the connections
+open (I spent hours figuring out why http based streaming doesn't work - `netstat -4 --ip` is nice
+for debugging in that respect).
+
+## RTP
+### Source
+The address has to be the address where the video should be streamed **to**. In the following
+examples, a multicast address is used. It is either the IP address of the device receiving the video (unicast address) or a multicast address 
+like 239.255.12.42 (multicast addresses are between 225.0.0.0 and 238.255.255.255).
+
+    cvlc -vv --sout '#transcode{vcodec=h264,acodec=mpga,channels=2,vb=800,ab=128}:rtp{mux=ts,dst=239.255.12.42,sdp=sap,name="Geris Game"}' GerisGame.mp4
+    cvlc -vv --sout '#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:rtp{dst=239.255.12.42,port=5004,mux=ts,sap,name=Geris Game}' :no-sout-all :sout-keep GerisGame.mp4
+    cvlc -vv --sout '#transcode{vcodec=h264,acodec=mpga,channels=2}:rtp{mux=ts,dst=239.255.12.42,sdp=sap,name="Videokamera"}' v4l2:///dev/video0 # long latency
+    cvlc -vv --sout '#transcode{vcodec=h264,acodec=mpga,channels=2}:rtp{mux=ts,dst=239.255.12.42,sdp=sap,name="Desktop"}' screen:// # not convincing
+
+### Player
+    cvlc rtp://239.255.12.42
+
+
+## RTSP
+For VLC, RTSP means RTSP combined with RTP.
+
+### Source
+    cvlc -vv --sout '#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:rtp{sdp=rtsp://:8554/}' :no-sout-all :sout-keep GerisGame.mp4
+
+### Player
+The address needs to be the address of the souce. Note the backslash at the end.
+
+    cvlc rtsp://192.168.1.54:8554/
+
+
+# HTTP
+Works as well, the address at the source side has to be the external one of the local computer.
\ No newline at end of file