logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
TotalWebcasting  
#1 Posted : Friday, December 11, 2020 5:39:01 AM(UTC)
TotalWebcasting

Rank: Newbie

Groups: Registered
Joined: 10/29/2020(UTC)
Posts: 6
United States
Location: New York

We have been using hardware encoders but we are evaluating vmix as a new platform. So far excellent. But when we stream rtmp to Wowza Cloud the playback has 12 seconds or more latency. With our hardware encodr, we get 8 seconds with a KFI of 2. That is the KFI i set in vmix but i am unclear about the network buffer time. The documentation does not match what vmix is showing. I have tried a range of settings, now i have it set to the lowest at 5 sec. Is this a limitation in vmix? Perhaps I am missing something?
Peter1000  
#2 Posted : Friday, December 11, 2020 7:53:48 AM(UTC)
Peter1000

Rank: Advanced Member

Groups: Registered
Joined: 1/25/2019(UTC)
Posts: 211
Switzerland

Thanks: 6 times
Was thanked: 46 time(s) in 36 post(s)
use SRT in vMix, you should have a latency under 1 second.

see wowza SRT description here
wowza cloud srt
TotalWebcasting  
#3 Posted : Friday, December 11, 2020 10:46:05 PM(UTC)
TotalWebcasting

Rank: Newbie

Groups: Registered
Joined: 10/29/2020(UTC)
Posts: 6
United States
Location: New York

thanks for the reply. Yes SRT has much better latency results but that is a much bigger issue for us as it involves changes to our content publishing system. It is in the que to be done(much longer lead time than our implementation of vmix) but I was hoping to at least maintain the same 8 seconds we get now. For our application, that is an acceptable delay.
DWAM  
#4 Posted : Friday, December 11, 2020 11:26:44 PM(UTC)
DWAM

Rank: Advanced Member

Groups: Registered
Joined: 3/20/2014(UTC)
Posts: 2,721
Man
France
Location: Bordeaux, France

Thanks: 243 times
Was thanked: 775 time(s) in 586 post(s)
AFAIK keyframe interval has no impact on streaming latency

Regarding network buffering as explained in the manual
Network Buffer
This is the maximum number of seconds vMix can keep buffered at any time and reflects the maximum streaming latency
from vMix. (Note that streaming servers and players add their own buffers on to this time)
Increase the Network Buffer if the maximum network speed available is unreliable.

Again this should not impact latency if your upload speed is adequate.

The only parameter I'm aware of is the FFMPEG rtbufsize parameter that is required to smoothen the stream flow from vMix (uncompressed stream) to FFMPEG.
However this is expressed in MB (like 128 MB or 256 MB) and not in seconds so it's difficult to say whether it relates to the difference you're noticing. But it obviously has a slight impact on delivery time. You can try reducing this value by writing your own FFMPEG script to encode and push your stream to Wowza. (Use EXT out and vMix DSHOW virtual device in FFMPEG).

