...
By default, mixer output stream bitrate is set to 2 Mbps. If a channel bandwith bandwidth between server and viewer is not enough, bitrate can be reduced, for example
...
If picture quality with default bitrate is low, or distortion occurs, it is recommended to rise mixer outout output stream bitrate to 3-5 Mbps
...
In this case, sound will be encoded to PCMA (alaw) with sample rate 8 kHz.
Using custom
...
lossless videoprocessor for incoming streams handling
To handle mixer incoming streams, if additional bufferizing or audio and video tracks syncronizing is required for example, the custom losless lossless videoprocessor may be used. This feature is enabled with the following parameter in flashphoner.properties file
...
By default, maximum mixer buffer size is 200 ms. After filling this buffer, the custom losless lossless videoprocessor uses its own buffer and waits for mixer buffer freeing. The period of mixer buffer checking is set in milleseconds milliseconds with this parameter
Code Block | ||
---|---|---|
| ||
mixer_lossless_video_processor_wait_time_ms=20 |
By default, the mixer buffer checking period is 20 ms.
Note that usng using the custom losless lossless videoprocessor may degrade realtime perfomanceperformance.
When custom losless lossless videoprocessor is used, it is necessary to stop mixer with REST query /mixer/terminate to free all consumed resources. Mixer can be stopped also by stopping all incaming incoming streams, in this case mixer will stop when following timeout in milliseconds expires
...
By default, three mixer output stream layouts are implemented:
1. Grid layoudlayout
This layout can be enabled with the following parameter in flashphoner.properties file
...
and works for input streams of equal resolution with thesame the same aspect ratio only
3. Desktop (screen sharing) layout
...
If video MCU support is enables, channel lossses losses can affect mixer output stream quality. Custom lossless videoprocessor can be used to improve quality, that can make an additional latency.
...
7. Send /mixer/add and specify the URI of the mixer mixer://mixer1 and the and the input stream name desktop in its parameters:
...
5. Sending the /mixer/startup query to create the mixer://stream3 mixer with mixer with the output stream3
Code Block | ||||
---|---|---|---|---|
| ||||
http://demo.flashphoner.com:9091/rest-api/mixer/startup { "uri": "mixer://stream3", "localStreamName": "stream3" } |
...