Automate 24/7 Stream for a scheduled Playlist

VictorM

New Member
It is intended as a 24/7 channel, we're testing a feed with Streamlabs OBS now and everything is working fine, except we can't have the in-depth playlist triggering and access required. Bootcamp is not available as we're running the whole thing on dedicated Mac Mini M1 (which in its defense, is doing an awesome job!).
 

bcoyle

Member
It is intended as a 24/7 channel, we're testing a feed with Streamlabs OBS now and everything is working fine, except we can't have the in-depth playlist triggering and access required. Bootcamp is not available as we're running the whole thing on dedicated Mac Mini M1 (which in its defense, is doing an awesome job!).
Well, sounds like my solution is not going to fit (hardware wise) . That's life I guess. Most people in this thread have gone on to their own solutions even if not perfect or optimal. I guess you are stuck with web based solutions or streamlabs (which is supported), which isn't that bad, normally because they work across hardware and on many workstations at one time. Think Windows, lol. Once a mac guy always a mac guy. Guess the same thing applies to windows people. oh, my app can work across the lan to obs running on a different computer, but requires either a common NAS drive or all content to be mirrored on each computer. I haven't looked at share drives which would allow one copy of the video content. The program can also handle multiple broadcast tv stations and multiple copies of obs. It can generate a 1000 video custom play list with station bugs, insets,fills and ads in about a minute (if the videos in the same directory). It can keep track of episodes and whats been played before.
 
Last edited:

Tim_F

New Member
I am currently porting my project for a 24/7 Weather Channel from CasparCG to OBS. Everything seems to be working but a few hiccups in playing video. What is the correct way to start/stop a video file? I am using Visual Basic .NET with obs-websocket-dotnet, video seems to start fine when update the source. But, every now and then it will not play even thought the source has been updated in OBS when I look at it. I don't see anything out of line in the log files.
 

bcoyle

Member
I am currently porting my project for a 24/7 Weather Channel from CasparCG to OBS. Everything seems to be working but a few hiccups in playing video. What is the correct way to start/stop a video file? I am using Visual Basic .NET with obs-websocket-dotnet, video seems to start fine when update the source. But, every now and then it will not play even thought the source has been updated in OBS when I look at it. I don't see anything out of line in the log files.
WELL,WELL,WELL! You are the first visual basic .net guy other than me that I have found on obs. Welcome Tim. It would be nice to talk vb with another vb person. It's gets a little lonely (LOL).

Anyway, the simple thing to check is whether the scene is set to restart-on-visible, stop on not visible. This just restarts the video when the scene becomes visible.

There is a "RestartMedia" command in the new interface that you might want to try. I've had trouble with rerunning a video that is already there and was played before or is still playing. I send the restartmedia command followed by the behavior command to restart-stop, then make the scene visible. That seems to make the video play from the start.

So, why the change from casperCG? I assume that you had a working weather 24/7 channel on that?
 

Tim_F

New Member
WELL,WELL,WELL! You are the first visual basic .net guy other than me that I have found on obs. Welcome Tim. It would be nice to talk vb with another vb person. It's gets a little lonely (LOL).

Anyway, the simple thing to check is whether the scene is set to restart-on-visible, stop on not visible. This just restarts the video when the scene becomes visible.

There is a "RestartMedia" command in the new interface that you might want to try. I've had trouble with rerunning a video that is already there and was played before or is still playing. I send the restartmedia command followed by the behavior command to restart-stop, then make the scene visible. That seems to make the video play from the start.

So, why the change from casperCG? I assume that you had a working weather 24/7 channel on that?
Yes, I still have a working channel on the air. CasparCG consumes a lot of resources, and I would like to live stream the channel on our website, so that is why I am looking at OBS.

It look like it may be a timing issue at this point. After the media starts playing I query the duration of the clip from OBS and set my duration counter using that so I can get an accurate duration before calling the next clip.

I am updating the current scene so the other elements keep playing on the ticker I have built into the scene. I am using the RestartMedia method now in the program. I have it coded to RestartMedia after I update the media source then have a slight delay before I query the duration thinking OBS could not keep up with the commands being sent.

I am going to comment out some of the other code blocks tomorrow to see if I can get a consistent playout.
 

bcoyle

Member
Yes, I still have a working channel on the air. CasparCG consumes a lot of resources, and I would like to live stream the channel on our website, so that is why I am looking at OBS.

It look like it may be a timing issue at this point. After the media starts playing I query the duration of the clip from OBS and set my duration counter using that so I can get an accurate duration before calling the next clip.

I am updating the current scene so the other elements keep playing on the ticker I have built into the scene. I am using the RestartMedia method now in the program. I have it coded to RestartMedia after I update the media source then have a slight delay before I query the duration thinking OBS could not keep up with the commands being sent.

