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
JoshTheRadioDude  
#1 Posted : Thursday, October 11, 2018 5:52:30 AM(UTC)
JoshTheRadioDude

Rank: Member

Groups: Registered
Joined: 10/11/2018(UTC)
Posts: 10
Man
United States
Location: Michindoh

Thanks: 7 times
Let me preface this by saying I've done similar graphics work in Flash for CasparCG, so I understand there's complexity involved and that I might not understand it all. So forgive me if I'm missing something that should be obvious to others.

I've created an overlay bug, which will be a part of a larger graphics package that combines both static and dynamic text elements. It took me a while to get a handle on Blend, but I've finally figured out the masks and keyframes and building the project once it's ready. Or at least I thought I did, because now that I've finally got it in vMix to try it out, it's running slower than molasses in winter.

Let's look at the tape.



You can see in the first clip that it moves pretty quickly in Blend... and that's how quickly it's supposed to move. Then when it's played as an overlay in vMix, well... that's when the trouble begins.

My first thought was the system framerate. I've tried several different rates and none of them fixed it. That doesn't seem to be the problem.

Obviously it's getting into vMix, but my next guess is that it may be something in the XAML file itself. I've tried it with both .NET 4 and .NET 3.5, as I've seen demonstration videos and instructions (both here and elsewhere) using either one, and both versions have the exact same problem.

Has anyone else encountered this? If so, what's the solution?

Thanks in advance.
doggy  
#2 Posted : Thursday, October 11, 2018 6:07:46 AM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 861
Belgium
Location: Belgium

Thanks: 55 times
Was thanked: 148 time(s) in 132 post(s)
thanks 1 user thanked doggy for this useful post.
JoshTheRadioDude on 10/11/2018(UTC)
JoshTheRadioDude  
#3 Posted : Thursday, October 11, 2018 6:25:35 AM(UTC)
JoshTheRadioDude

Rank: Member

Groups: Registered
Joined: 10/11/2018(UTC)
Posts: 10
Man
United States
Location: Michindoh

Thanks: 7 times
Nope, no shadows... this is all done with PNG files and opacity masks. And if it's a question of processing power, I wouldn't think that would be an issue... we're running a pretty hefty rig here.
Siroki  
#4 Posted : Thursday, October 11, 2018 5:01:44 PM(UTC)
Siroki

Rank: Advanced Member

Groups: Registered
Joined: 10/10/2015(UTC)
Posts: 291
Location: Siroki

Thanks: 3 times
Was thanked: 25 time(s) in 22 post(s)
What overlay number are you using?
Maybe its a speed of overlay that is making it slow
thanks 1 user thanked Siroki for this useful post.
JoshTheRadioDude on 10/11/2018(UTC)
JoshTheRadioDude  
#5 Posted : Thursday, October 11, 2018 11:52:58 PM(UTC)
JoshTheRadioDude

Rank: Member

Groups: Registered
Joined: 10/11/2018(UTC)
Posts: 10
Man
United States
Location: Michindoh

Thanks: 7 times
Well, it had been 5000ms, but I just changed it to 0ms and that changed nothing. It's on Overlay1.

Given the question about shadows, I'm wondering if it's the opacity masks in the XAML. Again, this computer shouldn't be choking on that -- this title is only peaking the overall processor usage at 30% momentarily -- but if vMix's rendering engine inherently has trouble handling such things, that could be the issue.

My initial plan when I started all of this was to go frame-by-frame with PNG's, but I abandoned that when I couldn't figure out how to change the snapping resolution on Blend's timeline. I know how to do that now, so it's an option I might have to fall back on, unless there's a way to directly import video into Blend (which would make life a heck of a lot easier, but I can see how software licensing might prevent Microsoft from implementing that).


JoshTheRadioDude  
#6 Posted : Friday, October 12, 2018 2:39:57 AM(UTC)
JoshTheRadioDude

Rank: Member

Groups: Registered
Joined: 10/11/2018(UTC)
Posts: 10
Man
United States
Location: Michindoh

Thanks: 7 times
UPDATE: I've tried the frame-by-frame method using no masks, only opacity levels applied directly to the individual images in the XAML. It's an improvement, but it's still running slower than it should be. The only thing I can think of is that, since shadows and apparently opacity masks are too much for vMix to handle, opacity of any kind in an XAML file is the issue. The problem that creates is that I'm not sure how I would do a frame-by-frame animation without it, since you can't simply make an image file "exist" at a certain point in the timeline, it has to be there from the beginning since everything preloads.

My only other option is to render video files for the background and slap static text titles on them as an overlay in vMix, which makes a couple of the things I wanted to do impossible (for example, have a background dynamically size itself horizontally based on how much text will be overlaid on it). So if there's any way to make this work without going that route, I'd really like to find it.
Stealth77  
#7 Posted : Friday, October 12, 2018 6:36:26 AM(UTC)
Stealth77

Rank: Member

Groups: Registered
Joined: 8/4/2015(UTC)
Posts: 14

