Read the statement by Michael Teeuw here.
[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras
-
@kasperb said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
@cr4z33 said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
@kasperb I actually added some code parts in the voice command module as per suggestion of its developer.
If you’re using MMM-AssistantMk2 then I can tell you what to do (not if using other modules). :)
Yes, I’m using MMM-AssistantMk2. Would love to hear your suggestion.
@Cr4z33 Thank you - this works perfect. Much appreciated.
-
@kasperb you’re welcome however forgot to say that this was done by @Sean . ;)
-
@cr4z33 said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
“RTSP_ACTIVATE”: {
notificationExec: {
notification: “RTSP-PLAY”,
payload: “all”
}
},Regarding the other issue we’ve been working through – I sent you a chat, but if you have this part in your config with the rest of the TV channels–take it out and see if that fixes the problem you’ve been having with the wrong stream.
I think this is being called by AssistantMk2 after calling the individual stream.
-
@shbatm thank you mate deleting that part made everything work brilliantly!
-
So I am having finally some spare time to explain better how to to switch stream by voice control (think at ie. IP cameras, Internet TV/Radio channels, etc.).
We are going to use OMXplayer here (can’t say how it will be the result with VLC honestly…) and the good voice command module MMM-AssistantMk2.
So set it up properly and once you have it up and running come back and go on reading, otherwise contact @Sean (the author of that module) asking for help. :)Open config.js with a text editor and go to the MMM-AssistantMk2 module section.
Replaceconfig: {with
config: { onActivate: { timer: 0, command: "RTSP_DEACTIVATE" }, transcriptionHook: { "CHANNEL_1": { pattern: "TV 1", command: "CHANGE_CHANNEL_1" }, "CHANNEL_2": { pattern: "TV 2", command: "CHANGE_CHANNEL_2" }, "CHANNEL_3": { pattern: "TV 3", command: "CHANGE_CHANNEL_3" }, "CHANNEL_4": { pattern: "TV 4", command: "CHANGE_CHANNEL_4" }, "CHANNEL_5": { pattern: "Radio 1", command: "CHANGE_CHANNEL_5" }, "CHANNEL_6": { pattern: "Radio 2", command: "CHANGE_CHANNEL_6" }, "CHANNEL_7": { pattern: "Radio 3", command: "CHANGE_CHANNEL_7" } }, command: { "CHANGE_CHANNEL_1": { notificationExec: { notification: "RTSP-PLAY", payload: "stream1" } }, "CHANGE_CHANNEL_2": { notificationExec: { notification: "RTSP-PLAY", payload: "stream2" } }, "CHANGE_CHANNEL_3": { notificationExec: { notification: "RTSP-PLAY", payload: "stream3" } }, "CHANGE_CHANNEL_4": { notificationExec: { notification: "RTSP-PLAY", payload: "stream4" } }, "CHANGE_CHANNEL_5": { notificationExec: { notification: "RTSP-PLAY", payload: "stream5" } }, "CHANGE_CHANNEL_6": { notificationExec: { notification: "RTSP-PLAY", payload: "stream6" } }, "CHANGE_CHANNEL_7": { notificationExec: { notification: "RTSP-PLAY", payload: "stream7" } }, "RTSP_DEACTIVATE": { notificationExec: { notification: "RTSP-STOP", payload: "all" } }, },Please note that the aforementioned stream names (ie. “TV 1”) used after
pattern:HAVE TO BE the same that we will use below in the MMM-RTSPStream module or it won’t work!
Of course they are all examples so fit them to your needs, but remember to use then the same naming.So let’s go to enter MMM-RTSPStream like the following:
{ module: "MMM-RTSPStream", position: "bottom_right", disabled: false, config: { autoStart: false, // Streams will start by voice commands only rotateStreams: true, rotateStreamTimeout: 0, shutdownDelay: 0, moduleWidth: 420, // Adjust it to your needs moduleHeight: 236, // Adjust it to your needs localPlayer: 'omxplayer', remotePlayer: 'none', showSnapWhenPaused: false, remoteSnaps: false, stream1: { name: 'TV 1', url: 'IPofstream1', protocol: "tcp", frameRate: 'undefined', width: 420, // Adjust it to your needs height: 236 // Adjust it to your needs }, stream2: { name: 'TV 2', url: 'IPofstream2', protocol: "tcp", frameRate: 'undefined', width: 420, // Adjust it to your needs height: 236 // Adjust it to your needs }, stream3: { name: 'TV 3', url: 'IPofstream', protocol: "tcp", frameRate: 'undefined', width: 420, // Adjust it to your needs height: 236 // Adjust it to your needs }, stream4: { name: 'TV 4', url: 'IPofstream', protocol: "tcp", frameRate: 'undefined', width: 440, // Adjust it to your needs height: 247 // Adjust it to your needs }, stream5: { name: 'Radio 1', url: 'IPofstream', protocol: "tcp", frameRate: 'undefined', width: 420, // Adjust it to your needs height: 236 // Adjust it to your needs }, stream6: { name: 'Radio 2', url: 'IPofstream6', protocol: "tcp", frameRate: 'undefined', width: 440, // Adjust it to your needs height: 247 // Adjust it to your needs }, stream7: { name: 'Radio 3', url: 'IPofstream7', protocol: "tcp", frameRate: 'undefined', width: 420, // Adjust it to your needs height: 236 // Adjust it to your needs }This should be all.
You can add as many streams as you want (I don’t see the problem if you run them one by one). ;) -
i am using the develop branch of the module with vlc and latest MM.The feed is playing alright but it seems it is over MM and when i click over another module the feed dissapears going under.How can i solve that?
-
@costascontis - There may be a switch in VLC player that tells it to stay on top. I’d start looking at switches there.
-
this is my configuration:
{
module: “MMM-RTSPStream”,
position: “middle_center”,
header: “cam”,
config: {
autoStart: true,
rotateStreams: true,
rotateStreamTimeout: 10,
moduleWidth: 354,
moduleHeight: 240,
localPlayer: ‘omxplayer’,
remotePlayer: ‘none’,
showSnapWhenPaused: true,
remoteSnaps: true,
stream1: {
name: ‘c1’,
url: ‘rtsp://admin:a1234567@192.168.1.14/Streaming/Channels/1’,
frameRate: ‘undefined’,
hdUrl: ‘rtsp://admin:a1234567@192.168.1.14/Streaming/Channels/1’,
snapshotType: ‘url’,
snapshotRefresh: 10,
width: 354,
height: 240,
},
}
}
no response ,was it the problem of resolution,and how to configure that ,I tried many ways and still not success, and I can use my vlc to get the stream of the camera ,but was anything wrong with other configuration,no idea!

-
@website19880927 said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
localPlayer: ‘omxplayer’
Try using VLC instead.
Replace
localPlayer: ‘omxplayer’
with
localPlayer: ‘vlc’However you will have to use the developer branch of this module.
See here for instructions on how to install it:
https://github.com/shbatm/MMM-RTSPStream/tree/developI didn’t test 4K streaming, but it should be OK up to 1080p.
-
Hey Guys,
any Solution to install the Modul at Ubuntu without Omxplayer? The option with vlc sounds good…
-
Believe it or not, I found that OMX is by far the most stable of setups in my use case. Odd, I know.
I do restart my Mirror daily, however.
-
@bkeyport said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
Believe it or not, I found that OMX is by far the most stable of setups in my use case. Odd, I know.
I do restart my Mirror daily, however.
Are you using a script to auto restart and could you share?
-
@goprojojo I guess he just scheduled the reboot command into cron (Google for it). ;)
-
Cron.
# m h dom mon dow command 15 2 * * * sudo rebootWhy 2:15 you might ask? 2 AM daily my camera reboots and usually corrupts the display - takes about 10 minutes for it to restart where it don’t, and 5 more minutes to make sure it’s clear of it’s reboot and upgrade routines.
I recommend https://crontab.guru/ to help you build cron tasks.
-
Does anyone know if it’s possible to use moduleOffset from within a single stream (stream3)? I couldn’t get it to work.
I have three streams going. The first two are side-by-side, but the third is centered under them. I would like the third to be left-justified. Any ideas?
-
This post is deleted! -
@evroom
I am a newbie with Magic Mirror and Raspberry world so I would really appreciate if you could provide me a step-by-step instruction.
I have the same challenge like yours: Although I set my stream video window to “bottom_right”, it appears to be in the between of “bottom_center” and “bottom_right”. In another word, it is completely located at the weirdest position: a little bit above the “bottom_center”, too much “left” from the “bottom_right” of the screen, etc…I follow your post to change the parameter of “moduleOffset” value but as you already stated, the moduleOffset did not work. The stream video window is still way off from where I want it to be. I am not familiar with the “.css” yet so if you are so kind, please point me to how I can make change to it?
So, if possible, could you please kindly provide me a step-by-step instruction on how to align the stream windows with the “bottom_right” where it lines-up with the “current_weather” module (top-right)
Thank you
-
@jngo
Can you post the moduleWidth, moduleHeight and the width and height from the stream?And if you see it in the pm2 logs, this info:
Starting stream stream1 with args: [ "--avdict", "rtsp_transport:tcp", "--win", "738, 63, 1090, 305", -
Just to make it clear, I am not using any module anymore that uses omxplayer.
For me MMM-RTSPStream stopped to work for my install and use a while ago (reason unknown) and for MMM-Dreambox I do not have place on my screen (but a nice module nevertheless).
I have kept my MagicMirror pretty simple and static, just 5 modules and a video stream from my outdoor IP-camera.
No fancy things with rotating, voice commands, gesture commands, etc.
Everything that really matters in one view.As an alternative for MMM-RTSPStream, I just use pm2 for my video stream.
The omxplayer is an overlay in all uses anyway, so I just ‘overlay’ it on top of the MM modules.
I left space on the left side of the MagicMirror by only using top and bottom positions.
pm2 controls the processes, like with MM (I enabled it using the same commands for MM, except that I used axis iso mm).That being said, I can try activating MMM-RTSPStream again to be able support a bit.
pi@MagicPi:~ $ pwd /home/pi pi@MagicPi:~ $ cat axis.sh #!/bin/bash echo "Starting Axis stream ..." # No rotation #omxplayer --avdict rtsp_transport:tcp --live --video_queue 4 --fps 30 --win "0 625 590 957" rtsp://axisviewer:Trosknurt12@192.168.178.56/axis-media/media.amp?resolution=640x360 # Rotate to match custom.css rotation # 640x360 == --win 'x1 y1 x2 y2' == "600 300 960 940" == x2 - x1 & y2 - y1 omxplayer --avdict rtsp_transport:tcp --orientation 270 --live --video_queue 4 --fps 30 --win "600 300 960 940" rtsp://user:password@192.168.178.56/axis-media/media.amp?resolution=640x360 pi@MagicPi:~ $ pm2 list ┌──────────┬────┬─────────┬──────┬───────┬────────┬─────────┬────────┬─────┬────────────┬──────┬──────────┐ │ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │ ├──────────┼────┼─────────┼──────┼───────┼────────┼─────────┼────────┼─────┼────────────┼──────┼──────────┤ │ axis │ 1 │ 2.5.0 │ fork │ 11127 │ online │ 1066 │ 2h │ 0% │ 220.0 KB │ pi │ disabled │ │ mm │ 0 │ 2.5.0 │ fork │ 4658 │ online │ 41 │ 14D │ 0% │ 12.0 KB │ pi │ disabled │ -
@evroom
I keep pretty much all modules as default (just like yours): calendar, event, weather now, forecast, news feed, and this stream video from my camera. That’s all I need.
My screen is a 22" Dell monitor and I do not rotate it so it’s horizontal. But because the stream video window appears in the middle of the whole thing, the layout of the modules on the screen looks so bad so I hope I could find the way to aligned it (bottom-right) with the right edge of my weather now (which is at top-right)My info is below
Starting stream stream1 with args: [
“–avdict”,
“rtsp_transport:tcp”,
“–win”,
“1268, 511, 1620, 753”,
“–live”,
“–video _queue”,My stream video window size is 640 x 360 px
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