Newbie here: Need help with playing local video files on demand

EdK

Member
Hello! Newbie here. I don't understand how to start scenes 'on demand'. To explain further:

I want to stream live with a webcam and during the stream I need to play pre-recorded video files. There may be instances where I need to play 2 or 3 video files simultaneously. Each are only 1-3 minutes long and will not be shown again during the livestream but I will need to play other video files later on in my broadcast. I have not yet attempted to stream. I am only testing as recommended.

My understanding is that what 'scenes' are for but I can't seem to get it to work right. Here's how I have things setup now:

Scene 1: Live webcam only
Scene 2: Live webcam and play video file 1 (appearing on screen at the same time)
Scene 3: Live webcam only
Scene 4: Live webcam and play video files 2 & 3 simultaneously (appearing on screen at the same time)
Scene 5: Live webcam only

In each of the scenes I've created, I have my webcam as a source. In scenes 2 and 4, I have added each of the video files as a source.

I start OBS with Scene 1 and it plays fine (webcam only). I select Scene 2 at the appropriate time but the video file does not play but the webcam is still active. However, if I exit OBS and restart it (with Scene 2 being the last scene I selected before exiting), my webcam is active and video file 1 begins to play. When video file 1 (in Scene 2) completes, I select Scene 3 and I get my webcam as expected, I then select Scene 4 and nothing changes. Only the webcam is active. The video files don't play. But if I exit and restart OBS (with Scene 4 being the last one that was selected), the webcam and both video files are displayed as expected.

I'm sure I've got something setup wrong but I am at a loss as to what I don't have setup correctly.
--OR-- am I going about this the wrong way?

Again, I'm a newbie to OBS.

Thanks for any assistance!

Ed
 

koala

Active Member
All active sources begin to show what they are configured for in the moment they become active. This is on program start with existing sources, if you add a a new source, or if you make a source active that was previously made inactive (click on the "eye" icon on the source list to toggle).
This is independent of the scene a source is in. It's true for sources in the active scene as well as sources in any other scenes.
For webcam sources, this means they show the webcam image.
For media sources, this means playing the linked media.
So all your active media sources begin to play immediately after your add them, or when you start up OBS.

To have a bit of control over media sources, there are two options in the media source options: "Loop" and "Restart playback when source becomes active".
If you activate "loop", the media begins to start again after it has finished.

If you activate "Restart playback wehen source becomes active", you get some kind of start on demand feature. Activate this option and make a media source inactive by clicking on the eye icon. If you now click on the eye icon, the source becomes visible and begins immediately playing from the beginning. If you want to finish the playback, click again on the eye icon. Keep the standard state of such a source as inactive during your stream, and if you want to show that movie, activate the source by clicking on the eye icon. Make it inactive again when it has finished.

If the only difference in all your scenes are the movies, you can as well use only one scene and add all media source on top of themselves and make them all inactive. Then only make the source active you intend to show now, and make it inactive again if it has finished. With the above option, they all start at the beginning if they become visible.

This option will also change the behavior of the media source if it isn't in the active scene. It will make the media source stay dormant and begin playback if you change to its scene.
 
Last edited:

EdK

Member
Hi Koala,

Just wanted to thank you for your help. Just what I needed. Took a bit of getting used to how OBS functions.
I implemented this using scenes.

Rf
 
Top