How to configure low-latency applications in Webnexs Streaming Engine for RTMP streaming

This article portrays how to set up applications in Webnexs Streaming Engine live streaming software to accomplish the lowest possible latency from video capture to playback.

Notes:

  • The properties utilized in this article are to alter the latency of stream only affect RTMP-based clients.
  • To memorize more about how to deliver low-latency streaming experiences using Webnexs technology, have a look at our Low-latency Streaming page.

Topics:

  • Using a low-latency stream
  • Webnexs Streaming Engine Manager configuration
  • XML configuration
  • Changing player buffer time
  • Smoothing low frame rate playback
  • Webnexs Streaming Engine Manager configuration
  • XML configuration
  • Encoder recommendations

Using a low-latency live application
The Low-latency stream choice can be enabled in your live application to lower stream latency. This well-enabled setting feature of the application regularly utilized for publishing and to play video content in one or few client applications eg: application like video chat.

Webnexs Streaming Engine Manager configuration To enable Low-latency stream:

  1. In Webnexs Streaming Engine Manager, select the Applications tab icon, and then click on the title option of your live application, such as live.
  2. In the Setup tab of the details page, click on Edit option.
  3. Next option is to Enable Low-latency stream, click on save icon, and once you click on save option restart the application when it’s prompted to apply the changes.

XML configuration To enable Low-latency stream:

1. Use a text editor to open the [install-dir]/conf/[application]/Application.XML record for your live application and change the Streams/StreamType property value to live-low-latency.
2. Now restart the Webnexs media server software to apply the changes.
Changing player buffer time On the player side its essential that the NetStrean.setBufferTime() strategy should always set to zero( in actionScript 3 utilize “NetStream.bufferTime=0:”). This will grant you the least conceivable inactivity on the playback side.

In spite of the fact that zero gives you the finest conceivable latency, it might not allow you the smoothest playback. So you may require incrementing in the buffer time to a esteem marginally more prominent at that point zero (such as .1 or .25). When utilizing H.264-encoded video, we’ve found that any buffer setting more prominent at that point zero presents a idleness of at slightest 2-3 seconds with video encoded at 30 frames-per-second (fps) (and indeed higher at lower outline rates). This appears to be a player issue.

Note: While Using webnexs wplayer the buffer length is set using buffer length parameter. Click the below to see how to use Webnexs wplayer with Webnexs Streaming Engine.”
Smoothing low frame rate playback
When we start with NetStream.setBufferTime set the time to zero, later you can frequently see lower outline rates because of the way the player renders the frames instantly. You can sometimes smooth playback by diminishing the flush Interval property esteem. Be that as it may, utilizing flush Interval will too cause the server’s per-stream CPU stack to increment so you won’t be able to handle as numerous concurrent sessions per server.

Webnexs Streaming Engine Manager configuration For best Smooth playback with best organized Flush internal setting

1. Webnexs Streaming engine Manager will be supportive of all different Managing process,
• Click the application tab
• Select your live application in the substances sheet

2. In the subtle elements page, click the Properties tab, and at that point click Custom in the Speedy Joins bar.
Note: To access the Properties tab which is limited to administrators with advanced permissions. For more data, see Manage credentials.
In the Custom section, click Edit.

3. Now Click onAdd Custom Property and also specify the following settings in the Add Custom Property dialog box, and then click Add:
o Path – Select /Root/Application/Streams.
o Name – Enter flushInterval.
o Type – Select Integer.
o Value – Enter 25.

4. Repeat the previous step to add the onFlushNotifyClients property using the following values:
o Path – Select /Root/Application/Streams.
o Name – Enter onFlushNotifyClients.
o Type – Select Boolean.
o Value – Enter true.

5. Click on Save option, and at that point restart the application when incited to apply the changes

XML configuration To smooth playback using the flush Interval setting:

1. Use a text editor to open the [install-dir]/conf/[application]/Application.xml file for your live application and add the following properties to the Streams/Properties container. Ensure that you add the properties to the correct <Properties> tag which has container in Application.xml as there are several such containers in the file.
2. <Property>
3. <Name>flushInterval</Name>
4. <Value>25</Value>
5. <Type>Integer</Type>
6. </Property>
7. <Property>
8. <Name>onFlushNotifyClients</Name>
9. <Value>true</Value>
10. <Type>Boolean</Type>
</Property>
11. Restart the Webnexs media server software to apply the changes.
Encoding recommendations

Inactivity is moreover presented into the prepare on the encoding side. We’ve found that you can accomplish exceptionally moo inactivity encoding utilizing the Flash player’s built-in encoding (Microphone and Camera).

The built-in encoding framework in the Flash player uses Sorenson Spark (a variation of H.263) for video and Speex for sound. To accomplish low idleness, it’s imperative that you arrange your encoder to create a sensible quality at the least conceivable bitrate.

The VideoChat illustration in your Webnexs media server program establishment is a great illustration of how to utilize the built-in Streak encoder to deliver a inactivity stream.

Expanding the frame rate and/or diminishing the keyframe interim can progress playback time in a few cases.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *