Read the statement by Michael Teeuw here.
[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras
-
@cr4z33 Hey, sorry, I’m out of town and don’t have access to test anything related to this module (no easy access to cameras or a RPi) for the next few weeks.
There is definitely a glitch in the calls to stop and restart the streams, but I can’t test right now. You can try backing up to a previous version and see if it was the latest updates to cause the problem: try using
git checkout f583553I will take a look as soon as I can, and on a side note, there is now official support for VLC w/ Hardware Accelerated Decoding on Raspbian, I am planning to see if it would be better to abandon OMXPlayer in favor of VLC.
-
@shbatm alright mate thanks for letting me know and sorry if I was insisting, but I thought you didn’t see my previous reply. :smiling_face_with_open_mouth_cold_sweat:
Gonna try to revert now.
Update
I can confirm that reverting back to that version gets rid of the issue. :thumbs_up_medium-light_skin_tone: -
@Cr4z33 No problem, sometimes I need a little prompting…
Glad the revert works. I’ll troubleshoot more when I’m back.
-
@shbatm cheers. :heart:
-
I’d support trying VLC over OMXPlayer - OMXPlayer barely works - and crashes so much, I had to switch to FFMpeg(?) – and even that crashes on my Pi 3+
-
@shbatm @Cr4z33 Hello guys and let me first wish you happy holidays and say thank you to @shbatm for this module.
I too am using MMM-RTSPStream to stream my TV tuner to the mirror (the streaming is done from a media server running VLC in my network where the TV tuner is installed). Here is whats happening in my case :Everything is working “fine” per say meaning:
If i go on my Rpi that my MM is installed and on the terminal i type
omxplayer rtsp://192.168.1.254:8554/vlcI can see my TV programming playing just fine with minimal resources used on the pi …however when i try to watch it on MM after launching it, it does not work it just displays a gray quadrant!!
If i go on the MM config.js and i change the url on MMM-RTSPStream module from the above to one of my cameras who have a username and password than MagicMirror displays them as expected and beautifully on the assigned page.
So both my MM config of the RTSPStream module and my actual stream work …separately however, but not together!!!
Does MMM-RTSPStream has to have a username and password for it to work???
What do you think is happening in my case??
Any help is always greatly appreciated
Denis
-
Found it myself what it was causing it …it needed “udp” protocol on MM config.js for MMM_RTSPStream …why, i have no clue but i figured that parameter would be the only one that may make a difference and it worked :)
D -
Hello
I have two same hikvision cameras with the same settings so my config looks like.{ module: "MMM-RTSPStream", position: "bottom_bar", config: { autoStart: true, rotateStreams: false, rotateStreamTimeout: 10, moduleWidth: 1152, moduleHeight: 400, localPlayer: 'omxplayer', remotePlayer: 'none', showSnapWhenPaused: false, remoteSnaps: true, moduleOffset:{ top: 32, left: 32 }, stream1: { name: '1', url: 'rtsp://******:********@192.***.178.160/Streaming/Channels/102', frameRate: 'undefined', snapshotUrl: 'rtsp://******:*******@192.***.178.160/Streaming/Channels/2/picture', snapshotType: 'url', snapshotRefresh: 10, width: 480, height: 300, }, stream2: { name: '2', url: 'rtsp://****:*******@192.***.178.170/Streaming/Channels/102', frameRate: 'undefined', snapshotUrl: 'rtsp://****:*******@192.***.178.170/Streaming/Channels/2/picture', snapshotType: 'url', snapshotRefresh: 10, width: 480, height: 300, }, } },The Problem is that one camara is showing a Picture and the second once does not Show any Picture on the screen.
What am I doing wrong? -
@djuscha If you switch the order, does the opposite one show up? You may need to change the CPU/GPU memory split in your Pi –
sudo raspi-configfind the “Memory Split” option and increase from 64 to 128. -
When I switch the order I see the picture from the other camera.
with change from the “Memory Split” I see no Change :( -
@djuscha Try 256, and make sure you restart the Pi after each adjustment.
Also, please check the MM logs and post if you see any errors. You should be seeing two calls to start omxplayer. You can also do
pm2 statusto make sure both streams are running. -
@shbatm said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
pm2 Status pi@raspberrypi:~ $ pm2 status ┌─────────────┬────┬──────┬────────┬─────────┬─────┬────────┬──────────┐ │ Name │ id │ mode │ status │ ↺ │ cpu │ memory │ ├─────────────┼────┼──────┼────────┼─────────┼─────┼────────┼──────────┤ │ mm │ 0 │ N/A │ fork │ online │ 0 │ 0% │ 2.6 MB │ │ omx_stream1 │ 1 │ N/A │ fork │ stopped │ 0 │ 0% │ 0 B │ │ omx_stream2 │ 2 │ N/A │ fork │ online │ 0 │ 0% │ 2.7 MB │ └─────────────┴────┴──────┴────────┴─────────┴─────┴────────┴─/home/pi/.npm/_logs/2018-12-25T13_58_40_969Z-debug.log
0 info it worked if it ends with ok 1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ] 2 info using npm@6.4.1 3 info using node@v10.14.2 4 verbose run-script [ 'prestart', 'start', 'poststart' ] 5 info lifecycle magicmirror@2.5.0~prestart: magicmirror@2.5.0 6 info lifecycle magicmirror@2.5.0~start: magicmirror@2.5.0 7 verbose lifecycle magicmirror@2.5.0~start: unsafe-perm in lifecycle true 8 verbose lifecycle magicmirror@2.5.0~start: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/pi/MagicMirror/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games 9 verbose lifecycle magicmirror@2.5.0~start: CWD: /home/pi/MagicMirror 10 silly lifecycle magicmirror@2.5.0~start: Args: [ '-c', 'sh run-start.sh' ] 11 silly lifecycle magicmirror@2.5.0~start: Returned: code: 1 signal: null 12 info lifecycle magicmirror@2.5.0~start: Failed to exec start script 13 verbose stack Error: magicmirror@2.5.0 start: `sh run-start.sh` 13 verbose stack Exit status 1 13 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16) 13 verbose stack at EventEmitter.emit (events.js:182:13) 13 verbose stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14) 13 verbose stack at ChildProcess.emit (events.js:182:13) 13 verbose stack at maybeClose (internal/child_process.js:962:16) 13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5) 14 verbose pkgid magicmirror@2.5.0 15 verbose cwd /home/pi/MagicMirror 16 verbose Linux 4.14.79-v7+ 17 verbose argv "/usr/bin/node" "/usr/bin/npm" "start" 18 verbose node v10.14.2 19 verbose npm v6.4.1 20 error code ELIFECYCLE 21 error errno 1 22 error magicmirror@2.5.0 start: `sh run-start.sh` 22 error Exit status 1 23 error Failed at the magicmirror@2.5.0 start script. 23 error This is probably not a problem with npm. There is likely additional logging output above. 24 verbose exit [ 1, true ] -
@evroom said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
Next thing I am trying to use MMM-RTSPStream for, is streaming sat-tv from a Dreambox & VU+ receivers.
I am able to stream a channel using:
omxplayer --vol -3000 --win “0 0 480 320” --live http://192.168.178.28:8001/1:0:19:283D:3FB:1:C00000:0:0:0:@evroom
Maybe my new module is something for you:
MMM-DreamboxRegards
AxLED
-
@axled woah gonna try it now! :thumbs_up_medium-light_skin_tone:
-
@axled
Interesting. Will give it a try. -
-
i have the same problem like @djuscha
The second stream does not show up.
Can it be a layering issue? Maybe its underneath the other one and just needs to moved down via a
or something?
As soon as i turn autorotate=on i can see both streams , but the delay between the switch is useless. I see 10 sec the stream1 than for 10 sec black and then for 10sec the other stream2.
(if i watch the pm2 status while in rotate mode, it stops the whole stream, thats why it takes forever to load, i guess. shutdowndelay option seems not to change something)I would like to see them in parallel if possible.
Any idea or suggestion? -
@barnosch said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:
the delay between the switch is useless.
I agree, unfortunately this is a an OMXPlayer problem – it takes anywhere from 5-10s to actually open and play a stream, so rotating the streams with OMXPlayer is limited unless you’re willing to accept the delay. I’ve played with everything I can think of to leave a stream open in the background–but nothing worked. The shutdown delay option only affects FFMPEG.
@djuscha For some reason only 1 stream is being started (the PM2 status is showing STOPPED for the other stream). I think I must have broken something in one of the last releases, try reverting back to an old version and see if it works:
cd ~/MagicMirror/modules/MMM-RTSPStream git checkout f583553I will work on troubleshooting and see what I broke.
-
@shbatm said in [[MMM-RTSPStream] - Video Streaming from Live Feeds & Security
@djuscha For some reason only 1 stream is being started (the PM2 status is showing STOPPED for the other stream). I think I must have broken something in one of the last releases, try reverting back to an old version and see if it works:
cd ~/MagicMirror/modules/MMM-RTSPStream
git checkout f583553I will work on troubleshooting and see what I broke.
Name │ id │ mode │ status │ ↺ │ cpu │ memory │
├─────────────┼────┼──────┼────────┼────────┼─────┼────────┼──────────┤
│ mm │ 0 │ N/A │ fork │ online │ 0 │ 0% │ 2.6 MB │
│ omx_stream1 │ 1 │ N/A │ fork │ online │ 6 │ 0% │ 2.8 MB │
│ omx_stream2 │ 2 │ N/A │ fork │ online │ 0 │ 0% │ 2.8 MB │
└─────────────┴────┴──────┴────────┴────────┴─────┴────────┴──It works!!
Many Thanks!! -
STATUS UPDATE
Just wanted to give everyone a quick status update about this module.
Bad news first: the current version in the master branch is malfunctioning. Please revert to a previous version (see post above) until I get time to undo the commit.
EDIT - I’ve reverted the changes that I think broke the master channel. Please try updating your module to the current master branch and test.Good news! The reason I haven’t fixed the main branch yet is because the most recent version of the Raspbian image (Nov '18) has introduced a native version of VLC with hardware acceleration. I am actively working on a version of this module that will abandon OMXPlayer in favor of VLC, and have a working prototype in the develop branch for anyone interested in testing!
Requirements:
- Must have the most recent version of Raspbian with Desktop (> Nov '18). Google how to upgrade, but you may be better off starting with a fresh image.
- Enable OpenGL (Fake KMS) driver in
raspi-config - Increase GPU/CPU Memory Split to at least 128 (do this after enabling OpenGL because it will reset it to 64).
- Upgrade Electron to v3.0.13 (v2.0.16 in MM v2.6 is not working with OpenGL–see MM Issue #1500:
cd ~/MagicMirror # Remove the node_modules folder to start fresh rm -R ./node_modules # Either manually update the required electron version in package.json to 3.0.13 or use the sed command below sed -i 's/electron": "\^2\.0\..*",/electron": "^3.0.13",/g' package.json # Re-install the MM node modules npm install- Delete your MMM-RTSPStream module directory and use the new installer script to install everything:
rm -R ~/MagicMirror/modules/MMM-RTSPStream bash -c "$(curl -s https://raw.githubusercontent.com/shbatm/MMM-RTSPStream/develop/scripts/installer.sh)"- Update your config.js section to use VLC:
localPlayer: 'vlc'
Working:
- VLC windows “placed” on top of the main Electron window inside the module’s box
- Plays quickly, minimal lag, low CPU usage (4 streams @ ~35%)
- Visible in VNC client (couldn’t do this with OMXPlayer)
- Fast switching between streams – all VLC windows will remain open, and
wmctrlutility used to toggle which one is on top.- Make sure to set a
shutdownDelayfor in your module config section make it longer than it takes to rotate back to that stream time (e.g. if you haverotateStreamTimeout: 10, and 3 streams, then it will take 20s to get back to the first stream, so you should setshutdownDelay: 22– 20s + 2s buffer).
- Make sure to set a
- Suspend/Restore functions
- New version of Raspbian also has a hw-accelerated version of FFMPEG; I’ve added a
hwAccel: trueoption forffmpegusers to use HW-accelerated decoding. FFMPEG still has a big CPU impact for the encoder though.
Not-yet-tested / left to-do:
- Test if sound works
- Figure out what I broke in the OMXPlayer version
Not-gonna-happen:
- Embedding VLC into Electron window (NPAPI-plugins are no longer supported and this is the only way I know how to do that).
- Using VLC as the viewer for “remote” windows (other web browser instances of the MM) – same reason as above.
Known Bugs:
- When VLC windows are first created, you see them move around the screen. After they’re “put in the box” it they won’t fill up the box right away. After ~7 secs they should fill the box.
- I am using
devilspie2to remove window decorations and move the VLC windows; however, for some reason I have to call it twice (~7s apart) to get VLC to resize it’s video properly. Shouldn’t be an issue in the long-term, unless you are hiding/showing the module often.
- I am using
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