How to automatically display song titles in OBS based on a schedule?

deaneeBoi

New Member
Do the Dj's have a time slot, say 9 to 9:30 am, i.e. do we know how much time they are going to be on air? Does NOALBS detect when a new DJ starts to broadcast and then switch back to that channel, so that everything is sort of dynamic.? Basically, you are just playing mp3s, no video? i.e. are you recording the image of the dj, along with the music?
Yes NOALBS detects the DJ Connection and switches to his scene. Once he Disconnects NOALBS reverts back it Auto DJ (Offline) and the media playlist source is activated within the "Auto DJ Scene)

Each DJ does a 1 or 2 hour set and whilst we have a schedule for listener purposes, A DJ can fill empty voids with extra shows when they wish to.

All of our DJs steam with video bar maybe one or two of them.

The filename currently includes the Scene name (DJ name) Date, Day, Month, Year and time in which they started streaming.
 

deaneeBoi

New Member
Do you break each DJ session into clips, with the song name - etc, or do you just want the dj name, date but no song names?
No we don't want the song name as there may be 26 - 35 tracks within a show so we wouldn't want that displayed.
 

bcoyle

Member
No we don't want the song name as there may be 26 - 35 tracks within a show so we wouldn't want that displayed.
ok, do the djs start and end their streams on time in the 1 to 2 hour blocks, i.e. you know ahead of time that it will be 1 hour . Do you edit the saved files name after being recorded for Scene name (DJ name) Date, Day, Month, Year and time in which they started streaming or are the filenames in the correct format when saved. On your website or YT channel? do the users get a tv guide listing of when and what DJs are going to play during the week?
 

deaneeBoi

New Member
ok, do the djs start and end their streams on time in the 1 to 2 hour blocks, i.e. you know ahead of time that it will be 1 hour . Do you edit the saved files name after being recorded for Scene name (DJ name) Date, Day, Month, Year and time in which they started streaming or are the filenames in the correct format when saved. On your website or YT channel? do the users get a tv guide listing of when and what DJs are going to play during the week?
We don't currently send the files anywhere but we are soon going to start uploading them to our mixcloud channel for podcasts.

The reason we want the filename read and displayed is so that during replays, the listener will know what DJ recorded the show and on what date and time.
 

deaneeBoi

New Member
We don't currently send the files anywhere but we are soon going to start uploading them to our mixcloud channel for podcasts.

The reason we want the filename read and displayed is so that during replays, the listener will know what DJ recorded the show and on what date and time.
That said, I need to work out the Mixcloud API first this stuff is all well out of my depth.
 

bcoyle

Member
We don't currently send the files anywhere but we are soon going to start uploading them to our mixcloud channel for podcasts.

The reason we want the filename read and displayed is so that during replays, the listener will know what DJ recorded the show and on what date and time.
I like your solution, dDJ early or later, doesn't matter. So close. At this point, not sure what to tell you. my APP (Casttor) will do all that and more, BUT if the DJ doesn't show up on schedule, you get what ever the scene is showing (black). Casttor schedules by time., it does bugs,logos,ads,p[sa,clips , fill,all sorts of good stuff. We can talk more if you like.
 

AaronD

Active Member
The reason we want the filename read and displayed is so that during replays, the listener will know what DJ recorded the show and on what date and time.
Is the live show interactive? If not, can you prerecord it, put everything on in post that needs to be there, and then just play the one big file?

Or, if the DJ knows the set already, can (s)he or a second operator have it all set up to key through manually during the set?

If it's improv or listener-interactive, it creates another set of issues. Mostly, the live crew has to have all of the *possibilities* set up already (not just a set list) and key them manually, or you need a really good automatic content detector. Probably better in that case to prerecord, add it in post, and then play the one big file.

---

Thinking some more, I wouldn't be surprised if there were something for Linux - probably a command-line tool as these things usually go, since "behind the scenes mechanics" and "eye candy" are completely different skill sets - or several of them that you can cobble together, to:
  1. Accept a file to play.
  2. Extract the metadata from that file into a text file that OBS's Text source can read.
  3. Play the content of that file to a virtual loopback that OBS can pick up as an audio source.
This may or may not involve VLC, standalone ffmpeg, or any number of other tools, *entirely outside of OBS*. OBS would only get plain text and already-decoded audio, both to pass through verbatim. Your previous problems with OBS's VLC source would probably be irrelevant too, even if you use the standalone VLC player, because they're not exactly the same thing. Maybe the same file handling, but the problem could be in the control, which would be different for this method.

That said though, I've also seen a very rare occasion, but it does happen, where the standalone VLC player panics on start and closes again. The second start always works, but how is a software controller supposed to know that it needs to do that? Yes, there are ways, but it adds a fair amount more complexity. That's probably a bug report to VLC, not to OBS...if the problem can be reproduced reliably enough to demonstrate, which so far, I can't do.

So, you might look at the Music Player Daemon (MPD) instead:
It's a standalone Windows and Linux audio player (I've only used it on Linux myself) with no user interface whatsoever. It's controlled entirely by network commands and a config file, nothing else. And separately from that, there's an entire zoo of control apps that can talk to it, both graphical and command-line.
I believe it even prints the metadata somewhere, in addition to playing the file, so if you can grab that somehow and send it to OBS, you might be all set!
 