I am going to comment out some of the other code blocks tomorrow to see if I can get a consistent playout.
I deal a lot with the same type of things. Sometimes takes a second or two for vlc to load in a new video. If I'm playing a video in a scene, then loading in the next video in the same scene starts the video as soon as vlc gets ready. If you have two different scenes, you can run scene 1, video 1, and after it starts, preload scene 2, video 2. if behavior is set to start on visible then scene 2 , video will start correctly and you can use the fades transitions to fade between scenes nicely. If you try to have scene 1 be a black(1 second duration) and you preload during that, if the black scene is too short, like 1 second, you might catch the end of the previous video(1), before vlc has a chance to run the preloaded video.

I started my project before the media controls were available, so I go to the file system directly and get the media lengths from the file headers. That way I can plan out my playlists without dealing with obs at all.

I also ping obs to make sure it is ready for a new command. In the message ID , i set a number and a command that obs doesn't like. it sends me back an error message. I just wait for that (number in message-id) to come back before proceeding.

How about some screen shots and examples of what you are trying to do with your playlists.
 
Last edited:

bcoyle

Member
Yes, I still have a working channel on the air. CasparCG consumes a lot of resources, and I would like to live stream the channel on our website, so that is why I am looking at OBS.

It look like it may be a timing issue at this point. After the media starts playing I query the duration of the clip from OBS and set my duration counter using that so I can get an accurate duration before calling the next clip.

I am updating the current scene so the other elements keep playing on the ticker I have built into the scene. I am using the RestartMedia method now in the program. I have it coded to RestartMedia after I update the media source then have a slight delay before I query the duration thinking OBS could not keep up with the commands being sent.

I am going to comment out some of the other code blocks tomorrow to see if I can get a consistent playout.
So how did it work out?
 

Tim_F

New Member
So how did it work out?
Well I have worked out most of the bugs. I have went back and forth on using VLC and the media player.

I connected one of my Decklink cards to it to see how it looks on final output. Not quite happy with the quality of the video output compared to CasparCG.

Will have to mess with the video settings to see if there is any improvement.

But at least I do have a 24/7 working channel using OBS.
 

Tim_F

New Member
Still trying to get the video loads/plays sorted out, just may be the way OBS handles it. With that said the channel seems to be working fine. Will have to let it run on my development PC for a few days then decide whether or not to move it to the live server.

Here are a few YouTube videos of what it currently looks like.
Test 003
Test 004
Test 005

The playlist for the channel are handled by a custom scheduler I created a few years ago. New playlists are generated daily so new content and AD's can be updated.
 

bcoyle

Member
Still trying to get the video loads/plays sorted out, just may be the way OBS handles it. With that said the channel seems to be working fine. Will have to let it run on my development PC for a few days then decide whether or not to move it to the live server.

Here are a few YouTube videos of what it currently looks like.
Test 003
Test 004
Test 005

The playlist for the channel are handled by a custom scheduler I created a few years ago. New playlists are generated daily so new content and AD's can be updated.
Could you change the test videos to unlisted. They are private and I can't play them. Thanks.
 

bdluna

New Member
@bcoyle Greetings! I've been reading this thread and watching for sometime in hopes of a solution appearing sooner than later. I started a 24/7 local weather channel for Southern Tennessee and North Alabama last year. We've grown leaps and bounds and have even been picked up on a couple of local cable companies, all with by using a combination of OBS and Wirecast.

So here's my setup for "Tennessee Valley Weather" (www.tnvalleyweather.com)... Wirecast has been running as my primary "log" on a continuous loop unless there's severe weather, then we break in and go wall-to-wall. I've got Wirecast's form of a playlist, called "shots" set up in this fashion... Our Recorded Weather Show, Spots, Promo, Spots, Current Conditions, Spots, Forecast Images, Spots, all on the aforementioned loop. From there, the programming leaves via NDI to another machine running OBS and joins with our "L Bar" and then goes out to Restream.

This has worked "ok" for us but we're outgrowing what we've got, but still on a budget, and OBS is a really reliable too. It also handles our live weather cams really well, most are RTSP while others are brought in via M3U8 or YouTube for some national feeds we've got rights to or pick up from public sources.

I would LOVE to be able to schedule things hourly or, better yet, just be able to enjoy the reliability of OBS and have a good rundown for our various inputs. So I've been watching this thread religiously. haha. :D

Check out what we've got and let me know what you think. We built this out from a radio station I manage. We've been blessed... use a Baron Lynx backbone and even have our own app and doppler radar... yes, it's a real doppler that serves our area. But our streaming backbone is OBS and the devilish Wirecast which I'd LOVE to move on from. Any tips or suggestions are WELCOME!

Thanks everyone!
 

bcoyle

Member
@bcoyle Greetings! I've been reading this thread and watching for sometime in hopes of a solution appearing sooner than later. I started a 24/7 local weather channel for Southern Tennessee and North Alabama last year. We've grown leaps and bounds and have even been picked up on a couple of local cable companies, all with by using a combination of OBS and Wirecast.

