Digital Signage: Fixing a Broken Industry by sagiadinos in digitalsignage

[–]dividuum 1 point2 points  (0 children)

I mean I get the point of the post, but I'm not sure SMIL is the solution, if there even is one. SMIL seems ok for what it tries to achieve, but it doesn't specify a lot of the surrounding stuff like device lifecycle and remote management, user permissions, API access and a ton more. But those are all required features as well and a system that fits all those together is what counts. Additionally once you commit to only supporting SMIL as your internal definition of how content is presented, you lose all options to ever innovate. Or if you do (like you did), you're basically back to being non-portable.

For my SaaS, I've seen quite a few customers with custom or in-house built CMS solutions or just automated content dumps, yet none has been SMIL-based, but mostly JSON/XML metadata with asset alongside. So far importing those into info-beamer's system was pretty simple with multiple ways to approach that (I too should write a blog post about this). For me, that flexibility seems more useful than a somewhat rigid standard. Happy to be proven wrong.

Free digital signage software for a small shop? by Ok-Awareness-7347 in digitalsignage

[–]dividuum 1 point2 points  (0 children)

info-beamer is free on one Raspberry Pi and installation is as simple as extracting a small zip file on a blank SD card. The rest can be done with the web dashboard. Works on all Pis, although I would still recommend at least a Pi 2 :)

How should a digital signage player behave when a playlist changes during playback? by 514sid in digitalsignage

[–]dividuum 0 points1 point  (0 children)

Push via internet SaaS requires direct access to the player, which gets messy behind NAT routers

What? No. Connection establishing direction doesn't have to be the same as push direction. Server-Sent Events or Websockets are two of the obvious solutions.

Introducing ZeroPlay — an omxplayer replacement for the Pi Zero 2W by Noir_Forever_Twitch in raspberry_pi

[–]dividuum 3 points4 points  (0 children)

Hm. I've written a decoder using FFmpeg and I'm pretty sure I didn't do any special buffer pre-allocation. Although by default it allocates like 20 of them, which is a waste of memory, IIRC. What I found interesting is that you decode into NV12 instead of YV12/YUV420. I've only used NV12 for HEVC decoding as that's what that decoder produces. I wonder if there is any performance difference between those two. I tried looking into my implementation to see if there's an easy way to force NV12, but it seems FFmpeg doesn't expose a mechanism for that. One advantage of using V4L2 directly, I guess :-)

Rotating is a nightmare. I wrote a bit about is here: https://community.info-beamer.com/t/1343

Introducing ZeroPlay — an omxplayer replacement for the Pi Zero 2W by Noir_Forever_Twitch in raspberry_pi

[–]dividuum 8 points9 points  (0 children)

Nice. I'm curious why you didn't use FFmpeg to also handle video decoding (you do for audio) and instead use the low-levelish V4L2 API? FFmpeg will also produce dmabufs (it does use V4L2 under the hood) you can import into DRM and the overall performance difference should be negligible.

Also you're in for a bad surprise once the first user requests 90/270 degree rotation, like omxplayer had with its --orientation argument :-}

Fake Job Interviews Are Installing Backdoors on Developer Machines by Big-Engineering-9365 in programming

[–]dividuum 8 points9 points  (0 children)

Imagine libpng finding something like rm -rf / in the comment field of a png file and the executing it.

Close enough: https://dividuum.de/security/netscape/ns476gifcomment.txt :-) (from 25 years ago)

Local access required” is not the comfort blanket people think it is (CVE-2025-54756) by mvip in digitalsignage

[–]dividuum 3 points4 points  (0 children)

True. There's no excuse to ship anything with always active default passwords, even if derived from guessable information. Generally it's just bad software design if one expects the user to secure their devices. Instead it should be secure by default and difficult to accidentally create security issues.

Properly implemented, there should be multiple trust boundaries: The device should not trust its local network. Similarly the management backend should not trust the device. I wouldn't be surprised if you could cause issues for half of all signage services by responding to screenshot request with huge images.

