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
engelschall  
#1 Posted : Saturday, June 18, 2022 5:47:54 AM(UTC)
engelschall

Rank: Advanced Member

Groups: Registered
Joined: 3/7/2022(UTC)
Posts: 71
Germany
Location: Munich

Was thanked: 32 time(s) in 17 post(s)
We currently have to produce a greenscreen-based production with multiple physical(!) 4K PTZ cameras and we are puzzled what the best input setup is within vMix to get especially the required virtual(!) PTZ functionality working -- to both provide multiple Full-HD virtual camera angles again and also to be able to ad-hoc adjust (with a joystick or with keystrokes) those virtual camera angles in case persons move their positions unexpectably during the event.

First, for replacing the physical greenscreen background we've already created a 3D model in Blender which simulates the room dimensions and camera positions/directions and which allows us to render multiple static images of the virtual background, one for each physical camera angle. But what is now the best input setup for vMix to assemble those 4K virtual backgrounds and the chroma-key'ed 4K camera views, cut out multiple Full-HD virtual camera angles and be able to do virtual PTZ on them?

The only working possibility we found until now is the following input setup:

- CAMx: "Camera" inputs for the multiple 4K cameras
- CAMx-CK: "Virtual Input" for each "Camera" input with chroma-key enabled
- CAMx-BG: "Image" input for each virtual background for a particular physical camera angle
- CAMx-x: "VirtualSet" (Blank) inputs for each virtual camera angle, with CAMx-BG on layer 1 and CAMx-CK on layer 2
- keys in Companion for performing SetPanX/SetPanY/SetZoom on the "CAMx-x" virtual sets for ad-hoc virtual PTZ functionality

This particular setup now works, but we're puzzled. Our particular questions are:

1. very limited Virtual PTZ: the "Virtual PTZ" functionality of vMix inputs (under input Settings / PTZ) seemed to be the obvious solution, as it works very similar to the physical PTZ functionality, creates virtual inputs for each PTZ setup and especially through the PTZXxx API functions can smoothly scroll to a PTZ position. But "Virtual PTZ", as it looks like, does not work for any regular inputs with any layers at all. It only operates on the "main" content layer of an input. So, "Virtual PTZ" seems to be intended only for "Camera" inputs of higher resolution where you want to cut out a lower resolution viewport. But this doesn't help at all for greenscreen-based setup where both a background and(!) a chroma-key'ed camera content has to be PTZ'ed in parallel. Is this correct or do we overlook something and "Virtual PTZ" can be used for greenscreen-based setups?

2. very limited Virtual Set: the "VirtualSet" inputs provide an alternative way of virtual PTZ, but cannot be controlled from a joystick or keyboard with the PTZXxx API functions and instead only with SetPanX/SetPanY/SetZoom API functions. As a consequence, without extra scripting, one cannot smoothly perform ad-hoc virtual PTZ during the event. You only can select the VirtualSet position presets and they PTZ smoothly theirself, but you cannot do smooth ad-hoc joystick/keyboard PTZ. Is this correct or do we overlook something and a "VirtualSet" can perform a smooth ad-hoc joystick/keyboard PTZ?

3. no easy layer mixing: the whole trouble is that except for the heavy-weight instance-limited (max 3) "Mix" inputs, no input except "VirtualSet" seems to be able to provide any virtual PTZ functionality on multiple layers. Is this correct or do we overlook something and one can "merge" layers to the main content of an input, so "Virtual PTZ" or VirtualSet-like virtual PTZ functionality can be applied?

So, perhaps someone can shed some light on us, as we are unsure whether our explained vMix input setup is really the "right" way to do greenscreen-based productions with ad-hoc virtual PTZ functionality. Because it looks strange that the "Virtual PTZ" and the "Virtual Sets" are such limited and that only "Mix" inputs can aggregate layers for further processing...

engelschall  
#2 Posted : Saturday, June 18, 2022 10:07:01 AM(UTC)
engelschall

Rank: Advanced Member

Groups: Registered
Joined: 3/7/2022(UTC)
Posts: 71
Germany
Location: Munich

Was thanked: 32 time(s) in 17 post(s)
Until we get hints how to use a Virtual PTZ for greenscreen-based setups, we seem have to stick with the VirtualSet and its Position and use the SetPanX/SetPanY/SetZoom API functions for ad-hoc performing virtual PTZ operations on it. To roughly emulate the smooth transitions of Virtual PTZ and the VirtualSet presets, here you now can find my script for smoothly performing the ad-hoc virtual PTZ operations on an input. We've now bound it to 12 StreamDeck keys and this (with the mentioned vMix input setup) at least allows a decent ad-hoc virtual PTZ in our greenscreen-based production. Perhaps someone else will find a better way, but until this happens, we've at least a solution and hand... Nevertheless, we are still interested on answers to the above three questions...
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.