Multimedia streaming interface utility for QNX
Syntax:
webrtc-server-iosock [options]
Options:
- -autonomous_proxy_server
- Don't initialize the proxy server
(webrtc-operator-proxy-iosock) process.
- The -autonomous_sig_server
option automatically sets this option.
- -autonomous_sig_server
- Don't initialize a signaling server
(webrtc-operator-iosock) process.
-
Note: This option should be set when the signaling
server is already running and available.
Only one signaling server should be initialized on a QNX target.
- -camera_name <string>
- Specify the name that matches the server_connection_name
in the QNX sensor configuration file.
- -client_dir <string>
- Specify the location of the client files.
- If this option isn't set,
then the default is /share/webrtc/assets.
- -disable_camera
- Disable camera streaming for this instance of the WebRTC server.
- -display <string>
- Initialize and connect to video stream source(s);
provide a comma-separated list of QNX screen display IDs.
- If this option is set to empty or isn't provided,
then webrtc-server-iosock initializes all available displays.
This can affect the performance of WebRTC conversions and streams.
- -enable_audio
- Enable audio playback and recording.
- Before using the webrtc-server-iosock
command with the -enable_audio option, declare
the audio and record devices using the following parameters,
where the device numbers are <X>
and <Y>:
- WEBRTC_AUDIO_PLAY_DEVICE=<X>:0
- WEBRTC_AUDIO_RECORD_DEVICE=<Y>:0
For example, the following command declares the audio play
device as device 1 and the audio record as device 0:
WEBRTC_AUDIO_PLAY_DEVICE=1:0 WEBRTC_AUDIO_RECORD_DEVICE=0:0
webrtc-server-iosock --external-ip=<InstanceIP> --enable-audio
- -external_ip <public-ip/private-ip>
- Specify the public IP address of the QNX target.
- Internally, webrtc-server-iosock
initializes a TURN server for all connections to the QNX target.
In most cases, only use the public IP address. For example:
webrtc-server-iosock -external-ip 11.22.33.44
- In cases where there are multiple network interfaces on the device,
map the public and private IPs together
by providing private-ip
after public-ip:
webrtc-server-iosock -external-ip 11.22.33.44/55.66.77.88
Note:
This option can't be used with -turn_server.
- -format <string>
- Set the format of the QNX screen display readback buffer.
- If the target supports Screen drivers,
then the default rgb565 setting
provides the best balance between the memory bandwidth
and the quality of the frame transmission.
- -id <string>
- Register the QNX device ID.
- If this option isn't set,
then the default is qnx-device-1.
- -license
- Print software license information and
exit immediately without starting the server.
- -no_daemon
- Don't daemonize the server process
or its child processes on the system.
- -port_range 'min:max'
- Set the minimum and maximum port numbers to allocate
for ICE (TCP or UDP) candidates.
- To use any port, specify '0:0'.
- -proxy_server_port <int32>
- Specify the port for the proxy server
(webrtc-operator-proxy-iosock) unless
-autonomous_proxy_server is set.
- If -proxy_server_port isn't set,
then the default is 8443.
- -scale <string>
- Set the scaling of the QNX Screen readback
buffer relative to the display buffer.
- The scaled readback buffer gets converted
and transmitted using WebRTC.
Down-scaling improves the stream performance of WebRTC.
If -scale isn't set,
then the default is 1/1.
- -sig_server_addr <string>
- Specify the address of the signaling server that
webrtc-operator-iosock connects to, unless
-autonomous_sig_server is set.
- If -sig_server_addr isn't set,
then the default is localhost.
Note: Only modify this option for advanced networking configurations.
- -sig_server_port <int32>
- Specify the port of the signaling server that
webrtc-operator-iosock connects to, unless
-autonomous_sig_server is set.
- If -sig_server_port isn't set,
then the default is 1443.
Note: You should only modify this option for advanced configurations.
- -sig_server_secure
- Secure the connection of the signaling server.
- -sig_server_verify
- Verify the signaling server's certificate with a trusted
signing authority. Disallow self-signed certificates.
- Ignored if -sig_server_secure isn't set.
If -sig_server_verify isn't set,
then the default value is false.
- -stats
- Log various statistics for all WebRTC client connections.
This option uses the logging behavior of the -to-stdout flag.
- -stats_interval
- The interval (in seconds) to routinely log WebRTC connection statistics.
- -stats_keys
- Prints a comma-separated list of available keys from the WebRTC Stats API.
- -to_stdout
- Print messages to -stdout
and don't daemonize the server processes.
Log level stays at default.
- -turn_log_file <string>
- Set the log file for the TURN server.
- If this option isn't set, then the default is
/var/log/turn/turn_<date,time>.log.
- -turn_server host:port
- Specify the host:port
of an external TURN server to use for
public address resolution and media traffic relay.
- If this option is set,
then -turn_user must also be set.
- If this option isn't set,
then a TURN server isn't initialized.
Note:
This option can't be used with -external_ip.
- -turn_user <username:password>
- Set the credentials to access the TURN server
when setting -turn_server.
- -turn_verbose
- Set log level to VERBOSE
to log all connections or relays made by the TURN server.
- Output is to either console or log file depending
on the setting of global -verbose or
-to_stdout options.
- -use_pointer
- Forward the touch events from the web
client as POINTER events to QNX Screen.
- When this option isn't set,
then the touch events are forwarded as MTOUCH events.
- -verbose
- Set log level to VERBOSE.
- -write_virtio_input
- Send input events in VirtIO format.
Description:
The
webrtc-server-iosock utility uses WebRTC
for communication between the host and the QNX target.
This communication includes a display framebuffer transmission
to the host and input forwarding to the target.
The utility itself comprises the following executable components:
- webrtc-server-iosock
- webrtc-operator-iosock (signaling server)
- webrtc-operator-proxy-iosock (proxy server)
- turnserver-iosock
The primary executable is
webrtc-server-iosock.
In most configurations, it's the only required executable.
The signaling server, proxy server, and TURN server
implementations handle the signaling and network configurations.
Examples:
The following examples demostrate two different methods of streaming your displays:
- One webrtc-server-iosock process streaming two displays
webrtc-server-iosock --display=1,2 --id="My QNX Device"
- Two webrtc-server-iosock processes each streaming a different display
-
webrtc-server-iosock --display=1 --id="my-first-display"
webrtc-server-iosock --display=2 --id="my-second-display" --autonomous_sig_server
Only the first instance initializes the signaling server.
The second instance uses the signaling server initialized in the first instance.