deaneeBoi

New Member
Is the live show interactive? If not, can you prerecord it, put everything on in post that needs to be there, and then just play the one big file?

Or, if the DJ knows the set already, can (s)he or a second operator have it all set up to key through manually during the set?

If it's improv or listener-interactive, it creates another set of issues. Mostly, the live crew has to have all of the *possibilities* set up already (not just a set list) and key them manually, or you need a really good automatic content detector. Probably better in that case to prerecord, add it in post, and then play the one big file.

---

Thinking some more, I wouldn't be surprised if there were something for Linux - probably a command-line tool as these things usually go, since "behind the scenes mechanics" and "eye candy" are completely different skill sets - or several of them that you can cobble together, to:
  1. Accept a file to play.
  2. Extract the metadata from that file into a text file that OBS's Text source can read.
  3. Play the content of that file to a virtual loopback that OBS can pick up as an audio source.
This may or may not involve VLC, standalone ffmpeg, or any number of other tools, *entirely outside of OBS*. OBS would only get plain text and already-decoded audio, both to pass through verbatim. Your previous problems with OBS's VLC source would probably be irrelevant too, even if you use the standalone VLC player, because they're not exactly the same thing. Maybe the same file handling, but the problem could be in the control, which would be different for this method.

That said though, I've also seen a very rare occasion, but it does happen, where the standalone VLC player panics on start and closes again. The second start always works, but how is a software controller supposed to know that it needs to do that? Yes, there are ways, but it adds a fair amount more complexity. That's probably a bug report to VLC, not to OBS...if the problem can be reproduced reliably enough to demonstrate, which so far, I can't do.

So, you might look at the Music Player Daemon (MPD) instead:
It's a standalone Windows and Linux audio player (I've only used it on Linux myself) with no user interface whatsoever. It's controlled entirely by network commands and a config file, nothing else. And separately from that, there's an entire zoo of control apps that can talk to it, both graphical and command-line.
I believe it even prints the metadata somewhere, in addition to playing the file, so if you can grab that somehow and send it to OBS, you might be all set!
MPD does seem to be a viable proposition. let me look at this and come back to you with updates and results.
 

bcoyle

Member
Iseem to think we have spoken about Casttor in the past. chest email correspondence with info@mix3r-radio.co.uk
I was thinking that what you were trying to do was similar to another person, I talked to before. Maybe that was you. Did you mean "CHECK" ? I didn't find any email in my outlook or gmail. But I do seem to remember england.
 
Last edited:

deaneeBoi

New Member
Is the live show interactive? If not, can you prerecord it, put everything on in post that needs to be there, and then just play the one big file?

Or, if the DJ knows the set already, can (s)he or a second operator have it all set up to key through manually during the set?

