[ANSWERED] Creating an Interactive Video Booth – Pre-recorded Questions & Response Capture
-
Hi everyone,
I’m working on a project in Isadora to create an interactive video booth. The concept is to play pre-recorded video questions and then record the participant’s video response directly after the question plays. Does this sound possible to do in Isadora and has anyone got any examples of this?
Many thanks!
-
It is quite easy to do using the Capture Camera to Movie Actor. I can make you an example, but some more details would be helpful, because the tricky thing here is neither playing a video nor recording the response, but rather the more complex part will be the logic of how to trigger the question video to play and building the logic for whatever it is that you want to do with the answer after it is recorded, as well as preventing certain actions from being possible to trigger during other actions (example: you likely don't want whatever the triggers the playing of the question video to be triggerable 1) when playing the question video, 2) when question video has played and we're waiting to record the answer video, 3) when recording the answer video, 4) when playing the answer video).
- What is triggering the video question to play?
- Is a random question played?
- The Shuffle actor makes it easy to pick a random question video. This example file of mine that shows various ways to select random media and random durations should be helpful.
- Do you want the participant to be able to choose from a number of different questions?
- Option 1: Use Shapes and Text Draw actors to make target areas on a Stage shown on a secondary touchscreen display, then use a Stage Mouse Watcher and Inside Range actors to make trigger areas for the questions that trigger a specific question once someone touches the display in the location of the shape with that question's text is shown.
- Option 2: Use a Control Panel with Button Controls and a touchscreen display (though giving the public access to the main display is not advisable)
- Is it a sensor that triggers a random video question when it detects someone?
- Sensor options:
- Quick and dirty solution for a sensor is Video In Watcher > Calc Brightness > Inside Range to trigger something when there's a significant change in the brightness of what the camera can see, i.e. when someone puts their face in front of it. (Skin color doesn't matter, you can define the upper and lower bounds based on what the Calc Brightness's output when the camera sitting idle with nobody in front of it, then use the "exit" output on the Inside Range actor to trigger something when the Calc Brightness registers a value that leaves the set range.)
- Another option would be to go Video In Watcher > Eyes (obj size output) > Comparator and trigger something when it sees an object of sufficient size.
- Another option would be to use the Freeze background removal method from this motion tracking tutorial of mine (I think the Scene is near the end) to be able to easily tell when somebody is in front of the camera.
- Sensor options:
- Is a random question played?
- What are you doing with the videos you record of the participant's answer(s)?
- Is it played back to the same person, then recorded over for the next participant to do the same thing for them?
- Is it added to a bank of answers for that specific video question and selected at random to show to another participant once they give their own answer to that question?
- Is it being added to a looping idle mode where if nobody triggers the installation for a while, it plays a random question by itself, then plays one of the random answers it has recorded?
- What is triggering the video question to play?
-
Thank you so much for the detailed explanation and all the great options you’ve provided! On reflection, I think I’d like to keep this project simple for now, as my initial question may have been a bit more complicated than necessary. For now, I’m aiming to create a straightforward video booth in Isadora where a random question video plays when triggered, and the participant records their answer. I’ll focus on expanding functionality later once the basics are solid.
To clarify:
- Triggering the question: Instead of using a sensor, I’d like the trigger to be a big red MIDI button. When the button is pressed, the system should pick a random question and play the corresponding video.
- Random question playback: I’d like the system to shuffle and pick a random question video to play each time the button is pressed. The Shuffle actor sounds like it’ll work great for this.
- Next steps: Once the question video is played, the participant records their answer, and the system saves the video. I’m not planning any advanced playback logic at the moment—just keeping things simple.
-
How does the recording of the answer stop?
- Is a countdown timer shown so they know how long they have to talk?- Does sound play or is the Speak Text actor used to indicate that the recording is done?
- Do they hold down the button to record and release it when done
- Do they press once to start recording and again to stop recording?
Another question: Do you already have the button or would you like hardware recommendations?Final question: What is your deadline?
If I have some spare time this weekend I could spend 45 minutes throwing together a prototype for you to start from (though I don’t want to rob you of the experience if you wanted to do it yourself).
-
Do they press once to start recording and again to stop recording? Yes, that’s exactly how I’d like it to work.
Hardware recommendations: I’d love some suggestions for hardware—anything you think would be reliable and suitable for this setup.
Deadlines: The deadline is pretty open, but the sooner the better!
Prototype offer: If you have time this weekend to throw together a prototype, that would be amazing and super helpful!
Thank you so much! -
hardware:
i've made interactive booths using a midi keyboard built into a wooden box, with big, satisfying wooden buttons that simply press down on one of the keys of the midi keyboard. Use a Control Watcher actor to listen for data from the Midi controller (once you've added your mdi controller in the midi setup menu)
i'm sure these days there are out-of-the-box midi buttons. you could also use a Makey Makey with a Keyboard Watcher.Maybe it would be useful to have a system with separate Rec and Stop buttons. if the one-button system gets out of sync, you could end up with long recordings of silence and not recording when someone speaks.
-
@ignitesomerset Sorry, I didn't get a chance to dig into this over the weekend. Here's what I think should be a solid starting point: play-random-question-video-record-answer-2025-01-27-4.0.7.izz
I did preliminary testing but didn't test it extensively. Feel free to let me know if there's anything that seems wildly broken.
The section at the top left of the Scene Editor is a legend that explains the color-coding I used.
Orange comments are used for things you really need to read and understand about the patch in order to use it successfully.
@dbini said:
if the one-button system gets out of sync, you could end up with long recordings of silence and not recording when someone speaks.
I addressed this in my example file.
If you start recording and don't stop the recording within 5 min (300 seconds) the end recording trigger is hit automatically.
Also in my file, if you play a question video, it ends, and then you don't start recording an answer within 90 seconds, the system resets itself back to being ready to play a new question video the next time someone presses the button.
The length of both these timeout functions can be adjusted at the bottom of the Control Panel.
Other things I addressed:
- Used the Text Draw actor to ensure participants know what to do.
- Proposed a naming scheme for the question video files so that when a video file is selected, its name is used to show its question with a Text Draw actor.
- Implemented an automated naming mechanism for the answer files that standardizes their names and ensures that the answer file names include the name of the question video they were answering. (Otherwise, since the order of the question videos is random, you'd have no quick way to tell what question was being answered by any given answer video and would have to go through and watch then rename/sort them one by one.)
- Automatically show Stages and start Live Capture upon entering the Scene.
If you want to go more bare-bones, I tried to make the patch well-annotated enough that it'd be clear what everything does so that it's easier to trim down or build upon as you see fit.
-
@woland super !!!!
-
@woland This is incredible! Thank you for all your time and knowledge, I really appreciate it. It works really really well, i've had a lot of fun creating and answering questions during my tests.