Read the statement by Michael Teeuw here.
[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras
-
**Update: fixed this error by running:
‘sudo chown pi:pi /home/pi/MagicMirror/modules/MMM-RTSPStream/node_modules/pm2’Now it seems to run all the way through:
pi@raspberrypi:~/MagicMirror/modules/MMM-RTSPStream $ npm install
MMM-RTSPStream@2.0.0-dev preinstall /home/pi/MagicMirror/modules/MMM-RTSPStream
./scripts/preinstall.shdevilspie2 wmctrl ffmpeg omxplayer vlc is already installed. Moving on.
MMM-RTSPStream@2.0.0-dev postinstall /home/pi/MagicMirror/modules/MMM-RTSPStream
sudo npm link pm2/home/pi/MagicMirror/modules/MMM-RTSPStream/node_modules/pm2 -> /usr/lib/node_modules/pm2
removed 1 package in 19.37s**Still having the placement, overlay and no feed issues though.
Another error:
I just went back in to make sure I ran npm install and I get the following (not sure whether or not its critical). I’m taking a break for now. I’ve followed all instructions step by step and still can’t get it to display correctly :( Still having the 3 issues stated in my previous post as well. Appreciate it if someone can chime in on this.
pi@raspberrypi:~/MagicMirror/modules/MMM-RTSPStream $ npm install
MMM-RTSPStream@2.0.0-dev preinstall /home/pi/MagicMirror/modules/MMM-RTSPStream
./scripts/preinstall.shdevilspie2 wmctrl ffmpeg omxplayer vlc is already installed. Moving on.
npm WARN checkPermissions Missing write access to /home/pi/MagicMirror/modules/MMM-RTSPStream/node_modules/pm2
npm ERR! path /home/pi/MagicMirror/modules/MMM-RTSPStream/node_modules/pm2
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access ‘/home/pi/MagicMirror/modules/MMM-RTSPStream/node_modules/pm2’
npm ERR! { Error: EACCES: permission denied, access ‘/home/pi/MagicMirror/modules/MMM-RTSPStream/node_modules/pm2’
npm ERR! stack: ‘Error: EACCES: permission denied, access '/home/pi/MagicMirror/modules/MMM-RTSPStream/node_modules/pm2'’,
npm ERR! errno: -13,
npm ERR! code: ‘EACCES’,
npm ERR! syscall: ‘access’,
npm ERR! path: ‘/home/pi/MagicMirror/modules/MMM-RTSPStream/node_modules/pm2’ }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2019-01-04T01_56_31_604Z-debug.log
pi@raspberrypi:~/MagicMirror/modules/MMM-RTSPStream $ -
This post is deleted! -
@anthony6608 The last error was my fault… it’s an issue with linking the PM2 module. I put a
sudowhere I didn’t need one, that’s been updated on Github.I’m sorry it’s been frustrating–trust me, I (and I’m sure several other’s on here) know the feeling. I was going to say that I thought it was the module getting moved around by the other modules when they load that was causing the issues, but not if it’s happening with only this module loaded. It should be resizing itself to fit. I sent you a chat with an e-mail address–if you can, send me a short video or picture of what you’re seeing and I’ll see if I can diagnose.
Also–for the forums, when pasting logs, configs, or any other chunk of code, use three back-ticks (`) on their own line at the start and finish to make it pretty (you can add “shell” or “javascript” for syntax highlighting.
```javascript Your code here ``` - -
@shbatm thanks for the reply, and no worries about the permission issue. I’m no longer getting the error so I hope I fixed it the correct way.
I actually just opened an issue if you could take a look. I added some pictures there as well with a breakdown of everything I’ve noticed just to help make things easier and for anyone looking in the future to find it all in once place. Let me know if you’re able to view the pictures? For some reason they are not loading when I reload the page. Also thanks for the tip, I’ll be sure to use the back-ticks in the future!
-
@shbatm I am trying to get this module working with MMM-AssistantMk2 from @Sean so that I can switch TV channel streams (Dreambox) by voice command.
The issue is that instead of switching from a stream to another ALL of them start playing at the same time! :man_facepalming_medium_skin_tone: :rolling_on_the_floor_laughing:So far I’ve tried setting in the MMM-RTSPStream module both
rotateStreams: falseandrotateStreams: true, but it still happens.
I’ve also tried settingautoStart: false, but as soon as I give the voice command the nightmare starts on! :face_with_tears_of_joy:This is my MMM-RTSPStream config:
module: "MMM-RTSPStream", position: "bottom_right", disabled: false, config: { autoStart: false, rotateStreams: false, rotateStreamTimeout: 10, moduleWidth: 440, moduleHeight: 247, moduleOffset: { left: -330, top: -180 }, localPlayer: 'omxplayer', remotePlayer: 'none', showSnapWhenPaused: false, remoteSnaps: false, stream1: { name: 'Sky TG24', url: 'http://***/1:0:1:5:7918:217C:EEEE0000:0:0:0:', protocol: "tcp", frameRate: 'undefined', width: 440, height: 247 }, stream2: { name: 'RAI 3 TGR Puglia', url: 'http://***/1:0:1:D4B:8800:13E:EEEE0000:0:0:0:', protocol: "tcp", frameRate: 'undefined', width: 440, height: 247 }, stream3: { name: 'RAI 3 HD', url: 'http://***/1:0:1:2191:5:13E:EEEE0000:0:0:0:', protocol: "tcp", frameRate: 'undefined', width: 440, height: 247 }, stream4: { name: 'Deejay TV HD', url: 'http://***/1:0:1:29:7918:217C:EEEE0000:0:0:0:', protocol: "tcp", frameRate: 'undefined', width: 440, height: 247 }, stream5: { name: 'Radio Deejay', url: 'http://***/1:0:2:9:204:1D:EEEE0000:0:0:0:', protocol: "tcp", frameRate: 'undefined', width: 440, height: 247 }, stream6: { name: 'Radio Capital', url: 'http://***/1:0:2:A:204:1D:EEEE0000:0:0:0:', protocol: "tcp", frameRate: 'undefined', width: 440, height: 247 }, stream7: { name: 'Radio 105', url: 'http://***/1:0:2:1FA7:32A:110:EEEE0000:0:0:0:', protocol: "tcp", frameRate: 'undefined', width: 440, height: 247 } } },And this is the section of MMM-AssistantMk2 where I set the voice commands.
They match both your instructions and @Sean 's ones:transcriptionHook: { "CHANNEL_1": { pattern: "Sky TG24", command: "CHANGE_CHANNEL_1" }, "CHANNEL_2": { pattern: "Puglia", command: "CHANGE_CHANNEL_2" }, "CHANNEL_3": { pattern: "Rai3", command: "CHANGE_CHANNEL_3" }, "CHANNEL_4": { pattern: "Deejay TV", command: "CHANGE_CHANNEL_4" }, "CHANNEL_5": { pattern: "Radio Deejay", command: "CHANGE_CHANNEL_5" }, "CHANNEL_6": { pattern: "Radio Capital", command: "CHANGE_CHANNEL_6" }, "CHANNEL_7": { pattern: "Radio cento cinque", command: "CHANGE_CHANNEL_7" }, "PROFILE1": { pattern: "Famiglia", command: "CHANGE_PROFILE_1" }, "PROFILE2": { pattern: "Mio", command: "CHANGE_PROFILE_2" } }, 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" } }, -
the two streams work great again now, after pulling the older version.
Great. Thank you very much.
Also your new VLC based module sounds great.
But i guess, you maybe should create a whole new module for it? -
@barnosch said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
Also your new VLC based module sounds great.
But i guess, you maybe should create a whole new module for it?The plan right now was to just leave it as another option for the
localPlayer. OMXPlayer will still be an option for now as well. I don’t know if I’ll have time to split it out completely, but that would be much cleaner. -
You’ll want the following settings which should give you 1 blank video box that does not show anything until you press play.
autoStart: false, rotateStreams: true, rotateStreamTimeout: 0, localPlayer: 'omxplayer', remotePlayer: 'none', showSnapWhenPaused: false, remoteSnaps: false,I’m assuming you’re seeing the same glitch that is plaguing the last OMXPlayer version of this module. I’m working on it today to try and find what I broke. In the meantime, try reverting back and seeing if that fixes the issue. I just tested the following notification on the VLC version and it worked as expected, so it’s got to be something with omxplayer.
{ notification: "RTSP-PLAY", payload: "stream3" } -
@shbatm although I am not a developer I agree with you.
Whenever I tried something different from normal module usage involving omxplayer it always ended up with a mess lol! :grinning_face_with_smiling_eyes:Going to try what you are suggesting here.
Can’t wait to see the VLC implementation (it just works as intended). :smiling_face_with_heart-eyes:
-
@shbatm nope the simultaneous streams have now dropped from 7 to 2, but still not what I want (aka a single stream). :smiling_face_with_open_mouth_cold_sweat:
Gonna try the develop branch and see how it is doing right now.
-
@cr4z33 Still looking into it, but I just thought of something… it doesn’t look like you’re calling RTSP-STOP on the old stream anywhere when changing channels so right now it’s going to keep starting streams every time–there’s no “1 at a time” method when controlling it from notifications… yet.
-
This post is deleted! -
@djuscha I’ve reverted the changes that I think broke the master channel. Please try updating your module to the current master branch and test.
-
@cr4z33
Added something that might help. Please use the develop branch and update your change channel commands to :{
notification: “RTSP-PLAY”,
payload: { stream:“stream1”, stopOthers: true }
}EDIT: Nevermind, don’t do that. I fixed the glitch on the develop channel that was starting more than one stream when
rotateStreams: truewas set. Please try that and see if it works now. -
@shbatm Hey, I updated issue #33 with the errors I am seeing when you have a chance. Also, should I run this update although I am using the VLCplayer method? Let me know what you think. Thanks again for all your help!
-
I’m unable to get this module to load and run with FFMPeg anymore - as of 3PM 1/4/19 (Pacific Time (Seattle))
Update was applied as of that time.
I don’t know how to retrieve logs.
– Bug filed on github - https://github.com/shbatm/MMM-RTSPStream/issues/34
-
@djuscha, @Cr4z33 @barnosch @anthony6608 @bhepler @evroom, and anyone else using this module:
I just pushed a bunch of bug fixes for OMX Player to the
developbranch. Please test and let me know if you are still seeing the same issues.Fixes include:
- App closing now spawns a new process to actually kill the OMX streams, it was getting cut off in the middle of closing everything due to it being an async process and leaving streams open.
- Wait for DOM to be shown before calling to start the streams–this was causing the Fullscreen on Resume problems.
- Only start one stream at a time if we’re in RotateStreams mode
- Can jump to a specific stream in RotateStreams mode using notifications
- Fixed and cleaned up all notifications and control from other modules
- Fixed broken key bindings after MMM-KeyBindings upgrade
- Fixed issue where module was trying to connect to PM2 while it was already connected (e.g. stop stream 1 and start stream 2 back to back).
To switch branches:
cd ~/MagicMirror/modules/MMM-RTSPStream sudo rm -R node_modules/ git fetch --al git checkout develop git pull npm install -
@shbatm
I installed the new changes according your procedure.
I am using omxplayer for a RTSP stream of a IP cam.
I do not use rotation or any other fancy stuff.
I see the same issue as before: omx_stream1 has status stopped and when I click on the play button it also will not start.
I stopped and started mm 2 times and even did a complete reboot
It only can be started using$ pm2 start omx_stream1Another restart of mm shows that the omx_stream1 is being stopped, but never restarted.
After ever mm restart I will need to perform:$ pm2 start omx_stream1 -
I noticed this in pm2 logs (do not see this after every mm restart):
0|mm | Connecting socket for: MMM-RTSPStream 0|mm | PM2: Stopping all OMXPlayer Streams... 0|mm | Sockets connected & modules started ... 0|mm | Launching application. 0|mm | PM2: Checking if omx_stream1 is running... 0|mm | PM2: Stopping omx_stream1... PM2 | Stopping app:omx_stream1 id:1 1|omx_stream1 | Video codec omx-h264 width 640 height 360 profile 77 fps 30.000000 1|omx_stream1 | Subtitle count: 0, state: off, index: 1, delay: 0 1|omx_stream1 | V:PortSettingsChanged: 640x360@30.00 interlace:0 deinterlace:0 anaglyph:0 par:1.00 display:0 layer:0 alpha:255 aspectMode:0 1|omx_stream1 | have a nice day ;) PM2 | App [omx_stream1:1] exited with code [1] via signal [SIGINT] PM2 | pid=2104 msg=process killedIn this case it was tried to start the stream, but it exited.
Starting it by hand makes it work again. -
@shbatm I ran the develop update.
With omxplayer (and
autoStart: false) I see stream labels changing when giving a voice command, but then no stream is starting.With vlc nothing happens, not a single stream starting by voice command.
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