Read the statement by Michael Teeuw here.
[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras
-
@shbatm Thanks a lot for this module! Everything works fine but I have a time difference from 8 seconds between “live” and the video feed. Is there anyway to fix this?
-
Unfortunately, at the moment I don’t have an answer for how to decrease the lag time, but I’m still trying to find better ways to process the feed to the front end. My delay is only 3-4 seconds and has a lot to do with the hardware you’re using to process the stream.
-
@Niggich - There is something I found that you can try. Please let me know if this tweak helps and I’ll roll it into the module.
For any suggested
ffmpeg
changes, you’ll need to edit Line 14 (or 15, depending on version) of the following file, whichever has theffmpeg
argument list:~/MagicMirror/modules/MMM-RTSPStream/node_modules/node-rtsp-stream-es6/src/mpeg1muxer.js
- Ignore audio stream: add
"-an",
after"mpeg1video",
and before"-bf",
As I find more things to try, I’ll post them back on here.
- Ignore audio stream: add
-
@shbatm Hello, I found the time to try this tweak but after I changed everything the Stream doesn’t start.
-
I have some things to try when I get back in town this week. Please make sure you have
hideFfmpegOutput: false
in your stream config section and post any errors. Were you able to get it back working after reverting the changes? -
@shbatm I change back everything and its working again. I also changed my config file to the setting you said. It’s a bit better now. In the Log I doesn’t have any errors.
-
@Niggich Just letting you know that I’m testing an alternate method for displaying the video if you want to test it out. It uses
omxplayer
to overlay the video stream directly onto the display, which uses hardware acceleration. It only works on the local display and is still a work in progress, but there is minimum latency since it’s a direct stream.To use, make sure you have
omxplayer
installed and then switch to the development branch:cd ~/MagicMirror/modules/MMM-RTSPStream git checkout wip
And update your module config to add:
player: 'omx'
(outside of thestreamX
configs).Future plans include:
- Ability to play full screen
- Show thumbnails on remote screen when playing locally with OMX
- Show ffmpeg stream on remote screen when playing locally with OMX
-
@shbatm Thanks for the different rendering process. It’s still very choppy for me, but it is noticeably better framerate.
Both techniques are maxxing my RasPi’s processor at 100% and I’m getting temperature warnings. But I’m just at the beginning of the process. Let’s see if I can’t cut that down a bit.
-
@bhepler Have you tried the omxplayer method above? This should be using hardware acceleration–on my RPi3 this is using ~10% CPU.
Note: I have updated the development branch to use omxplayer by default for the local screen. You do not need to change anything in your config, just switch to the branch using:
cd ~/MagicMirror/modules/MMM-RTSPStream git checkout wip # Update node modules npm run-script update
See the updated README here for more details – once tested I’ll update the main branch:
https://github.com/shbatm/MMM-RTSPStream/tree/wip -
@shbatm Whoops. That’s the mistake I made. I switched to the wip branch but didn’t put the
omx
flag in there.I’ll try it out tonight. Thanks for the update!