Read the statement by Michael Teeuw here.
[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras
-
yes with Buck Bunny the audio was there.
I use audio over HDMI.
adding
--audio_queue 4
didn’t change the behaviour .
removed
--hw
Audio is working smoothly together with video ! !
-
@bill22
Great!!Now you could try to enable the RTSPStream module again.
Useurl: ''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 you need to play a little.
single quote single quote < url > single quote single quote
double quote single quote < url > single quote double quote
single quote < url with & > single quoteI hope you understand what I mean.
Look at the pm2 log for clues.
Over and out for today.
-
Thank you very much for your guidance getting it to this point !!!
Great that it is working so far!
Have a good evening and i will follow your recommendations and let you know the outcome!
Bill
-
Try this
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',
Perhaps even the ? needs to be escaped
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',
-
Here a procedure on how to use omxplayer as an addition to MM (without MMM-RTSPStream).
This is how I use it for my Axis IP cam.
You might need to reposition a few modules to make place for the overlaid stream.pi@MagicPi:~ $ cd pi@MagicPi:~ $ vi avm_stream.sh #!/bin/bash echo "Starting AVM stream ..." /usr/bin/omxplayer --genlog --live --video_queue 4 --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' pi@MagicPi:~ $ chmod +x avm_stream.sh pi@MagicPi:~ $ pm2 start avm_stream.sh i@MagicPi:~ $ pm2 save i@MagicPi:~ $ pm2 status
Instead of vi you of course can use nano or so.
When it runs you can remove the --genlog option.
And I kind of lost track which exact command worked for you at the end. -
The command working with the omx player is:
/usr/bin/omxplayer --genlog --live --video_queue 4 --audio_queue 4 --win '1 720 503 1010' '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'
-
MMM-RTSPStream modification for AVM DVB-C stream.
$ vi ~/MagicMirror/config/config.js frameRate: "25", protocol: "tcp", 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' $ cd /home/pi/MagicMirror/modules/MMM-RTSPStream $ cp -p node_helper.js node_helper.js.original $ nano node_helper.js
Use
[control]-
(control minus) and enter101
to go to line 101var args = ["--live", "--video_queue", "4", "--fps", "30",
Change the line to:
var args = ["--live", "--video_queue", "4", "--audio_queue", "4", "--fps", "25",
Use
[control]x
and thenY
to save the file.$ pm2 restart mm $ pm2 logs mm $ ps -eaf | grep omxplayer | grep -v grep $ pm2 status
-
it shows the following status after the modification:
pi@raspberrypi:~ $ pm2 restart mm Use --update-env to update environment variables [PM2] Applying action restartProcessId on app [mm](ids: 1) [PM2] [mm](1) ✓ ┌─────────────┬────┬──────┬─────────┬────┬─────┬──────────┐ │ Name │ id │ mode │ status │ ↺ │ cpu │ memory │ ├─────────────┼────┼──────┼─────────┼────┼─────┼──────────┤ │ avm_stream │ 2 │ fork │ stopped │ 1 │ 0% │ 0 B │ │ mm │ 1 │ fork │ online │ 1 │ 0% │ 2.5 MB │ │ omx_stream1 │ 0 │ fork │ stopped │ 31 │ 0% │ 0 B │ └─────────────┴────┴──────┴─────────┴────┴─────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app
pi@raspberrypi:~ $ pm2 logs mm [TAILING] Tailing last 15 lines for [mm] process (change the value with --lines option) /home/pi/.pm2/logs/mm-error.log last 15 lines: 1|mm | npm ERR! /home/pi/.npm/_logs/2019-07-09T20_38_42_696Z-debug.log 1|mm | 1|mm | (electron:1742): Gtk-WARNING **: cannot open display: :0 1|mm | npm ERR! code ELIFECYCLE 1|mm | npm ERR! errno 1 1|mm | npm ERR! magicmirror@2.7.1 start: `sh run-start.sh` 1|mm | npm ERR! Exit status 1 1|mm | npm ERR! 1|mm | npm ERR! Failed at the magicmirror@2.7.1 start script. 1|mm | npm ERR! This is probably not a problem with npm. There is likely additional logging output above. 1|mm | 1|mm | npm ERR! A complete log of this run can be found in: 1|mm | npm ERR! /home/pi/.npm/_logs/2019-07-09T20_38_45_348Z-debug.log 1|mm | ATTENTION: default value of option force_s3tc_enable overridden by environment. 1|mm | ATTENTION: default value of option force_s3tc_enable overridden by environment.
/home/pi/.pm2/logs/mm-out.log last 15 lines: 1|mm | "--avdict", 1|mm | "rtsp_transport:tcp", 1|mm | "--win", 1|mm | "666, 393, 1018, 635", 1|mm | "--live", 1|mm | "--video_queue", 1|mm | "4", 1|mm | "--audio_queue", 1|mm | "4", 1|mm | "--fps", 1|mm | "25", 1|mm | "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|mm | ] 1|mm | Starting PM2 for omx_stream1 1|mm | PM2 started for omx_stream1
pi@raspberrypi:~ $ ps -eaf | grep omxplayer | grep -v grep pi 6325 813 0 23:17 ? 00:00:00 bash /usr/bin/omxplayer --avdict rtsp_transport:tcp --win 666, 393, 1018, 635 --live --video_queue 4 --audio_queue 4 --fps 25 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 6327 6325 0 23:17 ? 00:00:00 bash /usr/bin/omxplayer --avdict rtsp_transport:tcp --win 666, 393, 1018, 635 --live --video_queue 4 --audio_queue 4 --fps 25 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:~ $ pm2 status ┌─────────────┬────┬──────┬─────────┬─────┬─────┬──────────┐ │ Name │ id │ mode │ status │ ↺ │ cpu │ memory │ ├─────────────┼────┼──────┼─────────┼─────┼─────┼──────────┤ │ avm_stream │ 2 │ fork │ stopped │ 1 │ 0% │ 0 B │ │ mm │ 1 │ fork │ online │ 1 │ 0% │ 2.5 MB │ │ omx_stream1 │ 0 │ fork │ online │ 117 │ 0% │ 2.6 MB │ └─────────────┴────┴──────┴─────────┴─────┴─────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app
-
Hi,
Overall it looks good I would say.
The ERR are a concern, but I do not see a connection with RTSP.
Give the/home/pi/.npm/_logs/2019-07-09T20_38_42_696Z-debug.log
and/home/pi/.npm/_logs/2019-07-09T20_38_45_348Z-debug.log
a clue ?
Or when you restart mm, the newly generated log files ?With
$ ps -eaf | grep omxplayer | grep -v grep
andpm2 status
, are the PIDs for omxplayer and omx_stream1 stable, or do they change ?Could you do ?
$ pstree -ap `pgrep omxplayer | head -1`; pstree -ap `pm2 status | grep omx_stream1 | awk '{print $10}'`
-
The pstree command might not work when the width of your terminal is not enough.
Make it wide enough to have pm2 status show the PID column.