[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras



  • 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;
    }



  • @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



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



  • @BKeyport

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



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



  • 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



  • @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
    


  • @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:~ $
    


  • @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.



  • @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…