BreeeZe / rpos

Raspberry Pi Onvif Server
http://breeeze.github.io/rpos
MIT License
643 stars 146 forks source link

issue with RPI4 or compute module #170

Open sravich1 opened 5 months ago

sravich1 commented 5 months ago

Hi all, I installed all the required rpos and trying to run the rpos.js

getting below error and not able to get RTSP or ONVIF

ffmpeg - starting ffmpeg - finished ffmpeg exec error: Error: Command failed: ffmpeg -fflags nobuffer -probesize 256 -rtsp_transport tcp -i rtsp://127.0.0.1:8554/path_to_video_tream -vframes 1 -r 1 -s 640x360 -y /dev/shm/snapshot.jpg ffmpeg version 5.1.4-0+rpt1+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12 (Debian 12.2.0-14) configuration: --prefix=/usr --extra-version=0+rpt1+deb12u1 --toolchain=hardened --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --disable-mmal --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sand --enable-sdl2 --disable-sndio --enable-libjxl --enable-neon --enable-v4l2-request --enable-libudev --enable-epoxy --libdir=/usr/lib/aarch64-linux-gnu --arch=arm64 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-vout-drm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared libavutil 57. 28.100 / 57. 28.100 libavcodec 59. 37.100 / 59. 37.100 libavformat 59. 27.100 / 59. 27.100 libavdevice 59. 7.100 / 59. 7.100 libavfilter 8. 44.100 / 8. 44.100 libswscale 6. 7.100 / 6. 7.100 libswresample 4. 7.100 / 4. 7.100 libpostproc 56. 6.100 / 56. 6.100

at ChildProcess.exithandler (child_process.js:308:12)
at ChildProcess.emit (events.js:314:20)
at maybeClose (internal/child_process.js:1022:16)
at Socket.<anonymous> (internal/child_process.js:444:11)
at Socket.emit (events.js:314:20)
at Pipe.<anonymous> (net.js:675:12) {

killed: true, code: null, signal: 'SIGTERM', cmd: 'ffmpeg -fflags nobuffer -probesize 256 -rtsp_transport tcp -i rtsp://127.0.0.1:8554/path_to_video_tream -vframes 1 -r 1 -s 640x360 -y /dev/shm/snapshot.jpg' }