If it's improv or listener-interactive, it creates another set of issues. Mostly, the live crew has to have all of the *possibilities* set up already (not just a set list) and key them manually, or you need a really good automatic content detector. Probably better in that case to prerecord, add it in post, and then play the one big file.

---

Thinking some more, I wouldn't be surprised if there were something for Linux - probably a command-line tool as these things usually go, since "behind the scenes mechanics" and "eye candy" are completely different skill sets - or several of them that you can cobble together, to:
  1. Accept a file to play.
  2. Extract the metadata from that file into a text file that OBS's Text source can read.
  3. Play the content of that file to a virtual loopback that OBS can pick up as an audio source.
This may or may not involve VLC, standalone ffmpeg, or any number of other tools, *entirely outside of OBS*. OBS would only get plain text and already-decoded audio, both to pass through verbatim. Your previous problems with OBS's VLC source would probably be irrelevant too, even if you use the standalone VLC player, because they're not exactly the same thing. Maybe the same file handling, but the problem could be in the control, which would be different for this method.

That said though, I've also seen a very rare occasion, but it does happen, where the standalone VLC player panics on start and closes again. The second start always works, but how is a software controller supposed to know that it needs to do that? Yes, there are ways, but it adds a fair amount more complexity. That's probably a bug report to VLC, not to OBS...if the problem can be reproduced reliably enough to demonstrate, which so far, I can't do.

