Read the statement by Michael Teeuw here.
[MMM-RTSPStream] - Video Streaming from Live Feeds & Security Cameras
-
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. -
Hi,
i couldnt find something in the log so far…
I may overlook something here in genera. Looks like the avm_stream is still starting on rebooting the RPI…I tried with stop and save within pm2 already…So if I reboot, the avm_stream is online again…
pi@raspberrypi:~ $ pm2 status ┌─────────────┬────┬──────┬─────────┬────┬─────┬──────────┐ │ Name │ id │ mode │ status │ ↺ │ cpu │ memory │ ├─────────────┼────┼──────┼─────────┼────┼─────┼──────────┤ │ avm_stream │ 2 │ fork │ stopped │ 0 │ 0% │ 0 B │ │ mm │ 1 │ fork │ online │ 0 │ 0% │ 2.6 MB │ │ omx_stream1 │ 0 │ fork │ stopped │ 15 │ 0% │ 0 B │ └─────────────┴────┴──────┴─────────┴────┴─────┴──────────┘
pi@raspberrypi:~ $ pstree -ap `pgrep omxplayer | head -1`; pstree -ap `pm2 status | grep omx_stream1 | awk '{print $10}'` systemd,1 splash ├─PM2 v3.5.1: God,813 │ ├─bash,923 /home/pi/mm.sh │ │ └─npm,929 │ │ ├─sh,1047 -c sh run-start.sh │ │ │ └─sh,1048 run-start.sh │ │ │ └─node,1049 /home/pi/MagicMirror/node_modules/.bin/electron js/electron.js │ │ │ ├─electron,1064 │ │ │ │ ├─electron,1126 │ │ │ │ │ └─electron,1467 │ │ │ │ │ ├─{Chrome_ChildIOT},1473 │ │ │ │ │ ├─{CompositorTileW},1496 │ │ │ │ │ ├─{CompositorTileW},1501 │ │ │ │ │ ├─{CompositorTileW},1503 │ │ │ │ │ ├─{Compositor},1495 │ │ │ │ │ ├─{File thread},1479 │ │ │ │ │ ├─{GpuMemoryThread},1474 │ │ │ │ │ ├─{ScriptStreamer },1539 │ │ │ │ │ ├─{TaskSchedulerBa},1469 │ │ │ │ │ ├─{TaskSchedulerBa},1470 │ │ │ │ │ ├─{TaskSchedulerFo},1472 │ │ │ │ │ ├─{TaskSchedulerFo},1737 │ │ │ │ │ ├─{TaskSchedulerSe},1468 │ │ │ │ │ └─{electron},1524 │ │ │ │ ├─electron,1454 │ │ │ │ │ ├─{Chrome_ChildIOT},1511 │ │ │ │ │ ├─{TaskSchedulerBa},1507 │ │ │ │ │ ├─{TaskSchedulerBa},1508 │ │ │ │ │ ├─{TaskSchedulerFo},1509 │ │ │ │ │ ├─{TaskSchedulerFo},1510 │ │ │ │ │ ├─{TaskSchedulerSe},1506 │ │ │ │ │ ├─{Watchdog},1505 │ │ │ │ │ ├─{llvmpipe-0},1487 │ │ │ │ │ ├─{llvmpipe-1},1488 │ │ │ │ │ ├─{llvmpipe-2},1489 │ │ │ │ │ └─{llvmpipe-3},1490 │ │ │ │ ├─{AudioThread},1444 │ │ │ │ ├─{CacheThread_Blo},1466 │ │ │ │ ├─{Chrome_IOThread},1428 │ │ │ │ ├─{CompositorTileW},1443 │ │ │ │ ├─{CrShutdownDetec},1432 │ │ │ │ ├─{D-Bus thread},1431 │ │ │ │ ├─{NetworkChangeNo},1429 │ │ │ │ ├─{TaskSchedulerBa},1434 │ │ │ │ ├─{TaskSchedulerBa},1462 │ │ │ │ ├─{TaskSchedulerFo},1436 │ │ │ │ ├─{TaskSchedulerFo},1439 │ │ │ │ ├─{TaskSchedulerSe},1433 │ │ │ │ ├─{TaskSchedulerSi},1441 │ │ │ │ ├─{TaskSchedulerSi},1442 │ │ │ │ ├─{TaskSchedulerSi},1573 │ │ │ │ ├─{electron},1191 │ │ │ │ ├─{electron},1192 │ │ │ │ ├─{electron},1193 │ │ │ │ ├─{electron},1221 │ │ │ │ ├─{electron},1414 │ │ │ │ ├─{electron},1415 │ │ │ │ ├─{electron},1416 │ │ │ │ ├─{electron},1417 │ │ │ │ ├─{electron},1453 │ │ │ │ ├─{gdbus},1179 │ │ │ │ ├─{gmain},1178 │ │ │ │ ├─{inotify_reader},1430 │ │ │ │ ├─{llvmpipe-0},1167 │ │ │ │ ├─{llvmpipe-1},1168 │ │ │ │ ├─{llvmpipe-2},1169 │ │ │ │ ├─{llvmpipe-3},1170 │ │ │ │ └─{sandbox_ipc_thr},1125 │ │ │ ├─{node},1050 │ │ │ ├─{node},1051 │ │ │ ├─{node},1052 │ │ │ ├─{node},1053 │ │ │ ├─{node},1054 │ │ │ └─{node},1057 │ │ ├─{node},934 │ │ ├─{node},935 │ │ ├─{node},936 │ │ ├─{node},937 │ │ ├─{node},938 │ │ ├─{node},945 │ │ ├─{npm},1013 │ │ ├─{npm},1014 │ │ ├─{npm},1015 │ │ └─{npm},1016 │ ├─{PM2 v3.5.1: God},915 │ ├─{PM2 v3.5.1: God},916 │ ├─{PM2 v3.5.1: God},917 │ ├─{PM2 v3.5.1: God},918 │ ├─{node},814 │ ├─{node},815 │ ├─{node},816 │ ├─{node},817 │ ├─{node},818 │ └─{node},819 ├─agetty,509 --noclear tty1 linux ├─avahi-daemon,333 │ └─avahi-daemon,370 ├─bluealsa,455 │ ├─{bactl},463 │ ├─{gdbus},479 │ └─{gmain},478 ├─bluetoothd,454 ├─cron,340 -f ├─dbus-daemon,323 --system --address=systemd: --nofork --nopidfile --systemd-activation ├─dbus-daemon,951 --fork --print-address 5 --print-pid 6 --session ├─dhcpcd,372 -q -b ├─hciattach,446 /dev/serial1 bcm43xx 921600 noflow - b8:27:eb:fc:c6:fc ├─lightdm,506 │ ├─Xorg,517 :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch │ │ ├─{InputThread},631 │ │ ├─{llvmpipe-0},623 │ │ ├─{llvmpipe-1},624 │ │ ├─{llvmpipe-2},625 │ │ └─{llvmpipe-3},626 │ ├─lightdm,634 --session-child 14 17 │ │ ├─lxsession,650 -s LXDE-pi -e LXDE │ │ │ ├─lxpanel,785 --profile LXDE-pi │ │ │ │ ├─chromium-browse,1766 │ │ │ │ │ ├─chromium-browse,1792 │ │ │ │ │ │ └─chromium-browse,1794 │ │ │ │ │ │ ├─chromium-browse,1989 │ │ │ │ │ │ │ ├─{Chrome_ChildIOT},2001 │ │ │ │ │ │ │ ├─{CompositorTileW},2020 │ │ │ │ │ │ │ ├─{CompositorTileW},2021 │ │ │ │ │ │ │ ├─{CompositorTileW},2022 │ │ │ │ │ │ │ ├─{Compositor},2013 │ │ │ │ │ │ │ ├─{Font_Proxy_Thre},2003 │ │ │ │ │ │ │ ├─{GpuMemoryThread},2002 │ │ │ │ │ │ │ ├─{TaskSchedulerFo},2000 │ │ │ │ │ │ │ ├─{TaskSchedulerFo},2114 │ │ │ │ │ │ │ ├─{TaskSchedulerFo},2255 │ │ │ │ │ │ │ ├─{TaskSchedulerFo},2256 │ │ │ │ │ │ │ └─{TaskSchedulerSe},1997 │ │ │ │ │ │ └─chromium-browse,2035 │ │ │ │ │ │ ├─{Chrome_ChildIOT},2039 │ │ │ │ │ │ ├─{CompositorTileW},2043 │ │ │ │ │ │ ├─{CompositorTileW},2044 │ │ │ │ │ │ ├─{CompositorTileW},2045 │ │ │ │ │ │ ├─{Compositor},2042 │ │ │ │ │ │ ├─{Font_Proxy_Thre},2041 │ │ │ │ │ │ ├─{GpuMemoryThread},2040 │ │ │ │ │ │ ├─{MemoryInfra},2091 │ │ │ │ │ │ ├─{ScriptStreamer },2049 │ │ │ │ │ │ ├─{TaskSchedulerFo},2038 │ │ │ │ │ │ ├─{TaskSchedulerFo},2046 │ │ │ │ │ │ ├─{TaskSchedulerFo},2254 │ │ │ │ │ │ └─{TaskSchedulerSe},2036 │ │ │ │ │ ├─chromium-browse,1824 │ │ │ │ │ │ ├─{Chrome_ChildIOT},1886 │ │ │ │ │ │ ├─{TaskSchedulerFo},1884 │ │ │ │ │ │ ├─{TaskSchedulerFo},1885 │ │ │ │ │ │ ├─{TaskSchedulerSe},1883 │ │ │ │ │ │ ├─{Watchdog},1882 │ │ │ │ │ │ ├─{llvmpipe-0},1877 │ │ │ │ │ │ ├─{llvmpipe-1},1878 │ │ │ │ │ │ ├─{llvmpipe-2},1879 │ │ │ │ │ │ └─{llvmpipe-3},1880 │ │ │ │ │ ├─{AudioThread},1818 │ │ │ │ │ ├─{Bluez D-Bus thr},1809 │ │ │ │ │ ├─{BrowserWatchdog},1825 │ │ │ │ │ ├─{CacheThread_Blo},1821 │ │ │ │ │ ├─{Chrome_HistoryT},1876 │ │ │ │ │ ├─{Chrome_IOThread},1802 │ │ │ │ │ ├─{CompositorTileW},1817 │ │ │ │ │ ├─{CrShutdownDetec},1810 │ │ │ │ │ ├─{NetworkChangeNo},1808 │ │ │ │ │ ├─{TaskSchedulerFo},1816 │ │ │ │ │ ├─{TaskSchedulerFo},2032 │ │ │ │ │ ├─{TaskSchedulerFo},2053 │ │ │ │ │ ├─{TaskSchedulerFo},2208 │ │ │ │ │ ├─{TaskSchedulerSe},1797 │ │ │ │ │ ├─{TaskSchedulerSi},1820 │ │ │ │ │ ├─{TaskSchedulerSi},1822 │ │ │ │ │ ├─{TaskSchedulerSi},1875 │ │ │ │ │ ├─{TaskSchedulerSi},1881 │ │ │ │ │ ├─{chromium-browse},1795 │ │ │ │ │ ├─{extension_crash},1986 │ │ │ │ │ ├─{gdbus},1807 │ │ │ │ │ ├─{gmain},1806 │ │ │ │ │ ├─{gpu-process_cra},1823 │ │ │ │ │ ├─{inotify_reader},1801 │ │ │ │ │ ├─{renderer_crash_},1894 │ │ │ │ │ ├─{sandbox_ipc_thr},1790 │ │ │ │ │ └─{utility_crash_u},2061 │ │ │ │ ├─lxterminal,2148 │ │ │ │ │ ├─bash,2150 │ │ │ │ │ │ └─pstree,2260 -ap │ │ │ │ │ ├─gnome-pty-helpe,2149 │ │ │ │ │ ├─{gdbus},2159 │ │ │ │ │ └─{gmain},2151 │ │ │ │ ├─oosplash,2177 --writer │ │ │ │ │ ├─soffice.bin,2195 --writer --splash-pipe=5 │ │ │ │ │ │ ├─{PipeIPC},2204 │ │ │ │ │ │ ├─{SelectionManage},2209 │ │ │ │ │ │ ├─{gdbus},2206 │ │ │ │ │ │ ├─{gmain},2205 │ │ │ │ │ │ ├─{rtl_cache_wsupd},2198 │ │ │ │ │ │ ├─{soffice.bin},2233 │ │ │ │ │ │ ├─{soffice.bin},2234 │ │ │ │ │ │ ├─{soffice.bin},2235 │ │ │ │ │ │ ├─{soffice.bin},2236 │ │ │ │ │ │ ├─{soffice.bin},2237 │ │ │ │ │ │ ├─{soffice.bin},2238 │ │ │ │ │ │ ├─{soffice.bin},2239 │ │ │ │ │ │ └─{soffice.bin},2240 │ │ │ │ │ ├─{osl_executeProc},2194 │ │ │ │ │ └─{rtl_cache_wsupd},2190 │ │ │ │ ├─(sh,847) │ │ │ │ ├─{gdbus},825 │ │ │ │ ├─{gmain},824 │ │ │ │ └─{menu-cache-io},895 │ │ │ ├─lxpolkit,780 │ │ │ │ ├─{gdbus},801 │ │ │ │ └─{gmain},799 │ │ │ ├─openbox,773 --config-file /home/pi/.config/openbox/lxde-pi-rc.xml │ │ │ ├─pcmanfm,791 --desktop --profile LXDE-pi │ │ │ │ ├─{gdbus},821 │ │ │ │ └─{gmain},820 │ │ │ ├─ssh-agent,756 x-session-manager │ │ │ ├─{gdbus},762 │ │ │ └─{gmain},761 │ │ ├─{gdbus},638 │ │ └─{gmain},637 │ ├─{gdbus},515 │ └─{gmain},513 ├─menu-cached,831 /run/user/1000/menu-cached-:0 │ ├─{gdbus},834 │ └─{gmain},833 ├─polkitd,804 --no-debug │ ├─{gdbus},811 │ └─{gmain},809 ├─rngd,361 -r /dev/hwrng │ ├─{rngd},362 │ ├─{rngd},363 │ └─{rngd},364 ├─rsyslogd,331 -n │ ├─{in:imklog},377 │ ├─{in:imuxsock},376 │ └─{rs:main Q:Reg},378 ├─ssh-agent,803 -s ├─systemd,642 --user │ ├─(sd-pam),645 │ ├─dbus-daemon,659 --session --address=systemd: --nofork --nopidfile --systemd-activation │ ├─gvfs-afc-volume,866 │ │ ├─{gdbus},870 │ │ ├─{gmain},868 │ │ └─{gvfs-afc-volume},867 │ ├─gvfs-goa-volume,858 │ │ ├─{gdbus},860 │ │ └─{gmain},859 │ ├─gvfs-gphoto2-vo,854 │ │ ├─{gdbus},857 │ │ └─{gmain},855 │ ├─gvfs-mtp-volume,862 │ │ ├─{gdbus},865 │ │ └─{gmain},863 │ ├─gvfs-udisks2-vo,835 │ │ ├─{gdbus},837 │ │ └─{gmain},836 │ ├─gvfsd,763 │ │ ├─{gdbus},765 │ │ └─{gmain},764 │ ├─gvfsd-fuse,768 /run/user/1000/gvfs -f -o big_writes │ │ ├─{gdbus},787 │ │ ├─{gmain},786 │ │ ├─{gvfs-fuse-sub},792 │ │ ├─{gvfsd-fuse},782 │ │ └─{gvfsd-fuse},783 │ └─gvfsd-trash,904 --spawner :1.4 /org/gtk/gvfs/exec_spaw/0 │ ├─{gdbus},906 │ └─{gmain},905 ├─systemd-journal,107 ├─systemd-logind,334 ├─systemd-timesyn,305 │ └─{sd-resolve},320 ├─systemd-udevd,139 ├─thd,322 --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event* ├─udisksd,838 --no-debug │ ├─{cleanup},852 │ ├─{gdbus},841 │ ├─{gmain},839 │ └─{probing-thread},842 ├─wpa_supplicant,327 -u -s -O /run/wpa_supplicant └─wpa_supplicant,422 -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext ?, ├─(kthreadd,2) │ ├─(DWC Notificatio,62) │ ├─(SMIO,67) │ ├─(SMIO,189) │ ├─(brcmf_wdog/mmc1,239) │ ├─(brcmf_wq/mmc1:0,237) │ ├─(cfg80211,231) │ ├─(cpuhp/0,13) │ ├─(cpuhp/1,14) │ ├─(cpuhp/2,19) │ ├─(cpuhp/3,24) │ ├─(crypto,38) │ ├─(dwc_otg,61) │ ├─(ext4-rsv-conver,78) │ ├─(ext4-rsv-conver,914) │ ├─(ipv6_addrconf,79) │ ├─(irq/86-mmc1,69) │ ├─(iscsi_eh,60) │ ├─(jbd2/mmcblk0p5-,913) │ ├─(jbd2/mmcblk0p7-,77) │ ├─(kblockd,39) │ ├─(kcompactd0,37) │ ├─(kdevtmpfs,29) │ ├─(khungtaskd,34) │ ├─(krfcommd,489) │ ├─(ksoftirqd/0,9) │ ├─(ksoftirqd/1,16) │ ├─(ksoftirqd/2,21) │ ├─(ksoftirqd/3,26) │ ├─(kswapd0,46) │ ├─(kthrotld,58) │ ├─(kworker/0:0-event,1796) │ ├─(kworker/0:0H-kblo,1789) │ ├─(kworker/0:1-event,31) │ ├─(kworker/0:1H-mmc_,74) │ ├─(kworker/0:2-event,2231) │ ├─(kworker/0:2H,2147) │ ├─(kworker/1:0-mm_pe,1741) │ ├─(kworker/1:0H-kblo,1785) │ ├─(kworker/1:1-event,2213) │ ├─(kworker/1:1H-kblo,75) │ ├─(kworker/1:2-mm_pe,2048) │ ├─(kworker/1:2H-kblo,2176) │ ├─(kworker/2:0-event,1783) │ ├─(kworker/2:0H-kblo,23) │ ├─(kworker/2:1-event,33) │ ├─(kworker/2:1H-kblo,1784) │ ├─(kworker/2:2-event,2223) │ ├─(kworker/2:2H,2196) │ ├─(kworker/3:0-event,1742) │ ├─(kworker/3:0H-kblo,1772) │ ├─(kworker/3:1-mm_pe,2034) │ ├─(kworker/3:1H-kblo,73) │ ├─(kworker/3:2-event,68) │ ├─(kworker/3:2H,2189) │ ├─(kworker/3:3,2248) │ ├─(kworker/u8:0-even,7) │ ├─(kworker/u8:2-flus,100) │ ├─(kworker/u9:0-hci0,42) │ ├─(kworker/u9:1-hci0,448) │ ├─(migration/0,12) │ ├─(migration/1,15) │ ├─(migration/2,20) │ ├─(migration/3,25) │ ├─(mm_percpu_wq,8) │ ├─(mmal-vchiq,215) │ ├─(mmal-vchiq,217) │ ├─(mmal-vchiq,219) │ ├─(mmc_complete,72) │ ├─(netns,30) │ ├─(nfsiod,47) │ ├─(oom_reaper,35) │ ├─(rcu_bh,11) │ ├─(rcu_gp,3) │ ├─(rcu_par_gp,4) │ ├─(rcu_sched,10) │ ├─(rpciod,41) │ ├─(vchiq-keep/0,66) │ ├─(vchiq-recy/0,64) │ ├─(vchiq-slot/0,63) │ ├─(vchiq-sync/0,65) │ ├─(watchdogd,40) │ ├─(writeback,36) │ └─(xprtiod,43) └─systemd,1 splash ├─PM2 v3.5.1: God,813 │ ├─bash,923 /home/pi/mm.sh │ │ └─npm,929 │ │ ├─sh,1047 -c sh run-start.sh │ │ │ └─sh,1048 run-start.sh │ │ │ └─node,1049 /home/pi/MagicMirror/node_modules/.bin/electron js/electron.js │ │ │ ├─electron,1064 │ │ │ │ ├─electron,1126 │ │ │ │ │ └─electron,1467 │ │ │ │ │ ├─{Chrome_ChildIOT},1473 │ │ │ │ │ ├─{CompositorTileW},1496 │ │ │ │ │ ├─{CompositorTileW},1501 │ │ │ │ │ ├─{CompositorTileW},1503 │ │ │ │ │ ├─{Compositor},1495 │ │ │ │ │ ├─{File thread},1479 │ │ │ │ │ ├─{GpuMemoryThread},1474 │ │ │ │ │ ├─{ScriptStreamer },1539 │ │ │ │ │ ├─{TaskSchedulerBa},1469 │ │ │ │ │ ├─{TaskSchedulerBa},1470 │ │ │ │ │ ├─{TaskSchedulerFo},1472 │ │ │ │ │ ├─{TaskSchedulerFo},1737 │ │ │ │ │ ├─{TaskSchedulerSe},1468 │ │ │ │ │ └─{electron},1524 │ │ │ │ ├─electron,1454 │ │ │ │ │ ├─{Chrome_ChildIOT},1511 │ │ │ │ │ ├─{TaskSchedulerBa},1507 │ │ │ │ │ ├─{TaskSchedulerBa},1508 │ │ │ │ │ ├─{TaskSchedulerFo},1509 │ │ │ │ │ ├─{TaskSchedulerFo},1510 │ │ │ │ │ ├─{TaskSchedulerSe},1506 │ │ │ │ │ ├─{Watchdog},1505 │ │ │ │ │ ├─{llvmpipe-0},1487 │ │ │ │ │ ├─{llvmpipe-1},1488 │ │ │ │ │ ├─{llvmpipe-2},1489 │ │ │ │ │ └─{llvmpipe-3},1490 │ │ │ │ ├─{AudioThread},1444 │ │ │ │ ├─{CacheThread_Blo},1466 │ │ │ │ ├─{Chrome_IOThread},1428 │ │ │ │ ├─{CompositorTileW},1443 │ │ │ │ ├─{CrShutdownDetec},1432 │ │ │ │ ├─{D-Bus thread},1431 │ │ │ │ ├─{NetworkChangeNo},1429 │ │ │ │ ├─{TaskSchedulerBa},1434 │ │ │ │ ├─{TaskSchedulerBa},1462 │ │ │ │ ├─{TaskSchedulerFo},1436 │ │ │ │ ├─{TaskSchedulerFo},1439 │ │ │ │ ├─{TaskSchedulerSe},1433 │ │ │ │ ├─{TaskSchedulerSi},1441 │ │ │ │ ├─{TaskSchedulerSi},1442 │ │ │ │ ├─{TaskSchedulerSi},1573 │ │ │ │ ├─{electron},1191 │ │ │ │ ├─{electron},1192 │ │ │ │ ├─{electron},1193 │ │ │ │ ├─{electron},1221 │ │ │ │ ├─{electron},1414 │ │ │ │ ├─{electron},1415 │ │ │ │ ├─{electron},1416 │ │ │ │ ├─{electron},1417 │ │ │ │ ├─{electron},1453 │ │ │ │ ├─{gdbus},1179 │ │ │ │ ├─{gmain},1178 │ │ │ │ ├─{inotify_reader},1430 │ │ │ │ ├─{llvmpipe-0},1167 │ │ │ │ ├─{llvmpipe-1},1168 │ │ │ │ ├─{llvmpipe-2},1169 │ │ │ │ ├─{llvmpipe-3},1170 │ │ │ │ └─{sandbox_ipc_thr},1125 │ │ │ ├─{node},1050 │ │ │ ├─{node},1051 │ │ │ ├─{node},1052 │ │ │ ├─{node},1053 │ │ │ ├─{node},1054 │ │ │ └─{node},1057 │ │ ├─{node},934 │ │ ├─{node},935 │ │ ├─{node},936 │ │ ├─{node},937 │ │ ├─{node},938 │ │ ├─{node},945 │ │ ├─{npm},1013 │ │ ├─{npm},1014 │ │ ├─{npm},1015 │ │ └─{npm},1016 │ ├─{PM2 v3.5.1: God},915 │ ├─{PM2 v3.5.1: God},916 │ ├─{PM2 v3.5.1: God},917 │ ├─{PM2 v3.5.1: God},918 │ ├─{node},814 │ ├─{node},815 │ ├─{node},816 │ ├─{node},817 │ ├─{node},818 │ └─{node},819 ├─agetty,509 --noclear tty1 linux ├─avahi-daemon,333 │ └─avahi-daemon,370 ├─bluealsa,455 │ ├─{bactl},463 │ ├─{gdbus},479 │ └─{gmain},478 ├─bluetoothd,454 ├─cron,340 -f ├─dbus-daemon,323 --system --address=systemd: --nofork --nopidfile --systemd-activation ├─dbus-daemon,951 --fork --print-address 5 --print-pid 6 --session ├─dhcpcd,372 -q -b ├─hciattach,446 /dev/serial1 bcm43xx 921600 noflow - b8:27:eb:fc:c6:fc ├─lightdm,506 │ ├─Xorg,517 :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch │ │ ├─{InputThread},631 │ │ ├─{llvmpipe-0},623 │ │ ├─{llvmpipe-1},624 │ │ ├─{llvmpipe-2},625 │ │ └─{llvmpipe-3},626 │ ├─lightdm,634 --session-child 14 17 │ │ ├─lxsession,650 -s LXDE-pi -e LXDE │ │ │ ├─lxpanel,785 --profile LXDE-pi │ │ │ │ ├─chromium-browse,1766 │ │ │ │ │ ├─chromium-browse,1792 │ │ │ │ │ │ └─chromium-browse,1794 │ │ │ │ │ │ ├─chromium-browse,1989 │ │ │ │ │ │ │ ├─{Chrome_ChildIOT},2001 │ │ │ │ │ │ │ ├─{CompositorTileW},2020 │ │ │ │ │ │ │ ├─{CompositorTileW},2021 │ │ │ │ │ │ │ ├─{CompositorTileW},2022 │ │ │ │ │ │ │ ├─{Compositor},2013 │ │ │ │ │ │ │ ├─{Font_Proxy_Thre},2003 │ │ │ │ │ │ │ ├─{GpuMemoryThread},2002 │ │ │ │ │ │ │ ├─{TaskSchedulerFo},2000 │ │ │ │ │ │ │ ├─{TaskSchedulerFo},2114 │ │ │ │ │ │ │ ├─{TaskSchedulerFo},2255 │ │ │ │ │ │ │ ├─{TaskSchedulerFo},2256 │ │ │ │ │ │ │ └─{TaskSchedulerSe},1997 │ │ │ │ │ │ └─chromium-browse,2035 │ │ │ │ │ │ ├─{Chrome_ChildIOT},2039 │ │ │ │ │ │ ├─{CompositorTileW},2043 │ │ │ │ │ │ ├─{CompositorTileW},2044 │ │ │ │ │ │ ├─{CompositorTileW},2045 │ │ │ │ │ │ ├─{Compositor},2042 │ │ │ │ │ │ ├─{Font_Proxy_Thre},2041 │ │ │ │ │ │ ├─{GpuMemoryThread},2040 │ │ │ │ │ │ ├─{MemoryInfra},2091 │ │ │ │ │ │ ├─{ScriptStreamer },2049 │ │ │ │ │ │ ├─{TaskSchedulerFo},2038 │ │ │ │ │ │ ├─{TaskSchedulerFo},2046 │ │ │ │ │ │ ├─{TaskSchedulerFo},2254 │ │ │ │ │ │ └─{TaskSchedulerSe},2036 │ │ │ │ │ ├─chromium-browse,1824 │ │ │ │ │ │ ├─{Chrome_ChildIOT},1886 │ │ │ │ │ │ ├─{TaskSchedulerFo},1884 │ │ │ │ │ │ ├─{TaskSchedulerFo},1885 │ │ │ │ │ │ ├─{TaskSchedulerSe},1883 │ │ │ │ │ │ ├─{Watchdog},1882 │ │ │ │ │ │ ├─{llvmpipe-0},1877 │ │ │ │ │ │ ├─{llvmpipe-1},1878 │ │ │ │ │ │ ├─{llvmpipe-2},1879 │ │ │ │ │ │ └─{llvmpipe-3},1880 │ │ │ │ │ ├─{AudioThread},1818 │ │ │ │ │ ├─{Bluez D-Bus thr},1809 │ │ │ │ │ ├─{BrowserWatchdog},1825 │ │ │ │ │ ├─{CacheThread_Blo},1821 │ │ │ │ │ ├─{Chrome_HistoryT},1876 │ │ │ │ │ ├─{Chrome_IOThread},1802 │ │ │ │ │ ├─{CompositorTileW},1817 │ │ │ │ │ ├─{CrShutdownDetec},1810 │ │ │ │ │ ├─{NetworkChangeNo},1808 │ │ │ │ │ ├─{TaskSchedulerFo},1816 │ │ │ │ │ ├─{TaskSchedulerFo},2032 │ │ │ │ │ ├─{TaskSchedulerFo},2053 │ │ │ │ │ ├─{TaskSchedulerFo},2208 │ │ │ │ │ ├─{TaskSchedulerSe},1797 │ │ │ │ │ ├─{TaskSchedulerSi},1820 │ │ │ │ │ ├─{TaskSchedulerSi},1822 │ │ │ │ │ ├─{TaskSchedulerSi},1875 │ │ │ │ │ ├─{TaskSchedulerSi},1881 │ │ │ │ │ ├─{chromium-browse},1795 │ │ │ │ │ ├─{extension_crash},1986 │ │ │ │ │ ├─{gdbus},1807 │ │ │ │ │ ├─{gmain},1806 │ │ │ │ │ ├─{gpu-process_cra},1823 │ │ │ │ │ ├─{inotify_reader},1801 │ │ │ │ │ ├─{renderer_crash_},1894 │ │ │ │ │ ├─{sandbox_ipc_thr},1790 │ │ │ │ │ └─{utility_crash_u},2061 │ │ │ │ ├─lxterminal,2148 │ │ │ │ │ ├─bash,2150 │ │ │ │ │ │ └─pstree,2271 -ap 0 │ │ │ │ │ ├─gnome-pty-helpe,2149 │ │ │ │ │ ├─{gdbus},2159 │ │ │ │ │ └─{gmain},2151 │ │ │ │ ├─oosplash,2177 --writer │ │ │ │ │ ├─soffice.bin,2195 --writer --splash-pipe=5 │ │ │ │ │ │ ├─{PipeIPC},2204 │ │ │ │ │ │ ├─{SelectionManage},2209 │ │ │ │ │ │ ├─{gdbus},2206 │ │ │ │ │ │ ├─{gmain},2205 │ │ │ │ │ │ ├─{rtl_cache_wsupd},2198 │ │ │ │ │ │ ├─{soffice.bin},2233 │ │ │ │ │ │ ├─{soffice.bin},2234 │ │ │ │ │ │ ├─{soffice.bin},2235 │ │ │ │ │ │ ├─{soffice.bin},2236 │ │ │ │ │ │ ├─{soffice.bin},2237 │ │ │ │ │ │ ├─{soffice.bin},2238 │ │ │ │ │ │ ├─{soffice.bin},2239 │ │ │ │ │ │ └─{soffice.bin},2240 │ │ │ │ │ ├─{osl_executeProc},2194 │ │ │ │ │ └─{rtl_cache_wsupd},2190 │ │ │ │ ├─(sh,847) │ │ │ │ ├─{gdbus},825 │ │ │ │ ├─{gmain},824 │ │ │ │ └─{menu-cache-io},895 │ │ │ ├─lxpolkit,780 │ │ │ │ ├─{gdbus},801 │ │ │ │ └─{gmain},799 │ │ │ ├─openbox,773 --config-file /home/pi/.config/openbox/lxde-pi-rc.xml │ │ │ ├─pcmanfm,791 --desktop --profile LXDE-pi │ │ │ │ ├─{gdbus},821 │ │ │ │ └─{gmain},820 │ │ │ ├─ssh-agent,756 x-session-manager │ │ │ ├─{gdbus},762 │ │ │ └─{gmain},761 │ │ ├─{gdbus},638 │ │ └─{gmain},637 │ ├─{gdbus},515 │ └─{gmain},513 ├─menu-cached,831 /run/user/1000/menu-cached-:0 │ ├─{gdbus},834 │ └─{gmain},833 ├─polkitd,804 --no-debug │ ├─{gdbus},811 │ └─{gmain},809 ├─rngd,361 -r /dev/hwrng │ ├─{rngd},362 │ ├─{rngd},363 │ └─{rngd},364 ├─rsyslogd,331 -n │ ├─{in:imklog},377 │ ├─{in:imuxsock},376 │ └─{rs:main Q:Reg},378 ├─ssh-agent,803 -s ├─systemd,642 --user │ ├─(sd-pam),645 │ ├─dbus-daemon,659 --session --address=systemd: --nofork --nopidfile --systemd-activation │ ├─gvfs-afc-volume,866 │ │ ├─{gdbus},870 │ │ ├─{gmain},868 │ │ └─{gvfs-afc-volume},867 │ ├─gvfs-goa-volume,858 │ │ ├─{gdbus},860 │ │ └─{gmain},859 │ ├─gvfs-gphoto2-vo,854 │ │ ├─{gdbus},857 │ │ └─{gmain},855 │ ├─gvfs-mtp-volume,862 │ │ ├─{gdbus},865 │ │ └─{gmain},863 │ ├─gvfs-udisks2-vo,835 │ │ ├─{gdbus},837 │ │ └─{gmain},836 │ ├─gvfsd,763 │ │ ├─{gdbus},765 │ │ └─{gmain},764 │ ├─gvfsd-fuse,768 /run/user/1000/gvfs -f -o big_writes │ │ ├─{gdbus},787 │ │ ├─{gmain},786 │ │ ├─{gvfs-fuse-sub},792 │ │ ├─{gvfsd-fuse},782 │ │ └─{gvfsd-fuse},783 │ └─gvfsd-trash,904 --spawner :1.4 /org/gtk/gvfs/exec_spaw/0 │ ├─{gdbus},906 │ └─{gmain},905 ├─systemd-journal,107 ├─systemd-logind,334 ├─systemd-timesyn,305 │ └─{sd-resolve},320 ├─systemd-udevd,139 ├─thd,322 --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event* ├─udisksd,838 --no-debug │ ├─{cleanup},852 │ ├─{gdbus},841 │ ├─{gmain},839 │ └─{probing-thread},842 ├─wpa_supplicant,327 -u -s -O /run/wpa_supplicant └─wpa_supplicant,422 -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext pi@raspberrypi:~ $
-
In order to remove avm_stream from pm2; I think you have to do:
pm2 stop avm_stream pm2 delete avm_stream pm2 save pm2 status
If pm2 status does not show the pid column, my command does not make sense.
First stretch out the ssh window so that it shows.This is not good:
pi@MagicPi:~/MagicMirror/css $ pm2 status ┌──────┬────┬──────┬────────┬───┬─────┬──────────┐ │ Name │ id │ mode │ status │ ↺ │ cpu │ memory │ ├──────┼────┼──────┼────────┼───┼─────┼──────────┤ │ axis │ 1 │ fork │ online │ 0 │ 0% │ 2.5 MB │ │ mm │ 0 │ fork │ online │ 0 │ 0% │ 2.5 MB │ └──────┴────┴──────┴────────┴───┴─────┴──────────┘
This is better:
pi@MagicPi:~/MagicMirror/css $ pm2 status ┌──────────┬────┬─────────┬──────┬───────┬────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐ │ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │ ├──────────┼────┼─────────┼──────┼───────┼────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤ │ axis │ 1 │ 2.5.0 │ fork │ 14186 │ online │ 0 │ 20h │ 0% │ 2.5 MB │ pi │ disabled │ │ mm │ 0 │ 2.5.0 │ fork │ 14180 │ online │ 0 │ 20h │ 0% │ 2.5 MB │ pi │ disabled │ └──────────┴────┴─────────┴──────┴───────┴────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