Skip to content

Commit 8039088

Browse files
authored
Update README.md
1 parent 80e2f34 commit 8039088

File tree

1 file changed

+39
-8
lines changed

1 file changed

+39
-8
lines changed

README.md

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ Here's an example walkthrough of how to connect an interactive surface with a br
1919
* start the browser client:
2020
* with Chrome or Firefox, go to `https://${SERVER_HOST}:8080/stream.html`
2121
* 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)
2424
* start the interactive surface:
2525
* setup and calibrate [SurfaceCast](https://github.com/floe/surfacecast) to stream the surface on virtual camera `/dev/video20` (see Usage - Example 2)
2626
* 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
2929

3030
## Clients
3131

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.
3869

3970
## Server
4071

0 commit comments

Comments
 (0)