So, you might look at the Music Player Daemon (MPD) instead:
It's a standalone Windows and Linux audio player (I've only used it on Linux myself) with no user interface whatsoever. It's controlled entirely by network commands and a config file, nothing else. And separately from that, there's an entire zoo of control apps that can talk to it, both graphical and command-line.
I believe it even prints the metadata somewhere, in addition to playing the file, so if you can grab that somehow and send it to OBS, you might be all set!
This is massively over my head to install it :(
 

AaronD

Active Member
This is massively over my head to install it :(
Don't know how it is on Windoze, so you might be right over there.

It's easy on Linux: On Debian and its derivatives (Ubuntu, Raspberry Pi, etc.), sudo apt install mpd gmpc installs both MPD and a graphical control app (GMPC). Then edit the config file that is well-documented within itself, and reboot. Now MPD is running in the background with your settings, and ready to receive commands.
 

bcoyle

Member
This is massively over my head to install it :(
I think we are going a little overboard here. deaneeboi just wants a plugin that notices when a scene changes and for it to get the file name playing and update a text source. This would be a great plugin for the master edgardo.
 

deaneeBoi

New Member
Kind of on the same subject… as I’m using media playlist source, does this mean it’s ok to uninstall VLC player? Media playlist source doesn’t depend on it ?
 

bcoyle

Member
Kind of on the same subject… as I’m using media playlist source, does this mean it’s ok to uninstall VLC player? Media playlist source doesn’t depend on it ?
if you uninstall vlc, then at least on obs 27, the obs vlc source no longer works. don't know about 28,29 etc . Don't know what media playlist source uses. A question. How does a DJ get their stream to you.? I find this very interesting.
 

deaneeBoi

New Member
if you uninstall vlc, then at least on obs 27, the obs vlc source no longer works. don't know about 28,29 etc . Don't know what media playlist source uses. A question. How does a DJ get their stream to you.? I find this very interesting.
They stream from OBS to our server which also holds OBS.

I have set a scene per DJ and NOALBS detects the streamkey ie, dj-stream-29 and switches to scene no29. Once the dj disconnects NOALBS sees that as a loss of connection and reverts to the offline scene now called autoDJ which then uses media playlist source to play the previously recorded shows.

Hence when playing recorded shows, I want to display: DJ, Date and time of the recording. I have managed to get all of that info on the file name of the recording.
 

bcoyle

Member
They stream from OBS to our server which also holds OBS.

I have set a scene per DJ and NOALBS detects the streamkey ie, dj-stream-29 and switches to scene no29. Once the dj disconnects NOALBS sees that as a loss of connection and reverts to the offline scene now called autoDJ which then uses media playlist source to play the previously recorded shows.

Hence when playing recorded shows, I want to display: DJ, Date and time of the recording. I have managed to get all of that info on the file name of the recording.
You tell obs to switch, you must talk over a web socket???? OBS does send out status messages when it it switches sources and the videos in those sources. Maybe advance scene switcher could be set up to monitor that. Just sky bluing
 
Last edited:

bcoyle

Member
They stream from OBS to our server which also holds OBS.

I have set a scene per DJ and NOALBS detects the streamkey ie, dj-stream-29 and switches to scene no29. Once the dj disconnects NOALBS sees that as a loss of connection and reverts to the offline scene now called autoDJ which then uses media playlist source to play the previously recorded shows.

Hence when playing recorded shows, I want to display: DJ, Date and time of the recording. I have managed to get all of that info on the file name of the recording.
Ok, still thinking.
Tell me if I'm understanding this correctly:
Workflow:

1. Media playlist source is happily playing it's playlist which is older recorded dj music sets. (real files on local disc drive)
2. A dj at his scheduled time, starts a rtmp stream using his stream key that identifies him by a DJ number.
3. Your server (using a static IP) running NOALBS does an ingest.
4. It talks to OBS and tells it to switch to scene 1-36 based on that stream key

5. Scene X has a (media source,.vlc source, ?? ) that is requesting videos doing a (rtmp ??) pull request from ( ??? , NOALBS, something else). - here i don't know

6. when NOALBS detects end of stream, it switches back to autodj scene
7. Happily Media playlist source wakes up and "STARTS " a new video so that you have the introduction for the new starting video and have a smooth transition.

Could you explain step 5?

At this point, you don't know what Media playlist source is playing? and you need to know this. You want the file name to appear during autodj.

You also know that OBS when it detects a change in a text file will automatically update the field in autodj. So if you know what
Media playlist source is playing, you could write that to the filename text file and obs would take care of the rest.

Possible solutions

1. if advSS can detect a video file source change and write change to above text file. (don't know if advss Ccan do this.
2. It would be a great addition to Media playlist source if in the config file, you could have it write the current name to the video name text file.
3. On your server, you listen to OBS status message and decode a video shange and you write the change to that file.

I think that solution 1 would be the best. Maybe it can do it already. If not the author seems very responsive and it would be usable for a lot of other people.


----------------------------

If ALL you want is the filename on the screen, then if you could get 1 or 2 to work, that would be 'GOOD ENOUGH".

if you are sick and go to a surgeon, his big hammer is surgery. If a pill pusher, it's pills. Each person has a big hammer that they always wish to use. So my big hammer is casttor. But I dotry to think hard about fit. I figure that the simplest solution is the best "UNLESS" you really in the future "WANT MORE"

So currently, I have a beta user in Saco River Maine, running a 9 channel public access network for 6 local townships. 6 Channels running government stuff, like town planning meetings. The way it works, is that each town (your DJ) sends a SRT stream to where a OBS instance is listening. Another Obs/casttor pair is running a 24/7 channel with old stuff and that is streaming a SRT channel, that the first obs is listening too also. The first obs is in studio mode. The operators in the townships start streaming and when they are ready to go live, they goto the computer with their channel and screen share and (manually) switch over to their live stream. They do this manually, because you don't want to see town managers discussing nonsense or just an empty table. When done with the live screen, they switch back to the casttor channel. Of course, you catch the casttor channel in the middle of whatever it's playing (maybe not so smooth). So casttor can do all the overlays automatically. You get lots of power. Of course, you would autoswitch with NOALBS

Now casttor does have a learning curve, but it will do what you want and more. You get a wonderful scheduler (using a UI - user interface) and a great compositor. So the additional learning curve may pay off on FUTURE channels.

Basically you would be listening to the obs/casttor channel instead of the Media playlist source.

So I thought you and others might like a new discussion topic.

Still, casttor is a big hammer for a little problem. LOL


-------------------------------










I am totally in awe of your solution.

Thanks
 
Top