I am having some trouble specifically using a loopback device with an RTSP stream.
Both of these video pipelines work (I confirmed each with a video output)
RTSP to screen:
gst-launch-1.0 rtspsrc latency=0 location='rtsp://192.168.1.101:554/user=admin&password=admin123&channel=1&stream=0.sdp?' ! rtph265depay ! queue ! h265parse ! nvv4l2decoder ! nvvidconv ! videoconvert ! autovideosink
RTSP to Loopback with SOFTWARE DECODING:
gst-launch-1.0 rtspsrc latency=0 location='rtsp://192.168.1.101:554/user=admin&password=admin123&channel=1&stream=0.sdp?' ! rtph265depay ! queue ! h265parse ! avdec_h265 ! videoconvert ! v4l2sink device=/dev/video41
However, this does not work:
RTSP to Loopback with HARDWARE DECODING:
gst-launch-1.0 rtspsrc latency=0 location='rtsp://192.168.1.101:554/user=admin&password=admin123&channel=1&stream=0.sdp?' ! rtph265depay ! queue ! h265parse ! nvv4l2decoder ! nvvidconv ! videoconvert ! v4l2sink device=/dev/video41
Bizarrely, it appears to attempt to write to many different loopback devices:
Setting pipeline to PAUSED ...
Failed to open /dev/video4: No such file or directory
Failed to open /dev/video5: No such file or directory
Failed to open /dev/video6: No such file or directory
Failed to open /dev/video7: No such file or directory
Failed to open /dev/video8: No such file or directory
Failed to open /dev/video9: No such file or directory
Failed to open /dev/video10: No such file or directory
Failed to open /dev/video11: No such file or directory
Failed to open /dev/video12: No such file or directory
Failed to open /dev/video13: No such file or directory
Failed to open /dev/video14: No such file or directory
Failed to open /dev/video15: No such file or directory
Failed to open /dev/video16: No such file or directory
Failed to open /dev/video17: No such file or directory
Failed to open /dev/video18: No such file or directory
Failed to open /dev/video19: No such file or directory
Failed to open /dev/video20: No such file or directory
Failed to open /dev/video21: No such file or directory
Failed to open /dev/video22: No such file or directory
Failed to open /dev/video23: No such file or directory
Failed to open /dev/video24: No such file or directory
Failed to open /dev/video25: No such file or directory
Failed to open /dev/video26: No such file or directory
Failed to open /dev/video27: No such file or directory
Failed to open /dev/video28: No such file or directory
Failed to open /dev/video29: No such file or directory
Failed to open /dev/video30: No such file or directory
Failed to open /dev/video31: No such file or directory
Failed to open /dev/video32: No such file or directory
Failed to open /dev/video33: No such file or directory
Failed to open /dev/video34: No such file or directory
Failed to open /dev/video35: No such file or directory
Failed to open /dev/video36: No such file or directory
Failed to open /dev/video37: No such file or directory
Failed to open /dev/video38: No such file or directory
Failed to open /dev/video39: No such file or directory
Failed to open /dev/video40: No such file or directory
Opening in BLOCKING MODE
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 266)
(Argus) Error EndOfFile: Receive worker failure, notifying 1 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 339)
(Argus) Error InvalidState: Argus client is exiting with 1 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 355)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 368)
(Argus) Error EndOfFile: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error EndOfFile: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
ArgusV4L2_Open failed: No such file or directory
Opening in BLOCKING MODE
libv4l2: error getting pixformat: Invalid argument
Opening in BLOCKING MODE
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://192.168.1.101:554/user=admin&password=admin123&channel=1&stream=0.sdp?
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 1
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
NvMMLiteOpen : Block : BlockType = 279
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 279
It also crashes the nvargus-daemon service running in the backgroundā¦
May 08 16:27:04 tegra-ubuntu systemd[1]: Started Argus daemon.
May 08 16:53:40 tegra-ubuntu nvargus-daemon[22820]: === NVIDIA Libargus Camera Service (0.98.3)=== Listening for connections...=== gst-launch-1.0[27726]: Connection established (FFFFA2>
May 08 16:53:40 tegra-ubuntu nvargus-daemon[22820]: SCF: Error ResourceError: (propagating from src/services/power/PowerService.cpp, function startService(), line 52)
May 08 16:53:40 tegra-ubuntu nvargus-daemon[22820]: SCF: Error ResourceError: (propagating from src/components/ServiceHost.cpp, function startServices(), line 162)
May 08 16:53:40 tegra-ubuntu nvargus-daemon[22820]: SCF: Error InvalidState: Service not running (in src/services/power/PowerService.cpp, function stopService(), line 70)
May 08 16:53:40 tegra-ubuntu nvargus-daemon[22820]: SCF: Error InvalidState: (propagating from src/components/ServiceHost.cpp, function stopServicesInternal(), line 214)
May 08 16:53:40 tegra-ubuntu nvargus-daemon[22820]: SCF: Error ResourceError: (propagating from src/api/CameraDriver.cpp, function initialize(), line 178)
May 08 16:53:40 tegra-ubuntu nvargus-daemon[22820]: SCF: Error InvalidState: Services are already stopped (in src/components/ServiceHost.cpp, function stopServicesInternal(), line 193)
May 08 16:53:40 tegra-ubuntu nvargus-daemon[22820]: SCF: Error ResourceError: (propagating from src/api/CameraDriver.cpp, function getCameraDriver(), line 119)
May 08 16:53:40 tegra-ubuntu nvargus-daemon[22820]: (Argus) Error ResourceError: (propagating from src/api/GlobalProcessState.cpp, function createCameraProvider(), line 210)
May 08 16:53:40 tegra-ubuntu nvargus-daemon[22820]: === gst-launch-1.0[27726]: CameraProvider initialized (0xffff9c0bb2c0)=== gst-launch-1.0[27726]: CameraProvider destroyed (0xffff9c0>
May 08 16:53:40 tegra-ubuntu systemd[1]: nvargus-daemon.service: Main process exited, code=killed, status=11/SEGV
May 08 16:53:40 tegra-ubuntu systemd[1]: nvargus-daemon.service: Failed with result 'signal'.
May 08 16:53:40 tegra-ubuntu systemd[1]: nvargus-daemon.service: Scheduled restart job, restart counter is at 2.
May 08 16:53:40 tegra-ubuntu systemd[1]: Stopped Argus daemon.
May 08 16:53:40 tegra-ubuntu systemd[1]: Started Argus daemon.
Any suggestions about what to test next would be greatly appreciated. Thanks!