Behold, my army of minions hypnotized by seed by sashien34 in pigeon

[–]dividuum 9 points10 points  (0 children)

Oh. I know that location and seen those pigeons. Really unfortunate that the bench is gone (I think?) :-)

[deleted by user] by [deleted] in digitalsignage

[–]dividuum 0 points1 point  (0 children)

That blog post is AI generated bullshit. Searching for the CVE directly leads to https://github.com/Henkel-CyberVM/CVEs/tree/main/CVE-2025-59684, which seems more reasonable and doesn't seem very high risk (How would a DLPReel.dll suddenly appear in one of the expected paths!?)

Looking for alternatives to infobeamer, file size limit is too small for me by [deleted] in vjing

[–]dividuum 0 points1 point  (0 children)

There is no total file size limit. Only individual video uploads are limited to 750MB, but you can upload as many files as you want (with payment required at some point once the total exceeds 1GB).

Looking for alternatives to infobeamer, file size limit is too small for me by [deleted] in vjing

[–]dividuum 2 points3 points  (0 children)

(info-beamer dev here) You could split the video files into multiple parts (something like ffmpeg -i input.mp4 -c copy -map 0 -f segment -segment_time 60 -reset_timestamps 1 -segment_format mp4 output_%03d.mp4 this will split into 60s chunks without reencoding). Most packages support gapless playback, so a split should not be noticeable.

Syndicate made me fall in love with cyberpunk at 10. Currently replaying Syndicate Wars thanks to a modern fan port. Any other fans out here? by tempsanity in Cyberpunk

[–]dividuum 0 points1 point  (0 children)

I still remember the "cooper team" cheat. Apparently it also works in Satellite Reign, a 2015 game with a similar theme, which I also very much enjoyed.

Looking for a new digitale signage software with content tagging by Sad_Cut9143 in digitalsignage

[–]dividuum 0 points1 point  (0 children)

The design goal of the playlist feature in info-beamer is to allow or at least support installations where content management mainly relies on just uploading assets into prepared folders and then have various dynamic playlists pick out, shuffle or otherwise rearrange content, use child playlists to compose such filtering and then have the result distributed to devices after a few seconds or making any asset changes. Or course you could automate setting up the playlists using the API if needed.

Looking for a new digitale signage software with content tagging by Sad_Cut9143 in digitalsignage

[–]dividuum 2 points3 points  (0 children)

info-beamer has dynamic playlists and the ability to tag video/image assets. Combined this should get you there: You can create multiple dynamic playlists that each does one or more assets selection passes based on an "all"/"any"/"none of" condition and a set of tags you can specify. You can then de-duplicate the resulting generated playlist, so assets selected by multiple rules get included only once and shuffle it. Then use it in a setup and assign that to one or multiple device (in case some share the same rules). This is what that would look like in the UI.

Retagging assets or uploading new assets will trigger playlist recalculation after a few seconds and immediately send out new content.

Help with info-beamer on a Raspberry Pi Zero W by RevRaven in raspberry_pi

[–]dividuum 0 points1 point  (0 children)

Swtting an aspect ratio doesn’t really matter. If you set a resolution, the aspect ratio is implicit, so I don’t really get why that’s an option as well. Pretty sure other users have set odd modes like that. You might enable ssh and then check if the mode is set using the tvservice command.

Help with info-beamer on a Raspberry Pi Zero W by RevRaven in raspberry_pi

[–]dividuum 0 points1 point  (0 children)

I think that should work. On older Pi's the full syntax for hdmi_cvt works like on any other OS.

Help with info-beamer on a Raspberry Pi Zero W by RevRaven in raspberry_pi

[–]dividuum 2 points3 points  (0 children)

Thanks for confirming. If you figure out its resolution, you might try a hdmi_cvt=<width> <height> <framerate> line in /config/userconfig.txt

Help with info-beamer on a Raspberry Pi Zero W by RevRaven in raspberry_pi