Thanks: 2 times
Was thanked: 2 time(s) in 2 post(s)
Use in Blend the same number of frames as in the vMix settings.
If the vMix is 1080i50, then in the settings of the Blend sequence, set 50 frames. If in the vMix settings it is 1080p25, then set the number of frames in the Blend 25 sequence.
blend.png (88kb) downloaded 7 time(s).
thanks 1 user thanked Stealth77 for this useful post.
JoshTheRadioDude on 10/12/2018(UTC)
JoshTheRadioDude  
#8 Posted : Friday, October 12, 2018 11:40:58 AM(UTC)
JoshTheRadioDude

Rank: Member

Groups: Registered
Joined: 10/11/2018(UTC)
Posts: 10
Man
United States
Location: Michindoh

Thanks: 7 times
That was my first guess. I've checked multiple frame rates to be certain. The snapping resolution in Blend is 30 FPS. I attempted setting vMix to 1080p30, and it does the exact same thing. 1080p29.97 and 1080p59.94, exact same outcome. This is a problem that seems to be completely independent of frame rates.
doggy  
#9 Posted : Friday, October 12, 2018 5:16:59 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 861
Belgium
Location: Belgium

Thanks: 55 times
Was thanked: 148 time(s) in 132 post(s)
A bit hard to figure out the problem without the code or sequence though
Barney Box Lane  
#10 Posted : Friday, October 12, 2018 7:59:01 PM(UTC)
Barney Box Lane

Rank: Advanced Member

Groups: Registered
Joined: 8/21/2017(UTC)
Posts: 187
Location: Uk

Thanks: 8 times
Was thanked: 18 time(s) in 18 post(s)
Originally Posted by: JoshTheRadioDude Go to Quoted Post
UPDATE: I've tried the frame-by-frame method using no masks, only opacity levels applied directly to the individual images in the XAML. It's an improvement, but it's still running slower than it should be. The only thing I can think of is that, since shadows and apparently opacity masks are too much for vMix to handle, opacity of any kind in an XAML file is the issue. The problem that creates is that I'm not sure how I would do a frame-by-frame animation without it, since you can't simply make an image file "exist" at a certain point in the timeline, it has to be there from the beginning since everything preloads.

My only other option is to render video files for the background and slap static text titles on them as an overlay in vMix, which makes a couple of the things I wanted to do impossible (for example, have a background dynamically size itself horizontally based on how much text will be overlaid on it). So if there's any way to make this work without going that route, I'd really like to find it.


we do the video thing wherever we can, then you know it'll happily work
JoshTheRadioDude  
#11 Posted : Monday, October 15, 2018 11:58:51 PM(UTC)
JoshTheRadioDude

Rank: Member

Groups: Registered
Joined: 10/11/2018(UTC)
Posts: 10
Man
United States
Location: Michindoh

Thanks: 7 times
Originally Posted by: doggy Go to Quoted Post
A bit hard to figure out the problem without the code or sequence though


Can do.

BreakingNewsBug.xaml (7kb) downloaded 8 time(s).
JoshTheRadioDude  
#12 Posted : Tuesday, October 16, 2018 12:04:36 AM(UTC)
JoshTheRadioDude

Rank: Member

Groups: Registered
Joined: 10/11/2018(UTC)
Posts: 10
Man
United States
Location: Michindoh

Thanks: 7 times
Originally Posted by: Barney Box Lane Go to Quoted Post
we do the video thing wherever we can, then you know it'll happily work


I actually attempted that just before the weekend, but for some reason, when using video for the overlay, vMix actually clears the overlay channel for a few frames when switching between the two files. It should be seamless... in fact, it has to be seamless for this purpose. Ironically, the XAML title is seamless in that regard because it's all one file.

Plus, as I've mentioned before, one of the goals here, at least for a couple of graphics, is to dynamically resize the background to match the length of the text being displayed over top of it. As far as I know, that can't be done with a video file in vMix. If it can, I will happily accept correction... though, again, there's still the requirement for seamless changeover between the files for in and out animation.
doggy  
#13 Posted : Tuesday, October 16, 2018 3:49:27 AM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 861
Belgium
Location: Belgium

Thanks: 55 times
Was thanked: 148 time(s) in 132 post(s)
Quote:
to dynamically resize the background to match the length of the text being displayed over top of it. As far as I know, that can't be done with a video file in vMix.


There have been a few post about this in this forum not so long ago

thanks 1 user thanked doggy for this useful post.
JoshTheRadioDude on 10/16/2018(UTC)
JoshTheRadioDude  
#14 Posted : Tuesday, October 16, 2018 4:52:45 AM(UTC)
JoshTheRadioDude

Rank: Member

Groups: Registered
Joined: 10/11/2018(UTC)
Posts: 10
Man
United States
Location: Michindoh

Thanks: 7 times
Originally Posted by: doggy Go to Quoted Post
Quote:
to dynamically resize the background to match the length of the text being displayed over top of it. As far as I know, that can't be done with a video file in vMix.


There have been a few post about this in this forum not so long ago



Can you point me in the right direction? I tried searching, but I may not have been using the correct terms.
VQey  
#15 Posted : Tuesday, October 16, 2018 9:32:41 AM(UTC)
VQey