_My rposConfig from rposConfig-sample-proxy.JSON { "NetworkAdapters" : ["awdl0","eth0", "wlan0", "en0"], "IpAddress" : "192.168.29.152", "ServicePort" : 8081, "Username" : "admin", "Password" : "admin", "CameraType" : "picam", "RTSPAddress" : "hostname_of_remote_rtsp_server", "//":"Normally left blank. Used to set RTSP Server Address", "RTSPPort" : 8554, "RTSPName" : "path_to_video_tream", "MulticastEnabled" : false, "RTSPMulticastName" : "h264m", "MulticastAddress" : "224.0.0.1", "MulticastPort" : "10001", "RTSPServer" : 3, "RtspServerComment" : "## Select RTSP Server > 0:Use RTSP Server from 'RTSPAddress:' 1:RPOS RTSP Server 2:V4L2 RTSP Server by mpromonet (auto selected if MulticastEnabl> "PTZDriver" : "none", "PTZDriverComment": "## valid values are none,tenx,pelcod,visca and pan-tilt-hat", "PTZOutput" : "none", "PTZOutputComment": "## values are none (eg Tenx), serial and tcp", "PTZSerialPort" : "/dev/ttyUSB0", "PTZSerialPortSettings" : { "baudRate":2400, "dataBits":8, "parity":"none", "stopBits":1 }, "PTZOutputURL": "127.0.0.1:9999", "PTZCameraAddress": 1, "DeviceInformation" : { "Manufacturer" : "RPOS Proxy", "Model" : "PROXY", "HardwareId" : "" }, "logLevel" : 3, "logLevelComment": "## LogLevels are > 1:Error 2:Warning 3:Info 4:Debug", "logSoapCalls" : false }

also tried with rposConfig.sample-picam.json { "NetworkAdapters" : ["awdl0","eth0", "wlan0", "en0"], "IpAddress" : "192.168.1.15", "ServicePort" : 8081, "Username" : "", "Password" : "", "CameraType" : "picam", "RTSPAddress" : "", "//":"Normally left blank. Used to set RTSP Server Address", "RTSPPort" : 8554, "RTSPName" : "h264", "MulticastEnabled" : false, "RTSPMulticastName" : "h264m", "MulticastAddress" : "224.0.0.1", "MulticastPort" : "10001", "RTSPServer" : 1, "RtspServerComment" : "## Select RTSP Server > 1:RPOS RTSP Server 2:V4L2 RTSP Server by mpromonet (auto selected if MulticastEnabled=true)", "PTZDriver" : "none", "PTZDriverComment": "## valid values are none,tenx,pelcod,visca and pan-tilt-hat", "PTZOutput" : "none", "PTZOutputComment": "## values are none (eg Tenx), serial and tcp", "PTZSerialPort" : "/dev/ttyUSB0", "PTZSerialPortSettings" : { "baudRate":2400, "dataBits":8, "parity":"none", "stopBits":1 }, "PTZOutputURL": "127.0.0.1:9999", "PTZCameraAddress": 1, "DeviceInformation" : { "Manufacturer" : "Raspberry Pi", "Model" : "2 B", "HardwareId" : "" }, "logLevel" : 3, "logLevelComment": "## LogLevels are > 1:Error 2:Warning 3:Info 4:Debug", "logSoapCalls" : false }

I am getting following log rtspServer: /home/rpi1/onvif/rpos/./python/gst-rtsp-launch.py:60: PyGIDeprecationWarning: GObject.MainLoop is deprecated; use GLib.MainLoop instead self.mainloop = GObject.MainLoop()

rtspServer: /home/rpi1/onvif/rpos/./python/gst-rtsp-launch.py:78: PyGIDeprecationWarning: Since version 3.11, calling threads_init is no longer needed. See: https://wiki.gnome.org/PyGObject/Threading GObject.threads_init()

rtspServer: INFO:root:StreamServer initialized

rtspServer: INFO:root:Video settings loaded from v4l2ctl.json DEBUG:root:StreamServer.launch

rtspServer: DEBUG:root:( rpicamsrc preview=false bitrate=10000000 keyframe-interval=60 drc=3 image-effect=denoise shutter-speed=0 iso=0 brightness=50 contrast=0 saturation=0 sharpness=0 awb-mode=1 rotation=0 hflip=False vflip=False video-stabilisation=False ! video/x-h264, framerate=30/1, width=1280, height=720 ! h264parse ! rtph264pay name=pay0 pt=96 ) INFO:root:Starting service on port 8554 at url /h264

rtspServer: INFO:root:Running RTSP Server_

but neither RTSP nor ONVIF is working...tried all possible combinations...Kindly please help us out. Thanks and regards Ravi

sravich1 commented 4 months ago

Hi, ONVIF not working ..mediamtx working..Let me know any change in the process

Here is the following way in which I downloaded and started with the rpos

download from git clone https://github.com/BreeeZe/rpos.git cd rpos npm install

do npx gulp get the rpos.js now use rposConfig.sample-picam.json to copy and create rposConfig.json..change the IP address here "IpAddress" : "10.35.62.108", 4 "ServicePort" : 8081, 5 "Username" : "admin", 6 "Password" : "admin", 7 "CameraType" : "picam", 8 "RTSPAddress" : "", "//":"Normally left blank. Used to set RTSP Server Address", 9 "RTSPPort" : 8554, 10 "RTSPName" : "h264", 11 "MulticastEnabled" : false, 12 "RTSPMulticastName" : "h264m", 13 "MulticastAddress" : "224.0.0.1", 14 "MulticastPort" : "10001", 15 "RTSPServer" : 3, "RtspServerComment" : "## Select RTSP Server > 1:RPOS RTSP Server 2:V4L2 RTSP Server by mpromonet (auto selected if MulticastEnabled=true)", I have used RTSPserver 3 here...with1 getting error

getting the ffmpeg error ffmpeg exec error: Error: Command failed: ffmpeg -fflags nobuffer -probesize 256 -rtsp_transport tcp -i rtsp://127.0.0.1:8554/h264 -vframes 1 -r 1 -s 640x360 -y /dev/shm/snapshot.jpg ffmpeg version 4.3.6-0+deb11u1+rpt5 Copyright (c) 2000-2023 the FFmpeg developers

mainly ffmpeg Error

RogerHardiman commented 4 months ago

The problem is this line in your configuration "RTSPAddress" : "hostname_of_remote_rtsp_server", "//":"Normally left blank. Used to set RTSP Server Address",

ffmpeg is used to connect to the RTSP server, grab 1 frame of video and then make a JPEG image. It us used by the ONVIF GetSnapshotURI.

You have told RPOS that your RTSP server is at rtsp://hostname_of_remote_rtsp_server I doubt you have a computer on your network called "hostname_of_remote_rtsp_server.local"

You started with the Proxy config example where you have to specify a remote RTSP server. If you are wanting to use the RTSP sever inside your Pi, you'll set RTSPAddress to ""