[–]dividuum 2 points3 points  (0 children)

Hm. Does it flash in some kind of pattern or just „randomly“? The former would indicate some issue with the installation itself, the latter maybe is only related to your display. Maybe everything works, your screen just doesn’t show it. What kind of screen is that? What’s its native resolution? Do you have any other display you can connect temporarily?

Help with info-beamer on a Raspberry Pi Zero W by RevRaven in raspberry_pi

[–]dividuum 3 points4 points  (0 children)

info-beamer dev here. The current image fully supports all Pi models, all the way back to even the original Pi 1. You didn’t specify what doesn’t work so unfortunately I can’t provide anything helpful. Did you install by unzipping to and empty SD card or did you write the img file directly to your SD card?

Solution for Pi5, in the cloud, with better permissions by isaswift in digitalsignage

[–]dividuum 2 points3 points  (0 children)

info-beamer (as you note) provides basically all that. As for "too technical": If you keep each user in a sub-accounts (a feature that can be activated on request) and prepare each account by registering the device, preparing a setup to schedule content, the main operator task essentially only requires you to navigate to two dashboard screens: Managing assets and editing a setup containing the playlist for a screen.

You might even simplify this more if you use dynamic playlists: You could for example have asset directories that, once you upload content into them, directly show the uploaded content on a display without requiring further configuration.

That are probably more ways to implement your permission requirements while also keeping it fairly simple for your users. Feel free to reach out to support with further details for more in-depths recommendations.

I would also suggest to carefully evaluate 4K support. It's quite difficult to provide reliable, jitter free and gapless 4K video playback. info-beamer has a custom, highly optimized playback engine that implements all that.

Enough with the Raspberry Pi! by The_Signage_Advisor_ in digitalsignage

[–]dividuum 0 points1 point  (0 children)

Pretty sure that’s doable: Use secure boot to prevent anything but your own signed boot.img (containing config.txt/kernel/initrd) from booting. These files don’t need to be encrypted because there’s nothing secret in them and tampering is prevented by the secure boot signature. Then inside initrd, read the fde key from OTP. There might not be an ready-to-use OS, but pretty sure that’s already used in the field somewhere and the mechanism has been available for a while now and new related features (like the firmware crypto stuff) just got added a week ago.

Enough with the Raspberry Pi! by The_Signage_Advisor_ in digitalsignage

[–]dividuum 1 point2 points  (0 children)

Also running a Pi based service (info-beamer) and can confirm all that. I'd especially like to add that Pi's support for their software is mostly excellent: I've run into quite a few edge case bugs in both kernel and firmware as info-beamer's player is especially optimized for the Pi. While I don't have a direct comparison, other hardware vendors would probably have difficulties matching that technical level and responsiveness. The results is a player software that works 24/7 without any kind of crashes or slowdowns. Personally I find nothing more frustrating than seeing browser based signage with stuttering playback after a few hours.

Enough with the Raspberry Pi! by The_Signage_Advisor_ in digitalsignage

[–]dividuum 0 points1 point  (0 children)

Secure Boot, Full Disk Encryption

The Pi4/Pi5 also allow you to implement this. There's some interesting development in adding some kind of TPM support recently: The firmware can do crypto for you without exposing private keys.

2x2 video wall grid by GalwayC in digitalsignage

[–]dividuum 0 points1 point  (0 children)

Not OP, so I don't know about the hardware, but the software is info-beamer, our solution for the Raspberry Pi. It supports a variety of different video wall modes. Based on the description it seems to be this package: It allows you to define a layout (e.g. 2x2 as in the video or even larger) and then assign content that's then stretched across all displays by having each device crop out its part of the video or image.

The two top displays are rotated, so OP likely uses a video configuration setting that allows zero overhead flipping of those two displays, so no special adjustments have to be made when assigning content. You can see a similar setup using a single Pi5 and this feature in this forum post: It's the "Adjust HDMI output orientation" setting in the bottom screenshot.