Rank: Newbie

Groups: Registered
Joined: 12/30/2017(UTC)
Posts: 4
Man
Indonesia
Location: Indonesia

Thanks: 1 times
Was thanked: 2 time(s) in 2 post(s)
Are you using High resolution image? on my experience, the problem is similar like yours if using Large image file format.
Try to reduce the image/png size to exact measure you using and dont resize it(smaller is better).

For better result, try not to using to many imported images, you can do gradient coloring using "Gradient Brush"
thanks 1 user thanked VQey for this useful post.
JoshTheRadioDude on 10/17/2018(UTC)
doggy  
#16 Posted : Tuesday, October 16, 2018 9:59:59 AM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 861
Belgium
Location: Belgium

Thanks: 55 times
Was thanked: 148 time(s) in 132 post(s)
yes as often hidden due to other description ;-)

https://forums.vmix.com/posts/t16188-XAML---Clipping-text-with-Shapes



Originally Posted by: JoshTheRadioDude Go to Quoted Post
Originally Posted by: doggy Go to Quoted Post
Quote:
to dynamically resize the background to match the length of the text being displayed over top of it. As far as I know, that can't be done with a video file in vMix.


There have been a few post about this in this forum not so long ago



Can you point me in the right direction? I tried searching, but I may not have been using the correct terms.


thanks 1 user thanked doggy for this useful post.
JoshTheRadioDude on 10/17/2018(UTC)
JoshTheRadioDude  
#17 Posted : Wednesday, October 17, 2018 1:37:28 AM(UTC)
JoshTheRadioDude

Rank: Member

Groups: Registered
Joined: 10/11/2018(UTC)
Posts: 10
Man
United States
Location: Michindoh

Thanks: 7 times
Originally Posted by: VQey Go to Quoted Post
Are you using High resolution image? on my experience, the problem is similar like yours if using Large image file format.
Try to reduce the image/png size to exact measure you using and dont resize it(smaller is better).

That could be. Each layer -- including the alpha masks, six in total -- is a 1920x1080 PNG file, so that might be slowing it down. I didn't want to have to manipulate the exact positions of each layer if I'd already planned it all out in Photoshop, but if that's what's necessary, I'll do it. Just a little more work than I wanted to have to do.

Originally Posted by: VQey Go to Quoted Post
For better result, try not to using to many imported images, you can do gradient coloring using "Gradient Brush"

If that will resolve the issues, I may end up going that route. Though if opacity is a problem, that would still slow things down, as I'd have to use opacity masks on the XAML elements, as well.

Originally Posted by: doggy Go to Quoted Post
yes as often hidden due to other description ;-)

Ah, yes, I knew it was possible in WPF. What I was saying was, I don't think it's possible to do that when using a video background for text in overlays in vMix.

In other words, if I were to use two vMix overlay channels -- one for the video background, the other for the text that goes over the video background -- then I wouldn't be able to dynamically tie the physical shape of the video background to the shape of the text overlay. I may be wrong about that (I'm still learning what all vMix can do), but as far as I've been able to make out, that isn't possible. It's something that requires the calculations that WPF allows for in XAML files, whereas vMix doesn't include that capability on its own. Am I mistaken?
VQey  
#18 Posted : Wednesday, October 17, 2018 11:15:24 PM(UTC)
VQey

Rank: Newbie

Groups: Registered
Joined: 12/30/2017(UTC)
Posts: 4
Man
Indonesia
Location: Indonesia

Thanks: 1 times
Was thanked: 2 time(s) in 2 post(s)
Maybe this will help,

Instead you using import png for different colour shapes, you can use "Element Property Binding" to recolor the shapes with small tricks.



Here is a quick and dirty sample to try

sample.xaml (24kb) downloaded 3 time(s).
thanks 1 user thanked VQey for this useful post.
JoshTheRadioDude on 10/18/2018(UTC)
JoshTheRadioDude  
#19 Posted : Thursday, October 18, 2018 12:13:51 AM(UTC)
JoshTheRadioDude

Rank: Member

Groups: Registered
Joined: 10/11/2018(UTC)
Posts: 10
Man
United States
Location: Michindoh

Thanks: 7 times
Originally Posted by: VQey Go to Quoted Post
Maybe this will help,

Instead you using import png for different colour shapes, you can use "Element Property Binding" to recolor the shapes with small tricks.



I appreciate the thought, but that's not the problem I'm facing. If you watch my example video in my original post, you'll see that I'm using opacity masks to specify where (and when) each layer is seen. It has nothing to do with the colors... if I'm going to use straight XAML instead of PNGs, I can use gradients to get the look I'm going for. That's how I created the PNGs in Photoshop, anyway, so it's easy enough to replicate the effect in Blend. But regardless of the color, I'll still have to deal with the opacity masks, which seem to be causing the problem.

It could well be that the issue is a combination of using full-frame PNG files for each layer and using opacity masks, and I began creating an all-XAML version yesterday to test that theory. I'll report back here once I get it done.

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.