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
HoverJackal  
#1 Posted : Thursday, October 8, 2020 6:05:42 AM(UTC)
HoverJackal

Rank: Member

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

Thanks: 4 times
So in my scene I have 7 different virtual sets all showing "ScreenA" (left / red), and/or "ScreenB" (right / green).

Throughout my show I wanna update the content across all virtual sets for ScreenA and ScreenB respectively. The content ranges from camera inputs, video inputs, browser inputs, ect.

I thought I would be able to achieve this with 2 mini mixes, one assigned to ScreenA and one assigned to ScreenB, but mini mixes do not support auto play video or auto mix audio which means they cant really be used in this case.

My next line of thinking is trying to get an overlay(s) to output onto blank inputs 8 and 9, that way I can toggle overlay 1 on an input to trigger it to appear on ScreenA, and output2 to appear on ScreenB. Is this possible to do? Or is there a simpler way to achieve what I am trying to do?

virtualset.PNG (1,022kb) downloaded 11 time(s).
matkeane  
#2 Posted : Friday, October 9, 2020 7:17:29 PM(UTC)
matkeane

Rank: Advanced Member

Groups: Registered
Joined: 10/6/2020(UTC)
Posts: 98
France

Was thanked: 21 time(s) in 21 post(s)
Hi, I think using mixes is a simpler approach than using overlays, and will be more flexible if you need to reposition things.

To get around the missing auto-play when using a mix, have you tried adding a trigger to your sources?
thanks 1 user thanked matkeane for this useful post.
HoverJackal on 10/13/2020(UTC)
HoverJackal  
#3 Posted : Sunday, October 11, 2020 12:53:54 AM(UTC)
HoverJackal

Rank: Member

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

Thanks: 4 times
Hi Matkean,

I just tried to drive into triggers to make this happen, but I cant seem to get them to work. From what I know about triggers they need to be on the input that is being outputted, so I tested the following triggers on all of my virtual set inputs.

Mix 2 - OnTranstionIn | Play | Active | 500 | 0 |
Mix 3 - OnTranstionIn | Play | Active | 500 | 0 |

I also tested OnCountdownComplete instead of TranstionIn.

My hope was that by transitioning from one scene virtual set to the other it would start playing the input that was active in Mix2/3, but this doesn't seem to be the case, and if this did work I would always need to transition to another angle to start playing the next clip.

I've uploaded my proof of concept work so far, with some sample video clips here: https://drive.google.com...JCiWUoz/view?usp=sharing if anyone knows a better way to set up these triggers.
IceStream  
#4 Posted : Monday, October 12, 2020 12:01:26 AM(UTC)
IceStream

Rank: Advanced Member

Groups: Registered
Joined: 3/7/2012(UTC)
Posts: 2,600
Man
Location: Canada

Thanks: 33 times
Was thanked: 501 time(s) in 470 post(s)
@ HoverJackal

You need to "Play" the desired Video Input, not the "Active" Input, the mini "Mix" Inputs are not relevant in that respect.
As per your google drive preset, I am not sure I fully understand your requirements, but on Input #1, try the following Triggers:
OnTransitionIn | Play | 7 Bear6.mp4
OnTransitionIn | Play | 10 Triangles_1_1.mp4


Ice
thanks 1 user thanked IceStream for this useful post.
HoverJackal on 10/13/2020(UTC)
HoverJackal  
#5 Posted : Tuesday, October 13, 2020 5:12:15 AM(UTC)
HoverJackal

Rank: Member

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

Thanks: 4 times
The things is I do not want to just play those specific clips, I want whatever is shown as Output in Mini Mix 1 and 2 to be autoplayed when the mini mixes are transitioned.

Inputs 1-4 are all my "camera views" showing different angles of my virtual set. All of the content needs to be synced across all the "camera views" and I want use mini mixes 2 and 3 to easily transition what is on the screens. If I did

OnTransitionIn | Play | 7 Bear6.mp4 trigger

