MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-Mplayer video issues

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    11 Posts 4 Posters 452 Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G Offline
      ge
      last edited by

      Just changed from MMM-RTSPStream to MMM-Mplayer because of issues. That solved the issue with the processor being continuously maxed out. However, video from my ip cam is still delayed and stutters losing a lot of frames. I can play it outside of MagicMirror on another computer using the cameras web interface or with VLC using the same url as MM and both show in real time. Tried a bunch of settings, no luck.

      Curious for those that have this working properly, real time, what kind of camera are you using. What is your connection type. . . rtsp, http, resolutions, etc …

      evroomE G 2 Replies Last reply Reply Quote 0
      • evroomE Offline
        evroom @ge
        last edited by

        @ge

        You may have seen this example config.
        I am using this for my Axis P1448-LE.
        It works okay, but is sometimes lagging, not stuttering.

        https://github.com/evroom/MMM-MPlayer?tab=readme-ov-file#config-example-for-a-single-window-single-rtsp-stream

        There is also a section on data gathering:

        https://github.com/evroom/MMM-MPlayer?tab=readme-ov-file#data-gathering

        You can supply me with this data and your config, then I can have a look at it.

        MagicMirror version: 2.33.0
        Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
        Raspbian GNU/Linux 12 (bookworm)

        Test environment:
        MagicMirror version: v2.33.0
        Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
        Raspbian GNU/Linux 12 (bookworm)

        1 Reply Last reply Reply Quote 1
        • G Offline
          ge @ge
          last edited by sdetweil

          Here is what I have at the moment. If interested, I can show a side by side video from the camera, and what is showing on MM.

          Config:

          {
            module: 'MMM-MPlayer',
            disabled: false,
            position: "top_center",
            header: "Driveway",
            config: {
              layout: '',
              streamInterval: 30000,
              monitorAspect: '0',
              noAspect: false,
              noBorder: true,
              rotate: -1,
              windowPosition: '',
              windowSize: '',
              windowWidth: '',
              windowWidthNoNewAspect: false,
              windowHeightNoNewAspect: false,
              rtspStreamOverTcp: true,
              rtspStreamOverHttp: true,
              preferIpv4: true,
              ipv4onlyProxy: false,
              videoOutputDriver: 'xv,gl,gl_nosw,vdpau,',
              noSound: true,
              mplayerOption: '',  
              windows: [
                {
                  windowSize: { width: 990, height: 557 },
                  windowPosition: { x: 471, y: 20 },
                  streams: [
                     'rtsp://admin:Camadmin@172.16.0.37:554/cam/realmonitor?channel=1&subtype=0'
                    //'http://admin:Camadmin@172.16.0.37/cgi-bin/snapshot.cgi?1' 
                           ]
                }
              ]
            }
          },
          

          Data:

          pi@raspberrypi:~ $ grep version ~/MagicMirror/package.json
                  "version": "2.30.0",
          pi@raspberrypi:~ $ cat /proc/device-tree/model; echo
          Raspberry Pi 4 Model B Rev 1.5
          pi@raspberrypi:~ $ lsb_release -a
          No LSB modules are available.
          Distributor ID: Debian
          Description:    Debian GNU/Linux 12 (bookworm)
          Release:        12
          Codename:       bookworm
          pi@raspberrypi:~ $ uname -a
          Linux raspberrypi 6.12.47+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1~bookworm (2025-09-16) aarch64 GNU/Linux
          pi@raspberrypi:~ $ free -h -t
                         total        used        free      shared  buff/cache   available
          Mem:           3.7Gi       931Mi       1.9Gi       122Mi       1.1Gi       2.8Gi
          Swap:          199Mi          0B       199Mi
          Total:         3.9Gi       931Mi       2.1Gi
          
          pi@raspberrypi:~ $ ps -eaf | grep mplayer | grep -v grep
          pi          5635    5458 27 19:37 ?        00:01:03 mplayer rtsp://admin:Camadmin@172.16.0.37:554/cam/realmonitor?channel=1&subtype=0 -vf rotate=-1 -monitoraspect 0 -noborder -geometry 471:20 -x 990 -y 557 -rtsp-stream-over-tcp -prefer-ipv4 -vo xv,gl,gl_nosw,vdpau, -nosound
          pi@raspberrypi:~ $ pm2 flush
          [PM2] Flushing /home/pi/.pm2/pm2.log
          [PM2] Flushing:
          [PM2] /home/pi/.pm2/logs/MagicMirror-out.log
          [PM2] /home/pi/.pm2/logs/MagicMirror-error.log
          [PM2] Logs flushed
          pi@raspberrypi:~ $ pm2 restart MagicMirror
          Use --update-env to update environment variables
          [PM2] Applying action restartProcessId on app [MagicMirror](ids: [ 0 ])
          [PM2] [MagicMirror](0) ✓
          ┌────┬────────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
          │ id │ name           │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
          ├────┼────────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
          │ 0  │ MagicMirror    │ default     │ 2.30.0  │ fork    │ 5704     │ 0s     │ 13   │ online    │ 0%       │ 2.9mb    │ pi       │ enabled  │
          └────┴────────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
          pi@raspberrypi:~ $ sleep 20
          pi@raspberrypi:~ $ grep 'MMM-MPlayer' ~/.pm2/logs/MagicMirror-*.log
          
          /home/pi/.pm2/logs/MagicMirror-out.log:[2025-10-28 19:41:36.725] [LOG]   Module helper loaded: MMM-MPlayer
          /home/pi/.pm2/logs/MagicMirror-out.log:[2025-10-28 19:41:37.509] [LOG]   Connecting socket for: MMM-MPlayer
          /home/pi/.pm2/logs/MagicMirror-out.log:[2025-10-28 19:41:37.510] [LOG]   Starting MMM-MPlayer module ...
          /home/pi/.pm2/logs/MagicMirror-out.log:[2025-10-28 19:41:40.746] [INFO]  [MMM-MPlayer] (launchMPlayer) - Launch mplayer process for window-0 ...
          /home/pi/.pm2/logs/MagicMirror-out.log:[2025-10-28 19:41:40.762] [INFO]  [MMM-MPlayer] Launched mplayer process for window-0 with PID 5921
          /home/pi/.pm2/logs/MagicMirror-out.log:[2025-10-28 19:41:40.762] [INFO]  [MMM-MPlayer] DISPLAY=:0 mplayer rtsp://admin:Camadmin@172.16.0.37:554/cam/realmonitor?channel=1&subtype=0 -vf rotate=-1 -monitoraspect 0 -noborder -geometry 471:20 -x 990 -y 557 -rtsp-stream-over-tcp -prefer-ipv4 -vo xv,gl,gl_nosw,vdpau, -nosound
          /home/pi/.pm2/logs/MagicMirror-out.log:[2025-10-28 19:41:43.181] [INFO]  [MMM-MPlayer] [window-0] stdout: [lavf] stream 0: video (h264), -vid 0
          pi@raspberrypi:~ $
          
          S evroomE 2 Replies Last reply Reply Quote 0
          • S Offline
            sdetweil @ge
            last edited by

            @ge please always config and log info into code block wrappers

            I will fix the prior post

            Copy the text you wish to share
            Paste the text into the editor, blank line above and below
            Select the text you just pasted
            Hit the </> button on the editor tool bar

            Or triple backtick (us keyboard shifted left of 1 key)
            On line by itself above and below your pasted text

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            R 1 Reply Last reply Reply Quote 0
            • R Offline
              RonR @sdetweil
              last edited by

              @sdetweil Thanks for letting me know something I should have know.
              I will do better in the future.

              1 Reply Last reply Reply Quote 0
              • evroomE Offline
                evroom @ge
                last edited by evroom

                @ge

                I have almost the exact environment and Raspberry Pi.
                I am running MM version 2.33.0, but that should not matter IMHO.

                Btw, have 8Gb, and you ?

                vcgencmd get_config total_mem
                

                Can you open the RTSP URL in VLC and then open Window - Media Information ?
                Then the Codec Details tab and please provide the Codec, Video resolution and Frame rate information.
                I have H.264, 2560x1440, 25.

                And can you try to change the config to this (add 2 lines):

                    windows: [
                      {
                        windowSize: { width: 990, height: 557 },
                        windowPosition: { x: 471, y: 20 },
                        rtspStreamOverTcp: true,
                        noSound: true,
                        streams: [
                           'rtsp://admin:Camadmin@172.16.0.37:554/cam/realmonitor?channel=1&subtype=0'
                                 ]
                      }
                    ]
                

                From looks the RTSP URL you are using a Dahua cam, right ?
                Maybe you can try subtype=1 ??
                Or another channel perhaps.
                I do not know the relation between channels and resolutions.
                Try to find a lesser resolution to see if it makes it better.

                Also good to know how many other applications are streaming, for example Synology Surveillance Station.

                MagicMirror version: 2.33.0
                Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                Raspbian GNU/Linux 12 (bookworm)

                Test environment:
                MagicMirror version: v2.33.0
                Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                Raspbian GNU/Linux 12 (bookworm)

                G 1 Reply Last reply Reply Quote 0
                • G Offline
                  ge @evroom
                  last edited by

                  @evroom

                  Here we go. The Pi has only 4gb. I bought 8, but I must have accidentally used it elsewhere. I’ll probably get a Pi 5 with 8gb ordered soon and try that.

                  Codec details:
                  Codec: H264 - MPEG-4 AVC (part 10) (h264)
                  Video resolution: 1920x1080
                  Buffer dimensions: 1920x1088
                  Frame rate: 10
                  Orientation: Top left
                  Color primaries: ITU-R BT.709
                  Color transfer function: ITU-R BT.709
                  Color space: ITU-R BT.709 Range
                  Chroma location: Left

                  Frame rate is normally at 30. It’s 10 at the moment from when I last changed settings around.

                  I added the two lines, no change.

                  Cameras are Amcrest. I’ve tested with the other ones I have, different ages/resolutions, same issues. I have one that is not Amcrest, but it’s down at the moment, and I can’t get to it unless the weather gets better.

                  Tested lowest resolution and appeared not to work, 352x240 too blurry. Changed to 640x480 not very clear, but still could see the lights on vehicles passing by, delayed, stuttering. May take 10 seconds for the cars to pass though the camera, and if I’m lucky maybe 8 images appear. Sometimes only one or two or none at all.

                  Channel/Subchannel let me choose the stream from the camera. Main has the high resolutions, sub has the low. Normally I only use the main, and the sub is disabled.

                  On the old pi 3b, it ran along side with a stream going to Zoneminder using OMXplayer. Ive gone to removing it from Zoneminder, but it makes no change.

                  With all the changes I’ve attempted from high resolution to low, different frame rates, frame intervals, bit rates it never appears to make a difference. The encode is h.264. It has options for h.264b &h.265. Changing to those other encoding does make matters worse.

                  I’d say at this time, if your not running into these problems elsewhere, don’t go too deep on this. I’m probably going to get the Pi5 as it is to have a definite performance boost. I’m also looking at setting up Zoneminder to provide a feed out instead of direct from the camera to see if that makes any difference.
                  It will just take me some time to get to doing that.

                  S 1 Reply Last reply Reply Quote 0
                  • S Offline
                    sdetweil @ge
                    last edited by

                    @ge pirmory is soldered on1/2/4/8. Not user adjustable

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    G 1 Reply Last reply Reply Quote 0
                    • G Offline
                      ge @sdetweil
                      last edited by

                      @sdetweil
                      Just an update on this.
                      I did find my pi 4 with 8gb of memory, after I ordered the pi5 with 8gb. Must have take the old pi 4 w 4Gb memory, out of my mirror, and stuck the old one back in again.
                      I now have setup a fresh install of MM on the new pi5 and it is amazingly fast compared to the old 4. Installed MMM-Mplayer, and it works great for a few hours. After about six hours, the camera on MM is about 15 seconds behind. When that happens the video becomes choppy, and at times it stops for a few seconds, some video is lost. It never gets caught back up again until it is restarted. Letting it run longer, the issue continues to get worse. To figure this out, I have the video being timestamped from the camera.
                      So when MM is started up, the clock on the video agrees ( about a second behind) with the clock on MM, which agrees with another computer displaying the stream. After time has passed, everything is still showing the correct/synced time, except for video in MMM-Mplayer.

                      Processor temp 35-40c

                      evroomE 1 Reply Last reply Reply Quote 0
                      • evroomE Offline
                        evroom @ge
                        last edited by

                        @ge

                        A pity it does not work for you.
                        Strange that is only happens after a several hours
                        But mplayer is rather old, perhaps that is the primary issue.

                        Still, I tried it on my Pi 3b with 1Gb RAM and it runs well.
                        It is 3 to 5 seconds lagging.
                        Like the stream on my P4b with 8Gb.
                        It also does not seem very memory hungry.

                        Pi 3b is steaming now for over 2 hours, so I will need to look later again to see if it got messed up.
                        The Pi 4b is streaming for 2 weeks straight now, without issues.

                        To me it looks more like a camera issue, but if you say that other players have no issues …
                        Somehow mplayer does not like your rtsp stream, or it is a combination of factors.

                        I have found that there is a config file, where you can set options.
                        Try out some options (need to restart MagicMirror after every change).
                        For example try nocache first.
                        Then try cache=65536.
                        The option nosound is always good (can be set in the MMM-Mplayer options too, if not already done so).
                        The bandwidth option is just a shot in the dark.

                        $ vi ~/.mplayer/config
                        # Write your default config options here!
                        
                        # No cache
                        nocache=yes
                        
                        # Cache size in kBytes (4MB / 8MB / 16MB / 64MB)
                        # cache=4096
                        # cache=8192
                        # cache=16384
                        # cache=65536
                        
                        # Do not play/encode sound
                        nosound=yes
                        
                        # Bandwidth (10MB / 100MB / 1000MB)
                        # bandwidth=80000000
                        bandwidth=100000000
                        # bandwidth=1000000000
                        

                        What also can be the case, is that the windowSize is not matching your stream resolution.
                        This can cause issues as it needs to recode this portion.
                        Try:

                        windowSize: { width: 960, height: 540 },
                        

                        for a 1920x1080 (16:9) stream.

                        That is all I can think of.
                        Good luck.

                        MagicMirror version: 2.33.0
                        Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                        Raspbian GNU/Linux 12 (bookworm)

                        Test environment:
                        MagicMirror version: v2.33.0
                        Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                        Raspbian GNU/Linux 12 (bookworm)

                        G 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 2 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy