Read the statement by Michael Teeuw here.
Ghost Overlay / OMXPlayerTransparency
-
Hey all,
I’m trying to find a better solution for a halloween “ghost overlay”. My current setup is activated by modifying the MMM-PIR-Sensor node_helper to exec(“omxplayer /Videos/Ghost.m4v” --alpha 100") when the screen is activated. This works… BUT… obviously dims the other modules since the video is on top. Any thoughts on how to better show a full-screen M4V without losing module brightness? Any successes with transparent backgrounds overlaid ON-TOP of videos?
Video of current setup attached.
Thanks ahead of time.
-Rich -
Sorry it took so long to post the image. This is what I’m trying to do; however, the Black background of the black/white “Ghost” video, dims all of the modules even at alpha 100.
Any help would be appreciated,
Rich -
Idk if the player supports video with alpha, but you should try to use a video including alpha channel.
It can be hard to find so i created a test-video that you can try in the most common codecs that can handle alpha-channel:
Cineform /w Alpha:
https://we.tl/NIwKGsVqyaDynxHD /w Alpha:
https://we.tl/6qkW4517W2Proress4444 including Alpha (I think this one wont work, but worth a shot):
https://we.tl/TQXCoiaJd5If it works and you need to isolate a black video and you are not sitting on any video-editing video just let me know and i can look at it.
-
@Nystro0m No luck so far. I appreciate you taking the time with the test videos. Looks like OMXPlayer’s layer and alpha functionality can’t recognize an actual alpha layer. I think OMXPlayer treats alpha as a generic term for the player’s overall transparency. I’ll do a little more digging. In the meantime, I’ve dropped the transparency to about 80/255 (31%-ish), and it’s a good enough balance between “ghostly” and keeping the modules functional.
-
@Reotch2 How to make this module and Ghost Video where is come from? Thanks for answer.
-
Please give some more detail on how you put this together! I have tried to do it for quite a while but the video is always choppy and does not look good. And what hardware are you using, I assumed my Raspberry Pi was just too slow for video…
And can you share the Ghost video or let me know where you got it? -
@Reotch2 Have you tried to make the position of the module behind the modules, or play it as a background? So the other modules is on top?
In that case you dont need any alpha.
Position the module with OMXPlayer:
fullscreen_belowAlso this module may help with that, if you could trigger the module with PIR:
https://github.com/brobergp/MMM-htmlvideo -
@nobita @jasondreher So… I’m not what they call a “coder”… haha. I wish I knew how to write javascript, but the best I can do is re-purpose everyone else’s modules. Put simply, I looked into using an I-Frame, or MMM-Podcast, but had trouble referencing a local video file. After having NO success adding a video player module, I decided to run a transparent full-screen video on–top of the magic mirror page, which actually worked better than I hoped. Although the black portions of the video dim the modules slightly, the way the white portions interact with the modules beneath it adds a certain cool-factor.
After some trial and error… I did the following:
- Bought the “Ghostly Apparitions” DVD at a local thrift shop. Amazon link
- Combined the highest resolution vertical scenes into a single m4v.
- Edited the node_player.js for MMM-PIR-Sensor to include omxplayer. This ensures that when the screen is activated, the video is played with the appropriate flags.
exec(“/opt/vc/bin/tvservice --preferred && chvt 6 && chvt 7”, null); exec(“omxplayer ~/Videos/Ghost.m4v --alpha 80”) - Alternatively, you can just modify the start script to continuously loop the ghost video of your choosing.
If you need any further details, feel free to ask. But again, I’m a tinkerer… and I’m sure there are 1000 better ways to do this, but this works for me.
-Rich
-
@Nystro0m I’ll definitely give this a shot. I’m using a local file and previously had issues because of JS sandboxing. Not sure how I missed this module, this may be what I’ve been looking for. I’ll report back if it works.
-
This post is deleted! -
@Nystro0m said in Ghost Overlay / OMXPlayerTransparency:
@Reotch2 Have you tried to make the position of the module behind the modules, or play it as a background? So the other modules is on top?
In that case you dont need any alpha.
Position the module with OMXPlayer:
fullscreen_belowAlso this module may help with that, if you could trigger the module with PIR:
https://github.com/brobergp/MMM-htmlvideo@Nystro0m Is there a workaround to reference a local file? I’m running the same issue I did with MMM-Podcast.
-
@jasondreher Running a pi3, no overclock.
-
@Reotch2 I actually just was dealing with something similar trying to get that module to work as a background!
Right now I have just a picture instead, but it should be the same idea. Put the video file somewhere on the MagicMirror directory - my image is in the CSS file but it doesn’t matter where. That way it’s included in what’s accessible on MM’s webserver that it starts. That way, in the config, you can specify the URL for the file! On mine, the picture
bg.jpgis in the CSS folder, so my file listed in the config is"http://127.0.0.1:8080/css/bg.jpg".The biggest issue with this is that AFAIK it’s liable to get erased in updates to the MagicMirror framework, since I’m pretty sure the only two files that don’t get touched are config.js and custom.css. I’m also pretty sure that someone smarter than I has figured out a great way to get around that. BUt, since it’s just for halloween it’s probably temporary anyways so hopefully this gets you up and going.
PS that is a cool as hell idea! -
@Reotch2 would be cool if you could package up what you have to share ;)
-
@Reotch2
Make it a .mp4 with a h.264 codec.
Make a folder in your module called videos.videoSRC: "/videos/YOURVIDEONAME.mp4", loop: true,You could also try:
http://127.0.0.1:8080/modules/MMM-htmlvideo/videos/YOURVIDEONAME.mp4If that don’t work. Put it on a fileshare somewhere.
Maybe drive or dropbox could work if the share settings is public.A
-
@Nystro0m This finally worked. Unfortunately, it turns out running the video as a module within electron is super “clunky” on my RPI-3. OMXplayer seemed to play the video flawlessly.
It’s really unfortunate, because although it was choppy, it was BEAUTIFUL. Are there any overclocking options or MM tweaks that may improve embedded video quality? (yes… now I’m getting greedy).
Also, as an amateur mirror-ist(?), how would I have found the MMM-htmlvideo since it wasn’t published on the module page?
Really appreciate the help
-
@cowboysdude I’d really love to, and in my younger/bolder days it’d probably already be posted; unfortunately it’s not worth risking the Copyright issues. Sorry man.
-
@pyrosmiley said in Ghost Overlay / OMXPlayerTransparency:
@Reotch2 I actually just was dealing with something similar trying to get that module to work as a background!
Right now I have just a picture instead, but it should be the same idea. Put the video file somewhere on the MagicMirror directory - my image is in the CSS file but it doesn’t matter where. That way it’s included in what’s accessible on MM’s webserver that it starts. That way, in the config, you can specify the URL for the file! On mine, the picture
bg.jpgis in the CSS folder, so my file listed in the config is"http://127.0.0.1:8080/css/bg.jpg".The biggest issue with this is that AFAIK it’s liable to get erased in updates to the MagicMirror framework, since I’m pretty sure the only two files that don’t get touched are config.js and custom.css. I’m also pretty sure that someone smarter than I has figured out a great way to get around that. BUt, since it’s just for halloween it’s probably temporary anyways so hopefully this gets you up and going.
PS that is a cool as hell idea!@pyrosmiley This was the fix. You and @Nystro0m nailed it. Unfortunately after all that work, the video gets choppy when run within MM. I’m going to toy with some of my RPI-3 overclock settings, but if that doesn’t work, I’m just going to stick with OMXPlayer and dimmed modules. :(
Thanks for the help.
-
@Reotch2 If you’re still shooting for this, I HIGHLY recommend using ffmpeg to convert the clip to .webm format, which was developed for web streaming video — it’s crazy efficient with file size and perfect for this type of thing. If you’ve never used ffmpeg before it can be daunting, but the gist of what you do is ‘’’ffmpeg -i .mp4 -o .webm’’’ and then let it do its thing. It may take some googling to get exactly the settings you want but a basic conversion should do pretty well for you.
Good luck!
-
@pyrosmiley said in Ghost Overlay / OMXPlayerTransparency:
@Reotch2 If you’re still shooting for this, I HIGHLY recommend using ffmpeg to convert the clip to .webm format, which was developed for web streaming video — it’s crazy efficient with file size and perfect for this type of thing. If you’ve never used ffmpeg before it can be daunting, but the gist of what you do is ‘’’ffmpeg -i .mp4 -o .webm’’’ and then let it do its thing. It may take some googling to get exactly the settings you want but a basic conversion should do pretty well for you.
Good luck!
Formatting got messed up on my phone but the ffmpeg command is ffmpeg -i input.mp4 -o output.webm
It should work just fine, I literally did it for my mirror today.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login