So here's my setup for "Tennessee Valley Weather" (www.tnvalleyweather.com)... Wirecast has been running as my primary "log" on a continuous loop unless there's severe weather, then we break in and go wall-to-wall. I've got Wirecast's form of a playlist, called "shots" set up in this fashion... Our Recorded Weather Show, Spots, Promo, Spots, Current Conditions, Spots, Forecast Images, Spots, all on the aforementioned loop. From there, the programming leaves via NDI to another machine running OBS and joins with our "L Bar" and then goes out to Restream.

This has worked "ok" for us but we're outgrowing what we've got, but still on a budget, and OBS is a really reliable too. It also handles our live weather cams really well, most are RTSP while others are brought in via M3U8 or YouTube for some national feeds we've got rights to or pick up from public sources.

I would LOVE to be able to schedule things hourly or, better yet, just be able to enjoy the reliability of OBS and have a good rundown for our various inputs. So I've been watching this thread religiously. haha. :D

Check out what we've got and let me know what you think. We built this out from a radio station I manage. We've been blessed... use a Baron Lynx backbone and even have our own app and doppler radar... yes, it's a real doppler that serves our area. But our streaming backbone is OBS and the devilish Wirecast which I'd LOVE to move on from. Any tips or suggestions are WELCOME!

Thanks everyone!
Hi Ben. It's actually nice to talk to someone that is willing to say who they are and what they are really interested in. I've been very busy today and haven't had much time to look at your channel, but from what I can tell, pretty nice. Your channel is pretty sophisticated. If you look back thru the thread, you will see that my app is more of a public access tv model where it programs shows with big segments and then fills,ads and psas to flesh out the 30/60 desired program length. All this is automated and designed to produce 24/7 schedules that can go out months. Yours is real time mostly, so have to talk with you more. Time for bed, so will talk to you tomorrow.

See you tomorrow, Bill
 

bdluna

New Member
Hi Ben. It's actually nice to talk to someone that is willing to say who they are and what they are really interested in. I've been very busy today and haven't had much time to look at your channel, but from what I can tell, pretty nice. Your channel is pretty sophisticated. If you look back thru the thread, you will see that my app is more of a public access tv model where it programs shows with big segments and then fills,ads and psas to flesh out the 30/60 desired program length. All this is automated and designed to produce 24/7 schedules that can go out months. Yours is real time mostly, so have to talk with you more. Time for bed, so will talk to you tomorrow.

See you tomorrow, Bill
Thank you for your kind words. We are working hard to make it professional, informative, and enjoyable all while keeping it as *simple* as possible to operate behind the scenes. Everything, from our live stream, to when we have to break into programming for severe coverage was designed and built around the concept of a one man operation. You never know when/if you may be short handed for whatever reason, so I wanted a setup that was simple enough that one person could come in and start the process to go live or conduct general channel operations.
 

Attachments

bcoyle

Member
Thank you for your kind words. We are working hard to make it professional, informative, and enjoyable all while keeping it as *simple* as possible to operate behind the scenes. Everything, from our live stream, to when we have to break into programming for severe coverage was designed and built around the concept of a one man operation. You never know when/if you may be short handed for whatever reason, so I wanted a setup that was simple enough that one person could come in and start the process to go live or conduct general channel operations.
Hi Ben. Was looking at your station a little more. I labeled a screen capture of your station. Could you tell me about where the individual elements come from. Am trying to picture, how my app would (could?) duplicate this
wearther 2.jpg
 
Last edited:

CharlieV

New Member
Hello,

I have been using DPO-100 playout free Software. Features include multiple playlist, schedule time to play playlist, video clip, picture or ip input, loop playlist. DPO-100 is HDMI output only, so you would need a second monitor or a HDMI terminator (depending on your video card output). That second window output is captured and added in OBS and goes on air. I also use a Decklink Duo Card for OBS output to broadcast. (install Decklink Plugin). Hope this helps and may simplify your setup a bit. I was using VLC and adding saved playlist but I didn't get the control I get with DataVideo DPO-100.
 

bcoyle

Member
Hello,

I have been using DPO-100 playout free Software. Features include multiple playlist, schedule time to play playlist, video clip, picture or ip input, loop playlist. DPO-100 is HDMI output only, so you would need a second monitor or a HDMI terminator (depending on your video card output). That second window output is captured and added in OBS and goes on air. I also use a Decklink Duo Card for OBS output to broadcast. (install Decklink Plugin). Hope this helps and may simplify your setup a bit. I was using VLC and adding saved playlist but I didn't get the control I get with DataVideo DPO-100.
Hi Charlie. Welcome to our thread. As you can tell, we are a bunch of people interested in 24/7 automation. The great thing is that everyone brings a little more knowledge to the the table. If you have a SDi output card, I'm assuming you aren't broadcasting over the internet? Anyway, tell a little about what you're doing.
 
Top