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.
    • BKeyportB Online
      BKeyport Module Developer
      last edited by BKeyport

      Check your IP string here: https://www.ispyconnect.com/man.aspx?n=Reolink mine uses h264Preview_01_sub for instance.

      I do use ffmpeg for the picture as it seems to work better for my system - I have an RLC-410.

      		module: "MMM-RTSPStream",
      		position: "top_center",
      		config: {
      			autoStart: true,
      			rotateStreams: false,
      			moduleWidth: 640,
      			moduleHeight: 360,
      			localPlayer: 'ffmpeg',
      			remotePlayer: 'ffmpeg',
      			showSnapWhenPaused: false,
      			remoteSnaps: false,
      			omxRestart: 2,
      			stream1: {
      				name: 'Front Camera',
      				url: 'rtsp://user:pass@FrontCam/h264Preview_01_sub', 
      				protocal: "ucp",
      				width: 640,
      				height: 360, 
      				ffmpegPort: 9999,
      				shutdownDelay: 0,
      			},
      		}
      	},
      

      Oh, and if you want to get rid of the white box (I find it distracting) in your custom.css file:

      .MMM-RTSPStream .innerWrapper {
      border: 0;
      }

      The "E" in "Javascript" stands for "Easy"

      J 1 Reply Last reply Reply Quote 0
      • J Offline
        jimmysmalls @BKeyport
        last edited by

        @BKeyport

        Thanks for the link. Mine is the RLC-420 and says h264Preview_01_main. I even tried just using your code and replacing with my credentials but all I can get is a gray box. Strange thing is I can open main or sub in vlc just fine. I thought this was going to be an easy project haha

        1 Reply Last reply Reply Quote 0
        • BKeyportB Online
          BKeyport Module Developer
          last edited by

          try ffmpeg, might be something wrong with the main player.

          The "E" in "Javascript" stands for "Easy"

          J 1 Reply Last reply Reply Quote 0
          • J Offline
            jimmysmalls @BKeyport
            last edited by

            @BKeyport

            I did actually. It shows a pause button when I hover over it but just gives me a black screen. :(

            1 Reply Last reply Reply Quote 0
            • BKeyportB Online
              BKeyport Module Developer
              last edited by

              hmmm. have you tried changing to “sub” rather than “main”? The “sub” feed is the lower quality feed, and better suited for RPI…

              The "E" in "Javascript" stands for "Easy"

              1 Reply Last reply Reply Quote 0
              • B Offline
                bill22
                last edited by

                Hey Guys,

                i face some problems to get the RTSP module to work with my stream and wonder if @shbatm or someone else can help.

                Objective is to use the live dvb-c feed provided by an AVM FritzBox 6490 cable router to display the tv program on the MagicMirror (v2.7.1).

                The link given by the FritzBox is working fine with the VLC player on the Raspberry but when using the same link in the RTSP module it remains a black screen.

                Stream Link FritzBox:
                rtsp://192.168.178.1:554/?avm=1&freq=394&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,266,593,594,595,598,1801,1802,1803

                ———
                Config used from generator:

                {
                    module: "MMM-RTSPStream",
                    position: "middle_center",
                    config: {
                        autoStart: true,
                        rotateStreams: false,
                        rotateStreamTimeout: 10,
                        moduleWidth: 354,
                        moduleHeight: 240,
                        localPlayer: 'omxplayer',
                        remotePlayer: 'none',
                        showSnapWhenPaused: false,
                        remoteSnaps: false,
                        stream1: {
                            name: 'test1',
                            url: 'rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov',
                            frameRate: 'undefined',
                            width: undefined,
                            height: undefined,
                            },
                        stream2: {
                            name: 'test2',
                            url: 'rtsp://192.168.178.1:554/?avm=1&freq=394&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,266,593,594,595,598,1801,1802,1803',
                            frameRate: 'undefined',
                            width: undefined,
                            height: undefined,
                            },
                     
                        }
                },
                

                ———

                Some findings:

                • When using above link from the FritzBox in VLC player, the stream is working inside VLC Player
                • When using the Big Bunny test file on the mirror its starts automatically and running well
                • Tried both in the config generator, rotating streams and show streams in parallel, it brings the same result.

                The BigBunny streams is showing correctly with audio and video, FritzBox stream box will show grey frame with black content only and no sound.

                —————
                The console shows the following logs:

                Starting stream stream1 with args: [
                “–avdict”,
                “rtsp_transport:tcp”,
                “–win”,
                “351, 708, 703, 950”,
                “–live”,
                “–video_queue”,
                “4”,
                “–fps”,
                “30”,
                “rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov”
                ]
                Starting stream stream2 with args: [
                “–avdict”,
                “rtsp_transport:tcp”,
                “–win”,
                “351, 968, 703, 1210”,
                “–live”,
                “–video_queue”,
                “4”,
                “–fps”,
                “30”,
                “rtsp://192.168.178.1:554/?avm=1&freq=394&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,266,593,594,595,598,1801,1802,1803”
                ]
                Starting PM2 for omx_stream2
                PM2 started for omx_stream2
                Starting PM2 for omx_stream1
                PM2 started for omx_stream1

                ————

                Great if you have an idea and can let me know what to change to get this running.
                Bill

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

                  @bill22

                  Hi,

                  I would remove stream1 from the config (and rename stream2 to stream1) since you know “test1” passed.

                  What does this say ?

                  $ vcgencmd codec_enabled MPG2
                  

                  And when MM is started, do you see omxplayer processes ?

                  $ ps -eaf | grep -v grep | grep omxplayer
                  $ pm2 status
                  

                  And standalone (best without any omxplayer process(es) active) ?

                  $ /usr/bin/omxplayer --avdict rtsp_transport:tcp --live --video_queue 4 --fps 30 --win 351 968 703 1210 rtsp://192.168.178.1:554/?avm=1&freq=394&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,266,593,594,595,598,1801,1802,1803
                  

                  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)

                  1 Reply Last reply Reply Quote 0
                  • B Offline
                    bill22
                    last edited by bill22

                    @evroom

                    Hi and thank you.

                    Adapted the config as suggested and renamed the streams.

                    checked your requested topics:

                    pi@raspberrypi:~ $ vcgencmd codec_enabled MPG2
                    MPG2=disabled
                    

                    Is the MPG2 codec mandatory?

                    pi@raspberrypi:~ $ /usr/bin/omxplayer --avdict rtsp_transport:tcp --live --video_queue 4 --fps 30 --win 351 968 703 1210 rtsp://192.168.178.1:554/?avm=1&freq=394&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,266,593,594,595,598,1801,1802,1803
                    [1] 1346
                    [2] 1347
                    [3] 1348
                    [4] 1349
                    [5] 1350
                    [6] 1351
                    [7] 1352
                    [2]   Fertig                  freq=394
                    [3]   Fertig                  bw=8
                    [4]   Fertig                  msys=dvbc
                    [5]   Fertig                  mtype=256qam
                    pi@raspberrypi:~ $ File "968" not found.
                    
                    Starting stream stream1 with args: [
                        "--avdict",
                        "rtsp_transport:tcp",
                        "--win",
                        "351, 708, 703, 950",
                        "--live",
                        "--video_queue",
                        "4",
                        "--fps",
                        "30",
                        "rtsp://192.168.178.1:554/?avm=1&freq=394&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,266,593,594,595,598,1801,1802,1803"
                    ]
                    Starting PM2 for omx_stream1
                    PM2 started for omx_stream1
                    
                    pi@raspberrypi:~ $ ps -eaf | grep -v grep | grep omxplayer
                    pi        3533  2023  0 15:57 ?        00:00:00 bash /usr/bin/omxplayer --avdict rtsp_transport:tcp --win 351, 708, 703, 950 --live --video_queue 4 --fps 30 rtsp://192.168.178.1:554/?avm=1&freq=394&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,266,593,594,595,598,1801,1802,1803
                    pi        3551  3533  0 15:57 ?        00:00:00 bash /usr/bin/omxplayer --avdict rtsp_transport:tcp --win 351, 708, 703, 950 --live --video_queue 4 --fps 30 rtsp://192.168.178.1:554/?avm=1&freq=394&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,266,593,594,595,598,1801,1802,1803
                    pi@raspberrypi:~ $
                    
                    evroomE 1 Reply Last reply Reply Quote 0
                    • evroomE Online
                      evroom @bill22
                      last edited by evroom

                      @bill22

                      The last output actually looks good.
                      Processes are there.
                      Do they remain present after a few minutes, with same PID’s ?

                      Can you try this again using quotes around the --win parameter ?

                      $ /usr/bin/omxplayer --avdict rtsp_transport:tcp --live --video_queue 4 --fps 30 --win '351 968 703 1210' rtsp://192.168.178.1:554/?avm=1&freq=394&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,266,593,594,595,598,1801,1802,1803
                      

                      It can be that a mpeg2 license is necessary.
                      I know that for satellite TS streams it is.
                      http://www.raspberrypi.com/mpeg-2-license-key/

                      When you stream it via VLC Player, you can see under Media Information - Codec Details what codec is being used.

                      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)

                      1 Reply Last reply Reply Quote 0
                      • B Offline
                        bill22
                        last edited by

                        @evroom

                        not sure if i can check this correctly with the processes but if i run the test file (Big Bunny) it runs for minutes…

                        tried it with quotes around the win parameter:

                        pi@raspberrypi:~ $ $ /usr/bin/omxplayer --avdict rtsp_transport:tcp --live --video_queue 4 --fps 30 --win '351 968 703 1210' rtsp://192.168.178.1:554/?avm=1&freq=394&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,266,593,594,595,598,1801,1802,1803
                        [1] 1563
                        [2] 1564
                        [3] 1565
                        bash: $: Kommando nicht gefunden.
                        [4] 1566
                        [5] 1567
                        [6] 1568
                        [7] 1569
                        [1]   Exit 127                $ /usr/bin/omxplayer --avdict rtsp_transport:tcp --live --video_queue 4 --fps 30 --win '351 968 703 1210' rtsp://192.168.178.1:554/?avm=1
                        [2]   Fertig                  freq=394
                        [4]   Fertig                  msys=dvbc
                        [5]   Fertig                  mtype=256qam
                        [6]-  Fertig                  sr=6900
                        

                        I am also going to check it out with the license as VLC is showing MPEG 1/2 (mpgv) as codec…

                        evroomE 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 28
                        • 29
                        • 30
                        • 31
                        • 32
                        • 60
                        • 61
                        • 30 / 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