FieldStation42 icon indicating copy to clipboard operation
FieldStation42 copied to clipboard

Inject "news bulletin" style interruption video?

Open StevewHiggs opened this issue 7 months ago • 7 comments

Hi there,

TLDR; a bulletin.socket file or something for injecting a video? FieldStation could watch that socket file for a video path, and "interrupt" I suppose it'd be essentially the same as changing a station but to the start of a file, then upon file complete, return to regularly scheduled programming?

Details as to why I would like to try this:

The way I'm using FieldStation42, I have tied it into Home Assistant (using some python and MQTT to change channels and report back current channel etc) and I have all my TVs and FM radios (FM transmitter connected on the audio line out to the RF modulator) able to listen and watch. So any room can hear, watch, or control the station via home assistant etc.

My request is, I'd like to inject over top of whatever is playing, I suppose each config could have an "allow_interrupt" or something, but for me, the purpose would be to inject "Special news bulletin, This just in, Steve is arriving home!!" with some ridiculous video I'll make... When my Home Assistant detects me arriving in the area, it can publish to the MQTT broker a "Steve_home" command which is watched by a python script running along side FieldStation42, this script can watch for the command and write to the bulletin.socket file, which FieldStation42 could see, run the video, blank out the file, and upon completion, return to channel programming.

First time GitHub issue submission, I hope this is where a feature request goes! if now please let me know. THANKS! I love this project!

StevewHiggs avatar May 24 '25 16:05 StevewHiggs

Interesting feature - and yes, you've come to the right spot! We have something similar on the roadmap that would probably give us most of this: #68 - this feels like another kind of forcible event. I am going to make this ticket a subtask of that so that we can consider these requirements in the implementation.

shane-mason avatar May 24 '25 16:05 shane-mason

Love this idea. Maybe we can support overlay marquees in the osd that can display messages on top of your content.

I'm imagining an endpoint that optionally:

  • Overlays a (configurable, themeable) text marquee
  • Mutes the playing content
  • switches the playing content to a preexisting video
  • switches the content to a stream (eg video from the doorbell) for a set amount of time
  • Maybe can limit which station it's displaying on, which option to overlay on all stations.

keegano avatar May 24 '25 16:05 keegano

Thanks guys! @keegano The marquees! I didn't even... you know what's funny is a made an LED matrix display under my TV for FieldStation42 (connected to a separate pi), as you advance channels it shows the number and then the corresponding name of the channel. This is done through Home Assistant as well.. And it indeed shows "Steve's home!" or "H2O Replenishment reminder!" etc throughout the day, but how I missed the obvious concept of adding a marquee to the TV signal instead of making an LED display.. haha!

@Keegano, thanks for the fantastic points, I love this idea, and thank you @shane-mason for all of this. It's really inspired a lot of things on my end and positively affects my every day at home.

StevewHiggs avatar May 24 '25 16:05 StevewHiggs

A "severe weather" or "school closing" type lower thirds scrolling marquee is a great idea. I'd also love to hear how you connected all your TV's to your pi via Home Assistant!

AnimMaDeR avatar May 27 '25 11:05 AnimMaDeR

FWIW text overlays in the lower third of the screen are most often referred to as "chyron", at least in the US. Here's some more information on the terminology: https://en.wikipedia.org/wiki/Lower_third

One thing I can think of is hooking Home Assistant into it to be able to display notifications.

madrobby avatar May 29 '25 20:05 madrobby

Yeah regarding home assistant, I have my little pi with the matrix display subscribed to an MQTT topic, and when there's a value it shows it, otherwise it reverts to the time.

This gives the visual feedback based on fs42 status.

Details if interested:

So a python script on my FS42 pi watches the status socket of FS42, and on update it publishes to MQTT, then a home assistant automation is subscribed to that topic and on update it sets a the corresponding channel name and number on an input_select helper, and that sets off the automation of setting an input_text helper with the channel name.

The pi with the matrix display then shows whatever that text helper has in it (again thanks to MQTT)

It's very round about but it allows for any of my automations to work with the current channel or send random messages to the display etc.

Having the FS42 pi subscribed to my pi's selected Channel also means I can change the channel with things like my Harmony remote etc.

EDIT: I realize @AnimMaDeR you asked about the TVs too not just the HomeAssistant MQTT stuff.

For the TVs in the apartment: FS42 is playing on a Pi4 with composite out through the 3.5mm av port. That goes into an old VCR (picked one up at a local hockshop for this). The VCR is just acting as and RF modulator to take composite video and modulate it out coax to my home.

Each room in my apartment has a coax connection on the wall from the old days of cable. I disconnected the building's cable where it comes into my apartment, and instead connected the vcr as the source instead. So now each room has coax FS42, and since we can change the channels through the harmony or HA buttons, we can change the channel from any room and it is visible on all tvs and over the FM radios (FM transmitter split from the audio chain to the VCR)

StevewHiggs avatar May 29 '25 21:05 StevewHiggs

I think with the Osd now, if you have built some triggered hook (from home assistant or anything) that updates play_status_socket to whatever message you want, then it would show up on the poll interval. Would be fairly quick to implement it if you just need text on screen ad-hoc.

just need a new value for the message. "Alert" : "I'M HOME"

ekalkst avatar Jun 01 '25 02:06 ekalkst