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
gregfr  
#1 Posted : Monday, March 25, 2013 9:34:45 AM(UTC)
gregfr

Rank: Newbie

Groups: Registered
Joined: 3/25/2013(UTC)
Posts: 5
Location: Paris

Hello Community

I'm a developer but I'm completly new to vMix. My goal is to "inject" images as overlays during a live event (something like Bloomberg's ticker).

The updated media will be computer generated by my code, so it can be in whatever format is best suited.

I found that vMix proposes a lot of features (including APis yeah!), but I'm not sure which one is the best for what I need.

Any advise?

TIA

greg
jwolthuis  
#2 Posted : Tuesday, March 26, 2013 6:21:17 AM(UTC)
jwolthuis

Rank: Member

Groups: Registered
Joined: 3/11/2013(UTC)
Posts: 26

Thanks: 1 times
Was thanked: 9 time(s) in 6 post(s)
Your best choice of input-type for programmatically-generated content is the XAML input. vMix will auto-run the first Storyboard contained in your UserControl. At that point, you can use pixel shaders running on the GPU, or control content via a Property Page.

There is no callable API, although there is an Interface that you can inplement in your code to show your Property Page.

Jon
Egriswold  
#3 Posted : Tuesday, March 26, 2013 12:01:40 PM(UTC)
Egriswold

Rank: Advanced Member

Groups: Registered
Joined: 6/29/2011(UTC)
Posts: 311
Man
United States
Location: Florida

Thanks: 6 times
Was thanked: 33 time(s) in 32 post(s)
If this information has already been rendered and view-able with a browser then you could use the desktop capture feature.
Point the capture to you browse then some position and cropping adjustments for placement and you have it ready for an overlay channel.
Really easy to do.
gregfr  
#4 Posted : Tuesday, March 26, 2013 1:36:20 PM(UTC)
gregfr

Rank: Newbie

Groups: Registered
Joined: 3/25/2013(UTC)
Posts: 5
Location: Paris

Thanks for your answer.

I'm not familiar with XAML; how dynamic is it? If I change something (like a picture) on the server side, how can I trigger the change on-screen?

My goal is to have something like the "media folder" source (which imports a list of images then the user can select "next image") - but dynamic.
gregfr  
#5 Posted : Tuesday, March 26, 2013 1:38:34 PM(UTC)
gregfr

Rank: Newbie

Groups: Registered
Joined: 3/25/2013(UTC)
Posts: 5
Location: Paris

Egriswold wrote:
If this information has already been rendered and view-able with a browser then you could use the desktop capture feature.
Point the capture to you browse then some position and cropping adjustments for placement and you have it ready for an overlay channel.
Really easy to do.

Yes, I thought about that, it's kinda ugly but easy to set up. I'll do that if I don't find a better solution :)
jwolthuis  
#6 Posted : Tuesday, March 26, 2013 3:10:15 PM(UTC)
jwolthuis

Rank: Member

Groups: Registered
Joined: 3/11/2013(UTC)
Posts: 26

Thanks: 1 times
Was thanked: 9 time(s) in 6 post(s)
I'm not sure what you mean by "server side", so I'll give you a general answer.

You create a View Model for your data elements (properties, or whatever you want to display). You derive these data elements from something in Windows called a "Dependency Property" (fancy term for properties that can be animated). You create your "Visual" (whatever you want to appear as your vMix "input") in a language called XAML, then bind the "visual things that change" to the dependency properties in your View Model.

With the binding in place, anytime your data changes, the change gets sent to the visual element it's bound to. Presto, it appears on screen.

You can also bind "animations" to your visual elements, so you can automatically apply visual effects like Wipe, Slide, or Fade whenever data changes (think Windows 8 Live Tiles). These visual effects can be very fancy, because XAML supports the use of Pixel Shaders running on the GPU of your graphics card. So if you want to apply blurs, transformations, or distortions to your visual elements, it's a very straightforward procedure.

vMix doesn't have an API (yet), so it's not possible to use other vMix inputs in your code. Aside from that limitation, this is the best way to implement dynamic ticker tapes, scoreboard bugs, lower-third song lyrics, or anything where you have a dataset that you dynamically want to incorporate into a visual image.
gregfr  
#7 Posted : Wednesday, March 27, 2013 8:38:51 AM(UTC)
gregfr

Rank: Newbie

Groups: Registered
Joined: 3/25/2013(UTC)
Posts: 5
Location: Paris

Thanks for the detailled explanations!

jwolthuis wrote:
I'm not sure what you mean by "server side", so I'll give you a general answer.

That's because the data will actually come from a server, which is a remote machine. So I have to fetch the data in way or another, for example as png files via http.

jwolthuis wrote:

You create a View Model for your data elements (properties, or whatever you want to display). You derive these data elements from something in Windows called a "Dependency Property" (fancy term for properties that can be animated). You create your "Visual" (whatever you want to appear as your vMix "input") in a language called XAML, then bind the "visual things that change" to the dependency properties in your View Model.

With the binding in place, anytime your data changes, the change gets sent to the visual element it's bound to. Presto, it appears on screen.

You can also bind "animations" to your visual elements, so you can automatically apply visual effects like Wipe, Slide, or Fade whenever data changes (think Windows 8 Live Tiles). These visual effects can be very fancy, because XAML supports the use of Pixel Shaders running on the GPU of your graphics card. So if you want to apply blurs, transformations, or distortions to your visual elements, it's a very straightforward procedure.

vMix doesn't have an API (yet), so it's not possible to use other vMix inputs in your code. Aside from that limitation, this is the best way to implement dynamic ticker tapes, scoreboard bugs, lower-third song lyrics, or anything where you have a dataset that you dynamically want to incorporate into a visual image.

Thanks I think I understand it a little better. It seems to be very microsoft-specifics techs, and I don't have the budget for that.

I'm considering generating a video stream, like mpeg/ts over http. Does vMix support these as inputs?

TIA

greg
doyousee.me  
#8 Posted : Wednesday, March 27, 2013 3:48:56 PM(UTC)
doyousee.me

Rank: Advanced Member

Groups: Registered
Joined: 8/4/2012(UTC)
Posts: 129
Location: the Netherlands

Was thanked: 10 time(s) in 10 post(s)
dou you want the overlay to be moving (really like a ticker) or do you just want to overlay an image

in the latter case you can download the image from your webserver somewhere locally and trigger a media addition with the api (it should be there somewhere).

M@ik

gregfr  
#9 Posted : Wednesday, March 27, 2013 11:52:04 PM(UTC)
gregfr

Rank: Newbie

Groups: Registered
Joined: 3/25/2013(UTC)
Posts: 5
Location: Paris

doyousee.me wrote:
dou you want the overlay to be moving (really like a ticker) or do you just want to overlay an image

in the latter case you can download the image from your webserver somewhere locally and trigger a media addition with the api (it should be there somewhere).

M@ik


Well a still image is ok as long as I can trigger a change. I know how to re-created the image file locally, but I didn't find in the API how to trigger a refresh in vMix...

greg
jwolthuis  
#10 Posted : Thursday, March 28, 2013 12:31:06 AM(UTC)
jwolthuis

Rank: Member

Groups: Registered
Joined: 3/11/2013(UTC)
Posts: 26

Thanks: 1 times
Was thanked: 9 time(s) in 6 post(s)
Quote:
I didn't find in the API how to trigger a refresh in vMix...

vMix doesn't have a callable API (yet), but you "trigger a refresh" using a XAML input. Please see my previous post.

If the image is local, you bind the image to a XAML Image object.

Jon
doyousee.me  
#11 Posted : Thursday, March 28, 2013 12:36:54 PM(UTC)
doyousee.me

Rank: Advanced Member

Groups: Registered
Joined: 8/4/2012(UTC)
Posts: 129
Location: the Netherlands

Was thanked: 10 time(s) in 10 post(s)
I haven't played with it yet, (someone has a webshop for time :) ) but you should be able to add using the webapi?

M@ik
Users browsing this topic
Guest
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.