Wowza Community

Wowza incoming streams

I have about 1000 rtsp addresses (provided by Inodep’s vurix).

It should be streamed on one wowza server.

Creating a .stream file one by one and putting it in the “incoming stream” does not match the network bandwidth.

I need help how to design

I used “rest api” to create “incoming streams” for every request.
After requesting “rest api” on the web, hls is played 10 seconds later. I want less than 5 seconds.
If you have any tips on how to shorten the session time or how to properly implement it, please help.

Is there any way to do this with Wowza Java API?

LiveStreamPacketizerSmoothStreaming.addFragment[test/definst/]: Add chunk: type:video id:8 count:12 duration:400 - - - 15709.36 - - - - - - - - - - - - - - - - - - - - - - - - -
2021-08-26 09:19:08 KST comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[test/definst/]: Add chunk: type:video id:9 count:1 duration:70 - - - 15709.362 - - - - - - - - - - - - - - - - - - - - - - - - -
2021-08-26 09:19:08 KST comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[test/definst/]: Add chunk: type:video id:10 count:13 duration:430 - - - 15709.369 - - - - - - - - - - - - - - - - - - - - - - - - -
I guess 1 to 11 are created and played.

Did you go in and change the segment duration for the Cupertino HLS chunks? The default segment length is 10 seconds in Engine. I can’t tell from what you shared. You can change it to 1 or 2 seconds. A player will always require three segments for HLS playback so if you want less than 5, you can try that, but there will always be latency with HLS when transcoding from another protocol.

Configure HLS chunk properties

  1. In Wowza Streaming Engine Manager, click the Applications tab and then select your live application from the contents panel.
  2. On the details page Properties tab, click Cupertino Streaming Packetizer in the Quick Links bar.
  3. In the Cupertino Streaming Packetizer area, click Edit , and change the values for the following properties:
  • cupertinoChunkDurationTarget – Sets the duration of each chunk in milliseconds. The default value is 10000 , but the chunkDurationTarget must be smaller to reduce the latency of Apple HLS streams. For a one-second chunk size, set the value to 1000 .

You could consider ingesting RTSP and delivering it WebRTC to get that latency much lower: But that may not work for your use case and that many streams

REST API is an efficient method to create Stream Files. There may be a way to do this in the Javi API too, but that’s outside my expertise.

I hope you’re not planning to run 1000 streams at the same time through a single instance of Wowza Streaming Engine. 1000 stream files is acceptable, but you will need to account for server and network resources if you plan on a large scale playback load.

1 Like

Pay close attention to this as well:


You can edit the segment duration in the xml also:

You can edit and update the segment duration at the application level using the Engine REST API @heeyeon_jang

I want to play “hls” right after “incoming Streams”. However, like the screenshot, hls playback only appears when they are all displayed. I want to reduce them.

Typical HLS will not start until it has the 3 complete segments needed for playback.

You may want to look into Low-Latency HLS (LL-HLS) which can begin playback after just a few small chunks of data, it will get you down to one second or less latency and doesn’t need to wait for 3 complete segments as traditional HLS does.

You will need to configure LL-HLS and use the CMAF packetizer and I suggest you send a support ticket to get some direct help since we can’t review and debug in forums. We’d need to see your entire configuration and logs and that is only possible in a ticket.

Here is some info on LL-HLS though if you want to give it a try and see if that help you.

Keep in mind that with LL-HLS:

You can test LL-HLS streams by entering the playback URL in the Safari browser on iOS 14, other native apps on devices running iOS 14, or any player that supports LL-HLS. If a player supports HLS but not LL-HLS, it will default to playing LL-HLS streams as standard HLS.