You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+39-8Lines changed: 39 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,8 +19,8 @@ Here's an example walkthrough of how to connect an interactive surface with a br
19
19
* start the browser client:
20
20
* with Chrome or Firefox, go to `https://${SERVER_HOST}:8080/stream.html`
21
21
* allow access to camera/microphone
22
-
* you should then see your own webcam stream and a pink surface with a bouncing ball after a few seconds, and hear a pilot tone
23
-
* try doodling on the pink surface (left mouse button draws, right button erases)
22
+
* you should then see your own webcam stream and a black canvas after a few seconds
23
+
* try doodling on the black canvas (left mouse button draws, right button erases)
24
24
* start the interactive surface:
25
25
* setup and calibrate [SurfaceCast](https://github.com/floe/surfacecast) to stream the surface on virtual camera `/dev/video20` (see Usage - Example 2)
26
26
* run the Python client: `./webrtc_client.py -t ${SERVER_HOST} -s /dev/video20 -f /dev/video0` (or whatever device your plain webcam is)
@@ -29,12 +29,43 @@ Here's an example walkthrough of how to connect an interactive surface with a br
29
29
30
30
## Clients
31
31
32
-
* standalone Python client
33
-
* any two V4L2 video sources (also virtual ones, e.g. from https://github.com/floe/surfacecast)
34
-
* HTML5 client
35
-
* virtual drawing board surface
36
-
* VR client
37
-
* tbd
32
+
Python client commandline parameters:
33
+
34
+
```
35
+
--fake use fake sources (desc. from -f/-s)
36
+
```
37
+
Mostly useful for testing, will create default outgoing streams with fake test data (TV test image, moving ball, tick sounds).
38
+
If any of `-f/-s/-a` are also given, the string will be interpreted as a GStreamer bin description.
39
+
40
+
```
41
+
-m, --main flag this client as main (lowest z)
42
+
```
43
+
If a client does not have background filtering (i.e. a plain webcam), then you can use this flag to make sure that the surface stream from this client is always placed below all others. Note you can only have one "main" client per session, otherwise the surface mixing will get messed up.
44
+
45
+
```
46
+
-a AUDIO, --audio AUDIO
47
+
-f FRONT, --front FRONT
48
+
-s SURFACE, --surface SURFACE
49
+
audio/front/surface source (device name or pipeline)
50
+
```
51
+
If any of these are given without ``--fake``, they will be interpreted as a device name (e.g. `/dev/video0`). Otherwise, they will be interpreted as a GStreamer bin description (e.g. `"videotestsrc ! timeoverlay"`). Note that in the second case the whole string needs to be quoted.
52
+
53
+
```
54
+
-p PORT, --port PORT server HTTPS listening port (8080)
55
+
-t TARGET, --target TARGET
56
+
server to connect to (127.0.0.1)
57
+
```
58
+
Used to give the hostname or IP address of the server, and optionally a non-default port to connect to.
59
+
60
+
```
61
+
-u STUN, --stun STUN STUN server
62
+
```
63
+
If you want to use a different STUN server than the default (stun://stun.l.google.com:19302), specify here.
64
+
65
+
```
66
+
-n NICK, --nick NICK client nickname
67
+
```
68
+
Can be used to give a label (e.g. "Alice" or "Bob") to the frontstream.
0 commit comments