bitfocus / companion-module-studiocoast-vmix

Studiocoast vMix module for Bitfocus Companion
MIT License
32 stars 10 forks source link

3.0.0 RC Overlay with video file blocks other actions until video has ended #212

Closed PeterLawrence1 closed 1 year ago

PeterLawrence1 commented 1 year ago

Describe the bug When using an overlay with a source that is a .mp4 file, other actions are blocked/cannot change input until video has completed

To Reproduce

  1. add a few inputs as well as a .mp4 file
  2. overlay the .mp4 file
  3. try to change input, input does not change unless the video has ended

I have also had this with a button with multiple actions, if there is an overlay with a video, no other button or action will work until the video has ended. This prevents other actions in this button from completing

Expected behaviour Overlay should not effect the ability to select a new action. Have tested using a .png file and same issue does not occur

System (please complete the following information):

Additional context error: Feedback check failed: {"id":"4JrNmA5TfHWQhqZjk2gXI","controlId":"bank:1-2","feedbackId":"inputPreview","options":{"input":"Lindley","mix":0,"fg":0,"bg":65280,"tally":""},"disabled":false,"image":{"width":72,"height":58},"page":1,"bank":2,"referencedVariables":null} - Call timed out Error: Call timed out at e.IpcWrapper.sendWithCb (/opt/companion/bundled-modules/studiocoast-vmix/main.js:2:592932) at e.FeedbackManager. (/opt/companion/bundled-modules/studiocoast-vmix/main.js:2:607732) at Object.parseVariablesInString (/opt/companion/bundled-modules/studiocoast-vmix/main.js:2:601560) at m.parseOption (/opt/companion/bundled-modules/studiocoast-vmix/main.js:2:92734) at Object.callback (/opt/companion/bundled-modules/studiocoast-vmix/main.js:2:67333) at /opt/companion/bundled-modules/studiocoast-vmix/main.js:2:601822 at runNextTicks (node:internal/process/task_queues:60:5) at process.processImmediate (node:internal/timers:447:9)

thedist commented 1 year ago

I'm not able to reproduce your issue, and looking at the error you've posted it appears it's timing out when trying to parse the input option for any variables that may be in it, which I don't see how it could relate to you playing an mp4.

PeterLawrence1 commented 1 year ago

I've just done a completely new show and gone through adding 1 input at a time to see where this starts happening. I think it's more down to the number of inputs being used within vMix

The action in the main video inputs is - Input - Send Input to Preview Feedback on the main video inputs are - Tally Preview State and Tally Program State

Actions on the input I am overlaying - Overlay Functions - Toggle Overlay 2 on Program & same again with a delay of 10500 Feedback on the input I am overlaying - Tally - Overlay state

After 50 inputs, when I overlay a video, pressing a button to move an input to preview does not happen, feedback does not change, once the video has ended, button presses return to normal. Feedback is slower, can take upwards of 1 second.

Using an image file as an overlay does not seem to lock up buttons but presses take over a second to action and feedback even longer

I've got shows that have more than 200 inputs

I updated to the beta version last night as well to try the latest version of the module, same issue

thedist commented 1 year ago

What is the resource usage on your Raspberry Pi like when these issues happen? It sounds like you're running into a limitation of the device itself. If that is the case you may need to change the configuration for your instance of the vMix Companion module and slow down have frequently it's polling the API and see if that improves the situation.

PeterLawrence1 commented 1 year ago

We're not seeing any resource limitation on the pi increased polling time but did not improve the issue

have reverted back to 2.4.1 as this has no issues

thedist commented 1 year ago

Are you able to share a vmix bundle that you're having issues with? I'm not able to reproduce this issue even with a excessive number of inputs, although I have Companion running on a proper machine and not a Raspberry Pi so it is hard to compare

The issue you're having with parseVariablesInString timing out has a 5s timeout on it, which should be impossible to reach under usual circumstances, and with some of the largest events in the industry having been running 3.0 for many months now without issues it's hard to pinpoint where your issue may be without a bundle to test with.

PeterLawrence1 commented 1 year ago

Will email on Monday when I'm back at our studio with a link to a folder for you to download and test I'll also send the Companion config, I did try it with everything but vMix turned off incase it was another module

Have replicated on 2 different machines earlier, both raspberry pi's and hoping to test with a MacBook Monday morning

PeterLawrence1 commented 1 year ago

I've managed to test with an Apple Silicon Macbook Air and can confirm that I cannot replicate the issue so I suspect you are correct with the pi's not being up to it, although neither of the 2 we have show significant usage that would slow them down.

Additionally, an issue I have with another module (as do others) does not occur with the mac so I am also wondering if there is a specific linux issue for timeouts

PeterLawrence1 commented 1 year ago

I'm going to go with this is our Pi's Mac is processing everything completely fine

Thank you