Apart from that, imho, the extra latency could be the result of the signal quality you're sending to Wowza. Most hardware encoders (you did not mention which one you're using) have pretty low encoding parameters like "profile", "level" for H.264. Those determine the nature, the complexity of the signal to decode on the wowza side as well as the time it takes to re-encode to HLS (I suppose that's what you want, again you did not mention it). For example, "Baseline" goes faster than "High", 3.1 goes faster than 4.2. You can make tests with these parameters to check whether you see any difference.

Another reason I can think of is Covid related : more streams at the moment. It means more power required on the platforms side and most of them have reduce their casual settings for best performance in favor to more delivery power. Transcoding is highly CPU intensive.

My 2 cts...
DWAM  
#5 Posted : Friday, December 11, 2020 11:32:21 PM(UTC)
DWAM

Rank: Advanced Member

Groups: Registered
Joined: 3/20/2014(UTC)
Posts: 2,721
Man
France
Location: Bordeaux, France

Thanks: 243 times
Was thanked: 775 time(s) in 586 post(s)
Regarding Peter's proposal to use SRT, I think Wowza supports SRT ingest (just as an alternative to RTMP)
As the case may be, you can ask Wowza to transcode to HLS or DASH for delivery just as if it is RTMP in.
I don't see why it would require you to change a lot of things on your side. Just need to push SRT (instead of RTMP, vMix supports both) and create a new ingest point on Wowza to pipe it to your usual delivery recipe...
On the viewer's side it would change nothing at all > they still play multibitrate HLS or DASH
TotalWebcasting  
#6 Posted : Saturday, December 12, 2020 1:07:56 AM(UTC)
TotalWebcasting

Rank: Newbie

Groups: Registered
Joined: 10/29/2020(UTC)
Posts: 6
United States
Location: New York

Great feedback, thank you. We have been using the Epiphan Pearl as our encoder. Wowza specifies setting the KFI to 2 to get the best latency results. Changing it does increase latency. I didn't try lowering the profile, i will do that next.
DWAM  
#7 Posted : Saturday, December 12, 2020 1:16:10 AM(UTC)
DWAM

Rank: Advanced Member

Groups: Registered
Joined: 3/20/2014(UTC)
Posts: 2,721
Man
France
Location: Bordeaux, France

Thanks: 243 times
Was thanked: 775 time(s) in 586 post(s)
Quote:
Wowza specifies setting the KFI to 2 to get the best latency results

??
What for ? RTMP push ? Or HLS ABR encoding based on chunk size ?
Regarding RTMP I'm sure KFI has no impact at all on latency.
When it comes to HLS, it's a totally different story... but I won't explain it here... Just know that it's recommended to align keyframe interval and chunk size but there are different things anyway. There's tons of litterature about HLS specs already on the internet.

Anyway, vMix default setting for keyframe interval is 2 seconds so I guess there's nothing to improve on this side
TotalWebcasting  
#8 Posted : Saturday, December 12, 2020 1:47:47 AM(UTC)
TotalWebcasting

Rank: Newbie

Groups: Registered
Joined: 10/29/2020(UTC)
Posts: 6
United States
Location: New York

this is rtmp push. here is the wowza doc we follow. when they refer to segment size, in the epiphan pearl that is the KF setting. Is this different in vmix?
https://www.wowza.com/do...th-wowza-streaming-cloud
DWAM  
#9 Posted : Saturday, December 12, 2020 1:59:18 AM(UTC)
DWAM

Rank: Advanced Member

Groups: Registered
Joined: 3/20/2014(UTC)
Posts: 2,721
Man
France
Location: Bordeaux, France

Thanks: 243 times
Was thanked: 775 time(s) in 586 post(s)
Quote:
this is rtmp push


No ! This page explains what I was talking about: it's about HLS transcoding and "segment size" is what I called "chunks size"
As I said it's recommended to align both the keyframe interval with the segment size so that each segment starts with a keyframe

But when it comes to vMix we're only dealing with RTMP where segmentation does not exist.

Basically this all means that Wowza recommends to push RTMP with a 2 sec keyframe interval BECAUSE they will transcode to HLS with 2 seconds segments.

If you want to understand how HLS works:
https://en.wikipedia.org/wiki/HTTP_Live_Streaming

TotalWebcasting  
#10 Posted : Sunday, December 13, 2020 12:44:28 AM(UTC)
TotalWebcasting

Rank: Newbie

Groups: Registered
Joined: 10/29/2020(UTC)
Posts: 6
United States
Location: New York

Thanks again for all of the guidance. I have set up SRT in Wowza but i am a bit confused, if someone could clarify that i am on the right track:

1. In Wowza Cloud there is a choice for vMix, but this seems to be just for rtmp. Also it seems to me that the set-up in the 'Streaming' set up in vMix is also just for rtmp.

2. In Wowza Cloud I would set it up as 'Other SRT'. But this only gives you a url with our account embedded, and a Port number. Then I go to the SRT screen for Output 1 and check the SRT box. But it asks for a 'Pass Phrase' that Wowza does not supply. If I leave it blank I get an error indicating the need for Authentication.

If I am able to get past that then I am a little unclear what turns on the SRT stream. I think i would go to Outputs, SRT and then Enable 1. Is this the correct procedure? Am I missing something?
DWAM  
#11 Posted : Sunday, December 13, 2020 1:12:18 AM(UTC)
DWAM

Rank: Advanced Member

Groups: Registered
Joined: 3/20/2014(UTC)
Posts: 2,721
Man
France
Location: Bordeaux, France

Thanks: 243 times
Was thanked: 775 time(s) in 586 post(s)
Everything you ask for is explained in the vMix manual and has been discussed many times in this forum. Furthermore you're paying Wowza to get support...
Panic  
#12 Posted : Friday, June 11, 2021 4:49:07 AM(UTC)
Panic

Rank: Member

Groups: Registered
Joined: 5/19/2021(UTC)
Posts: 10
United States

Originally Posted by: DWAM Go to Quoted Post
Everything you ask for is explained in the vMix manual and has been discussed many times in this forum. Furthermore you're paying Wowza to get support...


Why even bother respond if all you can contribute is RTFM or go ask someone else.
I stumbled across this thread while also trying to setup an SRT stream to Wowza. It is not at all intuitive that SRT streams are configured on the external output settings rather than the usual streaming output. Does it matter if you're already using the external outputs for an SDI card? Also, for some reason, vmix refuses to connect over the url wowza provides srt://xxxxx.entrypoint.cloud.wowza.com. I have to use the public IP address but even then the latency is no better than rtmp.

mavik  
#13 Posted : Saturday, June 12, 2021 1:42:24 AM(UTC)
mavik

Rank: Advanced Member

Groups: Registered
Joined: 4/23/2017(UTC)
Posts: 719
Man
Location: Germany

Thanks: 3 times
Was thanked: 112 time(s) in 101 post(s)
SRT is configured in the output section of vmix. To set authentication work on the settings file in wowza. There you can define the passphrase.
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.