it will only play that one video, not what is active in Mix 2 or 3, and if I do this for every single clip that I plan on having which will be many it will play all X clips simultaneously and only when I transition to a different virtual set camera angle, not when I transition a mini mix.
quadjojo  
#6 Posted : Tuesday, October 13, 2020 5:36:12 AM(UTC)
quadjojo

Rank: Newbie

Groups: Registered
Joined: 10/13/2020(UTC)
Posts: 2
Germany
Location: Munich

Was thanked: 1 time(s) in 1 post(s)
Hey there!
Im exactly in the same Situation.
A mini Mix looks like the most elegant Solution for Virtual Studio Screens.
But i also didn't find a simple way to launch Videos and enable Audio automatically yet.
Also videos should be easily exchangeable.
Best regards
Toby
thanks 1 user thanked quadjojo for this useful post.
HoverJackal on 10/13/2020(UTC)
HoverJackal  
#7 Posted : Tuesday, October 13, 2020 12:44:52 PM(UTC)
HoverJackal

Rank: Member

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

Thanks: 4 times
The only other solution that seems usable is running 3 instances of vMix and using NDI output to output to each screen, but this seems so cumbersome and when I have live callers they will only be able to appear on one screen not both. There has to be a better way to implement this.
dmwkr  
#8 Posted : Wednesday, October 21, 2020 4:18:33 AM(UTC)
dmwkr

Rank: Advanced Member

Groups: Registered
Joined: 2/23/2019(UTC)
Posts: 509

Thanks: 62 times
Was thanked: 118 time(s) in 107 post(s)
Ok, I tried to put that into a script. The following script has to run constantly in the background. It checks for the active input of Mix 2. If it is a video, it will turn its audio on, play it, wait for the duration of the video and then cut Mix2 to preview of Mix2. (Warning: If you manually cut or change the active input of Mix2 while the video is playing, it will still cut to preview after the duration.)

Disclaimer: I'm a Scripting Dummy, not a programmer. ;-) So, this is probably not the most elegant solution. If anyone sees a problem in the script, feedback is always welcome.


Code:
dim mix2active as string = ""
dim mix2newactive as string = ""
dim type as string = ""
dim duration as string = ""

do while true

  dim xml as string = API.XML()
   dim x as new system.xml.xmldocument
   x.loadxml(xml)

' Get original active input
mix2active = (x.SelectSingleNode("//mix[@number='2']//active").InnerText)

' Check if original active input is still active
Do 
   dim yml as string = API.XML()
   dim y as new system.xml.xmldocument
   y.loadxml(yml)

   ' Get current active input
   mix2newactive = (y.SelectSingleNode("//mix[@number='2']//active").InnerText)

   sleep(50)

Loop while mix2newactive = mix2active

' Check if new active input is video
type = (x.SelectSingleNode("//input[@number='"& mix2newactive &"']/@type").Value)
if type = "Video"
  API.Function("AudioOn",Input:=mix2newactive) 'Turn Audio On
  API.Function("Play",Input:=mix2newactive) 'Play Video

  ' Get duration of video and wait
  duration = (x.SelectSingleNode("//input[@number='"& mix2newactive &"']/@duration").Value)
  Sleep(duration)

  API.Function("Cut",Mix:=1) 'Cut to Preview of Mix 2
  API.Function("AudioOff",Input:=mix2newactive) 'Turn off Audio
  API.Function("Restart",Input:=mix2newactive) 'Restart Video
End If

Loop

thanks 1 user thanked dmwkr for this useful post.
HoverJackal on 10/21/2020(UTC)
HoverJackal  
#9 Posted : Wednesday, October 21, 2020 4:41:29 AM(UTC)
HoverJackal

Rank: Member

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

Thanks: 4 times
Thank you so much dmwkr! This seems to be exactly what I needed. I have no experience in scripting or programming but this solution seems great. I owe you a beer or a coffee :)
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.