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-RTSPStream] - Video Streaming from Live Feeds & Security Cameras

    Scheduled Pinned Locked Moved Utilities
    602 Posts 67 Posters 1.9m Views 68 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.
    • E Offline
      epi
      last edited by

      pi@raspberrypi:~ $ pm2 logs

      [TAILING] Tailing last 15 lines for [all] processes (change the value with --lines option)
      /home/pi/.pm2/pm2.log last 15 lines:
      PM2        | [2018-09-21T20:42:51.125Z] PM2 log: App [omx_stream1] with id [1] and pid [6551], exited with code [1] via signal [SIGI                                              NT]
      PM2        | [2018-09-21T20:42:51.132Z] PM2 log: Starting execution sequence in -fork mode- for app name:omx_stream1 id:1
      PM2        | [2018-09-21T20:42:51.159Z] PM2 log: App name:omx_stream1 id:1 online
      PM2        | [2018-09-21T20:42:53.221Z] PM2 log: App [omx_stream1] with id [1] and pid [6582], exited with code [1] via signal [SIGI                                              NT]
      PM2        | [2018-09-21T20:42:53.234Z] PM2 log: Starting execution sequence in -fork mode- for app name:omx_stream1 id:1
      PM2        | [2018-09-21T20:42:53.253Z] PM2 log: App name:omx_stream1 id:1 online
      PM2        | [2018-09-21T20:42:59.249Z] PM2 log: Stopping app:mm id:0
      PM2        | [2018-09-21T20:42:59.562Z] PM2 log: App [mm] with id [0] and pid [6136], exited with code [0] via signal [SIGINT]
      PM2        | [2018-09-21T20:42:59.632Z] PM2 log: pid=6136 msg=process killed
      PM2        | [2018-09-21T20:42:59.635Z] PM2 log: Starting execution sequence in -fork mode- for app name:mm id:0
      PM2        | [2018-09-21T20:42:59.651Z] PM2 log: App name:mm id:0 online
      PM2        | [2018-09-21T20:43:35.020Z] PM2 log: Stopping app:omx_stream1 id:1
      PM2        | [2018-09-21T20:43:35.054Z] PM2 error: Process with pid 6613 already exists
      PM2        | [2018-09-21T20:43:35.174Z] PM2 log: App [omx_stream1] with id [1] and pid [6613], exited with code [1] via signal [SIGI                                              NT]
      PM2        | [2018-09-21T20:43:35.193Z] PM2 log: pid=6613 msg=process killed
      
      /home/pi/.pm2/logs/omx-stream1-error.log last 15 lines:
      /home/pi/.pm2/logs/mm-error.log last 15 lines:
      0|mm       | WARNING! Could not validate config file. Please correct syntax errors. Starting with default configuration.
      0|mm       | [885:0919/041827.726584:FATAL:bus.cc(1152)] D-Bus connection was disconnected. Aborting.
      0|mm       | WARNING! Could not validate config file. Please correct syntax errors. Starting with default configuration.
      0|mm       | [10472:0919/213258.329193:FATAL:bus.cc(1152)] D-Bus connection was disconnected. Aborting.
      0|mm       | TypeError: `port` or a `server` must be provided
      0|mm       |     at new WebSocketServer (/home/pi/MagicMirror/modules/MMM-RTSPStream/node_modules/node-rtsp-stream-es6/node_modules/                                              ws/lib/WebSocketServer.js:44:11)
      0|mm       |     at VideoStream.startListener (/home/pi/MagicMirror/modules/MMM-RTSPStream/node_modules/node-rtsp-stream-es6/src/vid                                              eoStream.js:32:24)
      0|mm       |     at Class.startListener (/home/pi/MagicMirror/modules/MMM-RTSPStream/node_helper.js:49:32)
      0|mm       |     at Class.socketNotificationReceived (/home/pi/MagicMirror/modules/MMM-RTSPStream/node_helper.js:257:22)
      0|mm       |     at Socket.<anonymous> (/home/pi/MagicMirror/modules/node_modules/node_helper/index.js:113:11)
      0|mm       |     at emitTwo (events.js:126:13)
      0|mm       |     at Socket.emit (events.js:214:7)
      0|mm       |     at /home/pi/MagicMirror/node_modules/socket.io/lib/socket.js:513:12
      0|mm       |     at _combinedTickCallback (internal/process/next_tick.js:131:7)
      0|mm       |     at process._tickCallback (internal/process/next_tick.js:180:9)
      
      /home/pi/.pm2/logs/mm-out.log last 15 lines:
      0|mm       | Starting stream stream1 with args: [
      0|mm       |     "--avdict",
      0|mm       |     "rtsp_transport:tcp",
      0|mm       |     "--win",
      0|mm       |     "800, 421, 1120, 661",
      0|mm       |     "--live",
      0|mm       |     "--video_queue",
      0|mm       |     "4",
      0|mm       |     "--fps",
      0|mm       |     "30",
      0|mm       |     "rtsp://192.168.2.237:554/user=USERNAME&password=PASSWORD&channel=1&stream=0"
      0|mm       | ]
      0|mm       | PM2: omx_stream1 already running. Stopping old instance...
      0|mm       | Starting PM2 for omx_stream1
      0|mm       | PM2 started for omx_stream1
      
      
      
      
      1 Reply Last reply Reply Quote 0
      • S Offline
        shbatm Module Developer
        last edited by

        @epi said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:

        /user=USERNAME&password=PASSWORD&channel=1&stream=0.sdp

        Looking at the logs it looks like it’s trying to launch everything correctly. Just to confirm:

        1. The stream works correctly in VLC using the URL you have above.
        2. Since you’re using OMXPlayer – you are testing on the mirror with the RPi connected (not with VNC/Remote Desktop, etc). You won’t see playback from OMXPlayer on anything but the monitor connected to the RPi.

        You can try:

        1. Make sure the stream works with OMXPlayer by testing with the command line (shut down Magic Mirror first):
          omxplayer --avdict rtsp_transport:tcp --win 800, 421, 1120, 661 --live --video_queue 4 --fps 30 rtsp://192.168.2.237:554/user=USERNAME&password=PASSWORD&channel=1&stream=0.sdp
          
        2. Test the above with and without .sdp at the end of the path. I noticed in your log above for some reason it didn’t pass the extension .sdp. I don’t know if this is the issue or not. You can also try without the --win argument to test it full screen.
        3. Using UDP instead of TCP, put protocol: "udp" in your stream config (to test from command line, remove the rtsp_transport:tcp argument.
        4. Using stream=1 to test the lower resolution sub-stream. Sometimes OMXPlayer just refuses to do anything (without any errors) if it doesn’t have enough video memory–I’ve only seen it happen trying to play 3 streams at once though.
        5. Try adding a ? at the end of the stream url. Just something I saw while googling your url format to find out what kind of camera you have.
        E 1 Reply Last reply Reply Quote 0
        • E Offline
          epi
          last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • E Offline
            epi @shbatm
            last edited by

            @shbatm

            @shbatm said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:

            Looking at the logs it looks like it’s trying to launch everything correctly. Just to confirm:

            1. The stream works correctly in VLC using the URL you have above.
            2. Since you’re using OMXPlayer – you are testing on the mirror with the RPi connected (not with VNC/Remote Desktop, etc). You won’t see playback from OMXPlayer on anything but the monitor connected to the RPi.
            1. Yes, it does work in VLC.
            2. I control RPi via SSH & VNC, but it is connected via HDMI to monitor and I don’t see any output on the actual screen neither via VNC, nor actual screen.

            Testing:

            1. By making tests I encounter an error:
            pi@raspberrypi:~ $ sudo reboot
            login as: pi
            pi@192.168.2.111's password:
            Linux raspberrypi 4.14.50-v7+ #1122 SMP Tue Jun 19 12:26:26 BST 2018 armv7l
            
            The programs included with the Debian GNU/Linux system are free software;
            the exact distribution terms for each program are described in the
            individual files in /usr/share/doc/*/copyright.
            
            Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
            permitted by applicable law.
            Last login: Mon Sep 24 01:55:35 2018
            
            SSH is enabled and the default password for the 'pi' user has not been changed.
            This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
            
            pi@raspberrypi:~ $ pm2 stop mm
            [PM2] Applying action stopProcessId on app [mm](ids: 0)
            [PM2] [mm](0) ✓
            ┌──────────┬────┬──────┬─────┬─────────┬─────────┬────────┬─────┬────────┬──────┬──────────┐
            │ App name │ id │ mode │ pid │ status  │ restart │ uptime │ cpu │ mem    │ user │ watching │
            ├──────────┼────┼──────┼─────┼─────────┼─────────┼────────┼─────┼────────┼──────┼──────────┤
            │ mm       │ 0  │ fork │ 0   │ stopped │ 0       │ 0      │ 0%  │ 0 B    │ pi   │ disabled │
            └──────────┴────┴──────┴─────┴─────────┴─────────┴────────┴─────┴────────┴──────┴──────────┘
             Use `pm2 show <id|name>` to get more details about an app
            pi@raspberrypi:~ $ omxplayer --avdict rtsp_transport:tcp --win 800, 421, 1120, 661 --live --video_queue 4 --fps 30 rtsp://192.168.2.237:554/user=USER&password=PASS&channel=1&stream=0.sdp
            [1] 1084
            [2] 1085
            [3] 1086
            pi@raspberrypi:~ $ File "421," not found.
            pi@raspberrypi:~ $
            
            
            1. Did not work
            2. Also did not work, this time another file is not being found
            omxplayer --avdict 421, 1120, 661 --live --video_queue 4 --fps 30 rtsp://192.168.2.237:554/user=USER&password=PASS&channel=1&stream=0
            [7] 1213
            [8] 1214
            [9] 1215
            [4]   Exit 1                  omxplayer --avdict 421, 1120, 661 --live --video_queue 4 --fps 30 rtsp://192.168.2.237:554/user=USERNAME
            [5]   Done                    password=PASSWORD
            [6]   Done                    channel=1
            pi@raspberrypi:~ $ File "1120," not found.
            
            
            1. 5., Did not work
            pi@raspberrypi:~ $ File "421," not found.
            
            1 Reply Last reply Reply Quote 0
            • S Offline
              shbatm Module Developer
              last edited by shbatm

              @epi My fault: for command line you have to fix the window command line argument:
              ... --win 800,421,1120,661 ... or ... --win '800 421 1120 661' ... and I think put the URL in quotes.

              You can test it without that whole argument (should play full screen). This is what I meant in #2 above. Here’s some combos to try:

              # Option 1 -- Should be full screen (if it works):
              omxplayer --avdict rtsp_transport:tcp --live --video_queue 4 --fps 30 "rtsp://192.168.2.237:554/user=USERNAME&password=PASSWORD&channel=1&stream=0.sdp"
              # Option 2:
              omxplayer --avdict rtsp_transport:tcp --live --video_queue 4 --fps 30 "rtsp://192.168.2.237:554/user=USERNAME&password=PASSWORD&channel=1&stream=0"
              # Option 3 Sub-stream:
              omxplayer --avdict rtsp_transport:tcp --live --video_queue 4 --fps 30 "rtsp://192.168.2.237:554/user=USERNAME&password=PASSWORD&channel=1&stream=1.sdp"
              # Option 4 UDP:
              omxplayer --live --video_queue 4 --fps 30 "rtsp://192.168.2.237:554/user=USERNAME&password=PASSWORD&channel=1&stream=0.sdp"
              
              E 1 Reply Last reply Reply Quote 0
              • E Offline
                epi @shbatm
                last edited by

                @shbatm

                I did a fresh install of RPI OS & MM all addons

                Option one: freeze, then after a wait console available again

                pi@raspberrypi:~/MagicMirror/modules/MMM-RTSPStream $ omxplayer --avdict rtsp_transport:tcp --live --video_queue 4 --fps 30 "rtsp://192.168.2.237:554/user=USER&password=PASS&channel=1&stream=0.sdp"
                Video codec omx-h264 width 1280 height 960 profile 77 fps 30.000000
                Audio codec pcm_alaw channels 1 samplerate 8000 bitspersample 8
                Subtitle count: 0, state: off, index: 1, delay: 0
                V:PortSettingsChanged: 1280x960@30.00 interlace:0 deinterlace:0 anaglyph:0 par:1.00 display:0 layer:0 alpha:255 aspectMode:0
                have a nice day ;)
                

                Option two: many lines

                COMXVideo::Decode timeout
                

                Option three: same as first one, freeze then

                Video codec omx-h264 width 704 height 576 profile 77 fps 30.000000
                Audio codec pcm_alaw channels 1 samplerate 8000 bitspersample 8
                Subtitle count: 0, state: off, index: 1, delay: 0
                V:PortSettingsChanged: 704x576@30.00 interlace:0 deinterlace:0 anaglyph:0 par:1.00 display:0 layer:0 alpha:255 aspectMode:0
                

                Option four:

                pi@raspberrypi:~ $ omxplayer --live --video_queue 4 --fps 30 "rtsp://192.168.2.2                                                                                                                                                             37:554/user=USER&password=PASS&channel=1&stream=0.sdp"
                Video codec omx-h264 width 1280 height 960 profile 77 fps 30.000000
                Audio codec pcm_alaw channels 1 samplerate 8000 bitspersample 8
                Subtitle count: 0, state: off, index: 1, delay: 0
                
                
                
                1 Reply Last reply Reply Quote 0
                • Cr4z33C Offline
                  Cr4z33
                  last edited by Cr4z33

                  Hi @shbatm I am playing with your module to see TV programs from a Vu+ Duo² (a DVB-S2+DVB-T Linux/Enigma2 decoder).

                  The only thing I can’t succed is to see HD TV programs.
                  I’ve tried to use both

                  url
                  

                  and

                  hdUrl
                  

                  , but those streams won’t start (while normal SD programs are working just fine).

                  This is my current script by the way (the HD channel has been disabled in the meantime):

                  {
                  		    module: "MMM-RTSPStream",
                  		    position: "bottom_right",
                  		    // header: "Sky TG24",
                  		        config: {
                  		        autoStart: true,
                  		        rotateStreams: false,
                  		        rotateStreamTimeout: 10,
                  		        moduleWidth: 390,
                  		        moduleHeight: 219,
                  		        localPlayer: 'omxplayer',
                  		        remotePlayer: 'none',
                  		        showSnapWhenPaused: false,
                  		        remoteSnaps: false,
                  		        stream1: {
                  		            // name: 'Sky TG24',
                  		            // url: 'http://192.168.1.6:8001/1:0:1:5:7918:217C:EEEE0000:0:0:0:',
                  		            name: 'RAI 3 TGR Puglia',
                  		            url: 'http://192.168.1.6:8001/1:0:1:D4B:8800:13E:EEEE0000:0:0:0:',
                  		            // name: 'RAI 3 HD',
                  		            // hdUrl: 'http://192.168.1.6:8001/1:0:1:2191:5:13E:EEEE0000:0:0:0:',
                  		            protocol: "tcp",
                  		            frameRate: 'undefined',
                  		            width: 390,
                  		            height: 219,
                  		            }
                  		        }
                  		},
                  
                  1 Reply Last reply Reply Quote 0
                  • evroomE Online
                    evroom
                    last edited by evroom

                    Hi,

                    Can you check this ?

                    $ vcgencmd codec_enabled MPG2
                    

                    It should say “MPG2=enabled”.

                    License can be bought for a few euro’s:

                    http://www.raspberrypi.com/mpeg-2-license-key/

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

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

                    Cr4z33C 1 Reply Last reply Reply Quote 0
                    • Cr4z33C Offline
                      Cr4z33 @evroom
                      last edited by

                      @evroom said in [MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras:

                      Hi,

                      Can you check this ?

                      $ vcgencmd codec_enabled MPG2
                      

                      It should say “MPG2=enabled”.

                      License can be bought for a few euro’s:

                      http://www.raspberrypi.com/mpeg-2-license-key/

                      It is enabled as I followed your advice. ;)

                      As I said normal SD TV programs work just fine.
                      The problem is with High Definition programs.

                      1 Reply Last reply Reply Quote 0
                      • evroomE Online
                        evroom
                        last edited by

                        RAI 3 HD probably is not free-to-air, so I cannot check it.

                        But to be honest, it seems NOT to work for me too.
                        Only SD, no HD.
                        I had it working on v2.4.1 (made notes about it to not to forget) and did not use it after that.

                        You can test it directly, without having to change the MM config all the time:

                        $ omxplayer --win "0 0 800 480" --live "http://192.168.1.6:8001/1:0:1:D4B:8800:13E:EEEE0000:0:0:0:"
                        
                        $ omxplayer --win "0 0 800 480" --live "http://192.168.1.6:8001/1:0:1:2191:5:13E:EEEE0000:0:0:0:"
                        

                        omxplayer will show the stream details:

                        Video codec omx-mpeg2 width 720 height 576 profile 4 fps 25.000000
                        Video codec omx-h264 width 1920 height 1080 profile 100 fps 50.000000
                        

                        On my Pi it seems to run, but nothing appears on the screen.
                        :-(

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

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

                        Cr4z33C 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 9
                        • 10
                        • 11
                        • 12
                        • 13
                        • 60
                        • 61
                        • 11 / 61
                        • 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