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
dec33  
#1 Posted : Saturday, February 6, 2021 9:45:12 AM(UTC)
dec33

Rank: Member

Groups: Registered
Joined: 8/12/2020(UTC)
Posts: 18
United States
Location: Bay Area

Thanks: 4 times
Hey Fellow vMix Enthusiasts.

I had the following issue last week. Once I started streaming I noted a GPU overload (GPU mem ~71%) and the stream started losing frames (down to 25-27fps). I suspected the video lower thirds and stinger, because I know vMix recommends converting to image sequences. I was afraid the system was going to crash, so as each talent finished their segment, I deleted their lower third input. Each lower third was taking 3% of the GPU mem! Once I deleted them all I was back down to 47%, and if I remember correctly the Overload indicator stopped, and the framerate went back to normal.

This was a completely last minute call, so I didn't have time to do the normal amount of prep or testing.

So, I set up a test today and converted all the lower thirds to image sequences (I didn't with the stinger since it has audio). To my surprise the GPU mem usage is now 96%! And this is before receiving vMix Callers or Streaming to any platform.

So, I'm coming to you hoping to be shown the error of my ways. Very gun-shy about animated graphics now.


Stream: 1080p 29.97
vMix Calls: 8 Callers
Lower Thirds: 8 (7sec)
Stinger: 1 (4sec)
Prerecorded Content: 3 videos (90sec, 5m, 30m)

Machine Specs:

AMD Ryzen 9 3950X 16-Core Processor 3.5GHz w/ 64Gb RAM
Nvidia GeForce RTX 2070 (High Input Performance Mode is checked)

Any tips or options to try would be appreciated.

-G

Babbit  
#2 Posted : Saturday, February 6, 2021 10:14:37 AM(UTC)
Babbit

Rank: Advanced Member

Groups: Registered
Joined: 10/26/2020(UTC)
Posts: 76
United States
Location: Maryland

Thanks: 2 times
Was thanked: 26 time(s) in 20 post(s)
Your system is a notch higher than mine in almost all categories. A few things you can do:

Make sure your GeForce drivers are up-to-date. This is particularly important because of a prior performance bug in the drivers. While you're at it, check this guide and make sure everything is set up optimally.

With GT titles, avoid repeatedly adding the GT file to your project. Each iteration will take up resources. And if for some reason each GT title is continuously playing even when not on program, it's just taking away more resources. Take advantage of presets in Title Editor for multiple lower thirds.

Lastly, if can still use image sequences for stinger transitions even if you have associated audio. Just name the wav file the exact same name as the first file of the sequence, but with .wav at the end of the filename. So if the first image of your sequence is "image0001.png" you want call the audio file "image0001.png.wav".
thanks 2 users thanked Babbit for this useful post.
Martin Block on 2/7/2021(UTC), dec33 on 4/5/2021(UTC)
doggy  
#3 Posted : Saturday, February 6, 2021 10:22:41 AM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 5,221
Belgium
Location: Belgium

Thanks: 293 times
Was thanked: 955 time(s) in 790 post(s)
Originally Posted by: dec33 Go to Quoted Post
so as each talent finished their segment, I deleted their lower third input.


I do have to ask why does each talent has it's own lower third ? hope not because of the difference in name or so

dec33  
#4 Posted : Sunday, February 7, 2021 8:34:27 AM(UTC)
dec33

Rank: Member

Groups: Registered
Joined: 8/12/2020(UTC)
Posts: 18
United States
Location: Bay Area

Thanks: 4 times
Ok, so what I've realized reading your responses is that GT Title Designer is necessary, not an option. I was using the Input: Image Sequence option. I didn't realize this was critical, and avoided GTTD as a way to save steps and make my life easier. Ha.

So I just set each image sequence in GTTD, and changed the inputs to the GT Titles, and what do you know, my GPU Mem is down from 96% to 20%. This doesn't yet include changing the stinger (see below), so I may get the GPU Mem down to ~10%.

To answer doggy, I am doing an individual lower third for each talent, as I'm receiving the names baked into the image sequence from the client. No real way to change that unless talk to the graphics people, also the text moves in more complex ways than I know how to set up in GTTD, so I'm stuck with that for now. What would my GPU savings be if I combined all the Lower Thirds into one input? Is it easy to trigger shortcuts for each different lower third without having to right click into the input?

Ok the Stinger is another question, as it was delivered as an MP4. Are there any preferred converters to MOV? Looking forward to trying the wav trick you recommended Babbit.

Thanks for the responses, this has been very helpful!
Babbit  
#5 Posted : Sunday, February 7, 2021 10:34:28 AM(UTC)
Babbit

Rank: Advanced Member

Groups: Registered
Joined: 10/26/2020(UTC)
Posts: 76
United States
Location: Maryland

Thanks: 2 times
Was thanked: 26 time(s) in 20 post(s)
Originally Posted by: dec33 Go to Quoted Post
To answer doggy, I am doing an individual lower third for each talent, as I'm receiving the names baked into the image sequence from the client. No real way to change that unless talk to the graphics people, also the text moves in more complex ways than I know how to set up in GTTD, so I'm stuck with that for now. What would my GPU savings be if I combined all the Lower Thirds into one input? Is it easy to trigger shortcuts for each different lower third without having to right click into the input?

You'll likely save some GPU cache, but I can't really put a number on it. 20% GPU mem is pretty decent as is. I have a 46 input project open right now, and it is 23% GPU mem currently.

This is the classic struggle with graphics designers versus character generators: the concept creation exceeds the practical implementation. I bet that's fun trying to fix a typo in the middle of the show with everything burned in.

I have an X-touch Mini (in MC mode), and I use one of the rotary encoders for lower thirds. The button press performs the keying operation and the rotary function allows me to do next and previous preset. I also have NDI Studio Monitor running on another screen with a direct output of that source so I can actually see the text. I used to put the lower thirds in preview to check, but I would then make the idiot move of hitting cut and delivering a lower third over black to the world.

You can create a shortcut and use SelectTitlePreset to select title, but it is by index so you'll have to be cognizant of the order of your presets when you create it.

Quote:
Ok the Stinger is another question, as it was delivered as an MP4. Are there any preferred converters to MOV? Looking forward to trying the wav trick you recommended Babbit.

That's interesting that it's an MP4, since that filetype doesn't support alpha channels. At that point, you really don't have any reason to convert it to an MOV and convert straight to an image sequence. vMix Video Tools should be able to do the conversion with no problem.
thanks 1 user thanked Babbit for this useful post.
dec33 on 4/5/2021(UTC)
dec33  
#6 Posted : Wednesday, March 24, 2021 1:51:25 PM(UTC)
dec33

Rank: Member

Groups: Registered
Joined: 8/12/2020(UTC)
Posts: 18
United States
Location: Bay Area

Thanks: 4 times
Ok, so I'm working on another show, and I followed all the steps recommended in this thread, converting mov files to image sequences, creating GT Image Sequences, and importing them as inputs using the GT Title/XAML option.

And, it still doesn't work. :)

This time I notices immediate glitching in the lower thirds when activated. I emailed vmix support and after sending them my files, they confirmed that they are 2G each, and too large for my GPU's dedicated memory (non the GPU mem % display, which was under 20%). This can be monitored by going to "Task Manager -> Performance tab -> GPU -> "Dedicated GPU Memory usage."

Mind you this is 6 lower thirds total, each 9sec. I would never have thought this would be what overwhelms my system. But clearly I have a lot to learn.

I ended up re-importing them as video files and it worked fine. But I know from hard experience that a more demanding show would drop frames and have a GPU Overload using this method.

So my question is how are the rest of you doing this? It seems so limited as to be almost unusable for all but the simplest shows. vMix support recommended using the prebuilt overlays in GT Title Designer, but that is a no go with clients who have their own preferred graphics and graphics departments.

The one method I could see being effective is a complete outboard graphics machine feeding an ndi alpha channel with live triggered graphics into the vMix machine, and not doing any overlays within vMix itself. Is that the answer? If so, I'd be very curious to learn any tips/tricks/best practices from those who have gone down this road.

Hope this is helpful to anyone else in this situation. As always, I hope I'm completely missing something obvious.



Babbit  
#7 Posted : Wednesday, March 24, 2021 4:06:58 PM(UTC)
Babbit

Rank: Advanced Member

Groups: Registered
Joined: 10/26/2020(UTC)
Posts: 76
United States
Location: Maryland

Thanks: 2 times
Was thanked: 26 time(s) in 20 post(s)
A good craftsman never blames their tools.

I've watched various generations of Chyron, VizRT, etc. absolutely eat it when a graphics department gets too greedy. Graphics departments who are not overly broadcast centric, meaning they scream "it worked in Adobe!" and nothing more, tend to heavily favor form over function. All character generator systems have their limitations, including the ones I just mentioned that cost the price of a small condo.

If your lower thirds are completely burned in and there's no need to add text, it leads to the question of why is it in GT at all when you can import image sequences directly in vMix?

I used to have a 30 second loop as an image sequence, and that posed no issues. That was also on top of the two 5 second stingers as image sequences. Again, no issues. The only reason I stopped loading the loop as an image sequence was because I got too impatient with the preset loading time.



thanks 1 user thanked Babbit for this useful post.
dec33 on 4/5/2021(UTC)
ralston  
#8 Posted : Wednesday, March 24, 2021 10:03:01 PM(UTC)
ralston

Rank: Advanced Member

Groups: Registered
Joined: 10/10/2019(UTC)
Posts: 52
United Kingdom
Location: london

Thanks: 5 times
Was thanked: 1 time(s) in 1 post(s)
I often find drop frames on the main Full Screen HDMI output when I trigger GT animated titles. What is strange is that my Replay recorded .avi files don't show any dropped frames when I play back after the session. Do you know if the main NDI Output would also carry the dropped frames as the Full Screen output currently does? I was thinking of using a Birddog NDI convertor to SDI which to feed back into the rest of the production hub.
Bottom line is that when ever we bring in a GT animated titles frames are dropped.
dec33  
#9 Posted : Wednesday, March 24, 2021 11:48:07 PM(UTC)
dec33

Rank: Member

Groups: Registered
Joined: 8/12/2020(UTC)
Posts: 18
United States
Location: Bay Area

Thanks: 4 times
Hey Babbitt,
My intention here is not to blame vMix, sorry if that's the impression I'm giving. I've been using it for under a year, so I usually find operator error is what keeps me from accomplishing my goals, and honestly that's my favorite problem to discover, as it's usually the easiest to fix. Hoping this falls into that (overflowing) bucket.

Also, I agree that the process of turning movs into GT Titles is a lot. On the original show sparking this discussion, I did convert the movs and input them as image sequences, and the result was GPU Mem 96%. I’ll try it again and see if I encounter the same issues.

As far as getting too greedy goes, this doesn't "feel" ambitious, but maybe it's an expectation problem on my end. Open to that as well.

Going back to your comment re last minute changes to client provided graphics, yes it can be a problem, but it's their problem, as they have approved everything I use, as opposed to mine. While I want to be as flexible as possible for them, I also need to limit my responsibilities so I can focus on the other inevitable things that come up before a show goes live.

Thanks for the conversation, you have given me a lot to chew on in this thread.
dec33  
#10 Posted : Wednesday, March 24, 2021 11:50:13 PM(UTC)
dec33

Rank: Member

Groups: Registered
Joined: 8/12/2020(UTC)
Posts: 18
United States
Location: Bay Area

Thanks: 4 times
Ralston, that's interesting, I will test for that as well. Interesting about GT Titles dropping frames on the monitoring. Are you in vMix 24? I have not updated yet but will after this show. Curious if others are experiencing this.
Babbit  
#11 Posted : Thursday, March 25, 2021 2:38:20 AM(UTC)
Babbit

Rank: Advanced Member

Groups: Registered
Joined: 10/26/2020(UTC)
Posts: 76
United States
Location: Maryland

Thanks: 2 times
Was thanked: 26 time(s) in 20 post(s)
No offense taken. I think it was another character generator operator that introduced me to that saying... maybe even for a similar reason.

I will say that I once attempted to load up 7 stinger transitions, which would have probably put me at the 45 second mark on image sequences. It worked fine, but I was a bit uncomfortable with how little GPU mem I had left. So I never did that again afterwards.

You can try another video codec that supports alpha channel, like SpeedHQ from Newtek, and see how much a hit it takes on GPU mem. I know the Quicktime stuff is pretty severe, so don't bother with those codecs. It's been a while since I've tried SpeedHQ with alpha channels, so I don't remember how it affected the GPU mem.

If you get favorable results, you can then try placing all the those files in a list input, which in general practice is encouraged with regular video as you eat up far less GPU mem that way.

With the GT title related frame drops in fullscreen, I haven't noticed them myself, but I don't run in fullscreen mode that often. I'm personally reluctant to use fullscreen for feeding a critical screen. I'd rather take a latency hit using the Decklink output versus risking Windows toying with the fullscreen output. No matter what I do, disabling Aero Peek, etc., I still find ways to minimize or make the fullscreen output momentarily disappear.

Way back when, I used to have some of my GT titles stutter occasionally. I tried "Lock GT Surfaces" (I swear it was called something else in 23) in the advanced performance settings, and that seemed to help. But later I turned it back off and the stuttering never came back. So it reality I don't think that did anything.

One thing that may be worth trying is enabling High Performance Output Mode, which is also in the same area of settings. It did make a difference for me with frame drops in Multicorder. It also made a difference in another system I set up, which was a ridiculously overpowered dual Xeon workstation with a 2080 Ti.
thanks 1 user thanked Babbit for this useful post.
dec33 on 4/5/2021(UTC)
Users browsing this topic
Guest (5)
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.