ZED Depth Viewer errors accessing Zed X One virtual stereo camera

I am using SDK v5.0.2 and a set of ZED X One cameras as a virtual stereo camera. I have run calibration and received a satisfactory result. I am streaming the cameras using ZED Media Server. When I open the stream in ZED Depth Viewer, I get errors and the resulting high confidence point cloud is pretty sparse.

ZED Depth Viewer log with error:

$ ZED_Depth_Viewer 
[2025-06-20 22:02:25 UTC][ZED][INFO] Logging level INFO
[ZED][Streaming] Switching to SHM-boost backend input
[Streaming] Warning : receiving port 30000 is not available (already used)... switching to port 30002. Retrying...
[Streaming] No backward compatibility required.
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 279 
NvMMLiteBlockCreate : Block : BlockType = 279 
[2025-06-20 22:02:25 UTC][ZED][INFO] [Init]  Depth mode: NEURAL LIGHT
[2025-06-20 22:02:25 UTC][ZED][INFO] [Init]  Serial Number: S/N 106374888
[2025-06-20 22:02:26 UTC][ZED][WARNING] [Init]  Self-calibration skipped. Scene may be occluded or lack texture. (Error code: 0x03) 
[2025-06-20 22:02:36 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-20 22:02:44 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-20 22:02:53 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-20 22:03:01 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-20 22:03:09 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 277)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 379)
[2025-06-20 22:03:18 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-20 22:03:19 UTC][ZED][WARNING] Frames may be corrupted or degraded

For background, this is the output of running ZED Media Server (this step was performed before running ZED Depth Viewer):

$ ZED_Media_Server 
[ZEDMediaServer] Version  0.1.9
[ZEDMediaServer] Stopping Media Server service....
[sudo] password for user: 
...done
[ZEDMediaServer] Found :  2  available cameras
[ZEDMediaServer] Changing the resolution of the camera  ()  to  1920  x  1200
[ZEDMediaServer] Opening camera  0  at Resolution  1920 x 1200 @ 30
[ZXCamera] Camera  301398000  opened at resolution  1920  x  1200  and fps  30
[ZEDMediaServer] Opening camera  1  at Resolution  1920 x 1200 @ 30
[ZXCamera] Camera  304038312  opened at resolution  1920  x  1200  and fps  30
[ZEDMediaServer] Loading virtual camera configuration S/N 106374888
[ZEDMediaServer] Enable streaming of virtual camera S/N 106374888
[Streaming] Use Transport layer mode : 2
[Streaming] Use SHM-Boost IPC backend
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 8 
===== NvVideo: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 8 
NvVideo: H265 : Profile : 1 
[VirtualCameraStreamer] Creating Streamer for  1920 x 1200 @ 30
[VirtualCameraStreamer] --> Enter <--
NVMEDIA: Need to set EMC bandwidth : 2872000 
NvVideo: bBlitMode is set to TRUE 
[Streaming] Streaming is now running.... 
[VirtualCameraStreamer] --> Exit <--
[ZEDMediaServer] Restarting Media Server
[ZEDMediaServer] Activate CLI mode

When I ran calibration on the stereo cameras, here was the calibration report:

*** Calibration Report ***
 * Coverage left:	91.6667%
 * Coverage right:	91.6667%
 * Enough points detected
 * Reprojection error:	 Left 0.288215 Ritght 0.32469 Stereo 0.430565
 ** Camera parameters **
  * Intrinsic mat left:	[744.0603690548733, 0, 932.5491890338977;
 0, 742.6342492051253, 557.6005828271165;
 0, 0, 1]
  * Distortion mat left:	[0.004539049416373693, -0.04859323796896896, -0.0003341429029087552, -0.001159298392426743, 0.01574980614640466]
  * Intrinsic mat right:	[747.6480195713863, 0, 945.7589648854737;
 0, 746.3085408057398, 655.3795427125242;
 0, 0, 1]
  * Distortion mat right:	[-0.00489401538571712, -0.03712250380741842, 0.001257036769867906, 4.028360479760191e-05, 0.01160488394909502]
 ** Extrinsic parameters **
  * Translation:	[-222.7549534219454;
 -1.557699020537958;
 2.836616999123061]
  * Rotation:	[0.01665211505488632;
 -0.009779987884564875;
 0.002166645557290011]
 * Stereo rectification matrix
0.00448876
 * Rectified field of view:	100.848° x 180°

*** Calibration file ***
 * Parameter file written successfully: 'SN_ZEDONES.conf'
CALIBRATION success

The calibration file was renamed to SN106374888.conf (the S/N of the virtual camera that is being streamed) and moved to /usr/local/zed/settings

OK I was actually able to fix the calibration issue, it turned out that when I reran ZED_Media_Server after upgrading to SDK v5.0.2 it swapped my LR cameras. I fixed the LR designation and the self-calibration error has been dropped. Now I get these errors (though the high confidence point cloud is now dense):

[2025-06-20 23:10:49 UTC][ZED][INFO] [Init]  Depth mode: NEURAL LIGHT
[2025-06-20 23:10:49 UTC][ZED][INFO] [Init]  Serial Number: S/N 106374888
[2025-06-20 23:10:59 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-20 23:11:07 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-20 23:11:16 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-20 23:11:24 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-20 23:11:32 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 277)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 379)
[2025-06-20 23:11:41 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)

How do I fix the Argus errors and the camera initialization warnings?

What code do you use to open the camera? Can you share it?

I am doing this all in the terminal through ZED Media Server and Zed Depth Viewer. Here is the sequence.

1. ZED Media Server GUI

Initiate ZED_Media_Server in terminal:

$ ZED_Media_Server 
[ZEDMediaServer] Version  0.1.9
[ZEDMediaServer] Stopping Media Server service....
[sudo] password for user: 
...done
[ZEDMediaServer] Found :  2  available cameras
[ZEDMediaServer] Changing the resolution of the camera  ()  to  1920  x  1200
[ZEDMediaServer] Opening camera  0  at Resolution  1920 x 1200 @ 30
[ZXCamera] Camera  301398000  opened at resolution  1920  x  1200  and fps  30
[ZEDMediaServer] Opening camera  1  at Resolution  1920 x 1200 @ 30
[ZXCamera] Camera  304038312  opened at resolution  1920  x  1200  and fps  30
[ZEDMediaServer] Loading virtual camera configuration S/N 106374888

In ZED Media Server GUI:

  1. Ensure Media Server Deamon is toggled to on. Set streaming terminal to 34000.
  2. Press Stream → “Streaming”, output to terminal:
[Streaming] Use Transport layer mode : 2
[Streaming] Use SHM-Boost IPC backend
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 8 
===== NvVideo: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 8 
NvVideo: H265 : Profile : 1 
[VirtualCameraStreamer] Creating Streamer for  1920 x 1200 @ 30
[VirtualCameraStreamer] --> Enter <--
NVMEDIA: Need to set EMC bandwidth : 2872000 
NvVideo: bBlitMode is set to TRUE 
[Streaming] Streaming is now running.... 

  1. Close GUI → Output to terminal:
[VirtualCameraStreamer] --> Exit <--
[ZEDMediaServer] Restarting Media Server
[ZEDMediaServer] Activate CLI mode

2. ZED Depth Viewer

Initiate ZED_Depth_Viewer in terminal:

$ ZED_Depth_Viewer

In ZED Depth Viewer GUI

  1. Press Streaming Icon, settings: IP Address: 127.0.0.1, Port 34000 → output to terminal:
[2025-06-23 22:18:26 UTC][ZED][INFO] Logging level INFO
[ZED][Streaming] Switching to SHM-boost backend input
[Streaming] Warning : receiving port 34000 is not available (already used)... switching to port 34002. Retrying...
[Streaming] No backward compatibility required.
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 279 
NvMMLiteBlockCreate : Block : BlockType = 279 
[2025-06-23 22:18:26 UTC][ZED][INFO] [Init]  Depth mode: NEURAL LIGHT
[2025-06-23 22:18:27 UTC][ZED][INFO] [Init]  Serial Number: S/N 106374888
[2025-06-23 22:18:38 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-23 22:18:46 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-23 22:18:54 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-23 22:19:03 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-23 22:19:11 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 277)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 379)
[2025-06-23 22:19:19 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)

It takes quite some time (and cancelling the Timeout popup a few times) before the ZED_Depth_Viewer camera feed is live.

  1. Close GUI → output to terminal:
(Argus) Error InvalidState: Receive thread is not running cannot send. (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 96)
(Argus) Error InvalidState:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)

What does it happen if you open ZED Depth Viewer before closing the ZED Media Server GUI?
Is the behavior the same if you try using ZED Explorer instead of ZED Depth Viewer?

What does it happen if you open ZED Depth Viewer before closing the ZED Media Server GUI?

Same end result for ZED Depth Viewer behavior (errors in log, freezing GUI) but now we can also see error logs from ZED Media Server. See section 1 below.

Is the behavior the same if you try using ZED Explorer instead of ZED Depth Viewer?

There are no errors and there is no freezing of the GUI for Zed Explorer. See section 2 below.

1. ZED Depth Viewer with ZED Media Server GUI Open

Start ZED_Media_Server, press Stream (port: 34000) → terminal:

$ ZED_Media_Server 
[ZEDMediaServer] Version  0.1.9
[ZEDMediaServer] Stopping Media Server service....
...done
[ZEDMediaServer] Found :  2  available cameras
[ZEDMediaServer] Changing the resolution of the camera  ()  to  1920  x  1200
[ZEDMediaServer] Opening camera  0  at Resolution  1920 x 1200 @ 30
[ZXCamera] Camera  301398000  opened at resolution  1920  x  1200  and fps  30
[ZEDMediaServer] Opening camera  1  at Resolution  1920 x 1200 @ 30
[ZXCamera] Camera  304038312  opened at resolution  1920  x  1200  and fps  30
[ZEDMediaServer] Loading virtual camera configuration S/N 106374888
[ZEDMediaServer] Enable streaming of virtual camera S/N 106374888
[Streaming] Use Transport layer mode : 2
[Streaming] Use SHM-Boost IPC backend
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 8 
===== NvVideo: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 8 
NvVideo: H265 : Profile : 1 
[VirtualCameraStreamer] Creating Streamer for  1920 x 1200 @ 30
[VirtualCameraStreamer] --> Enter <--
NVMEDIA: Need to set EMC bandwidth : 2872000 
NvVideo: bBlitMode is set to TRUE 
[Streaming] Streaming is now running.... 

Start ZED_Depth_Viewer, open stream at 127.0.0.1:34000

ZED_Depth_Viewer opens 3d visualization scene with initial capture from one camera, then freezes (so I can’t see if it got a capture from another camera) and then eventually unfreezes and provides live view (with dense 3d point cloud) from both cameras.

ZED_Depth_Viewer shell:

$ ZED_Depth_Viewer 
[2025-06-24 16:58:09 UTC][ZED][INFO] Logging level INFO
[ZED][Streaming] Switching to SHM-boost backend input
[Streaming] Warning : receiving port 34000 is not available (already used)... switching to port 34002. Retrying...
[Streaming] No backward compatibility required.
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 279 
NvMMLiteBlockCreate : Block : BlockType = 279 
[2025-06-24 16:58:09 UTC][ZED][INFO] [Init]  Depth mode: NEURAL LIGHT
[2025-06-24 16:58:09 UTC][ZED][INFO] [Init]  Serial Number: S/N 106374888
[2025-06-24 16:58:19 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-24 16:58:28 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-24 16:58:36 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-24 16:58:44 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
[2025-06-24 16:58:53 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 277)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 379)
[2025-06-24 16:59:01 UTC][ZED][WARNING] CAMERA NOT INITIALIZED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)

ZED_Media_Server shell:

[ZED][Streaming] Adding Receiver with IP: 127.0.0.1
[ZED][Streaming] Removing Receiver with IP: 127.0.0.1
(Argus) Error Timeout:  (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
(Argus) Error Timeout:  (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
(Argus) Error FileOperationFailed: Failed socket read: Connection reset by peer (in src/rpc/socket/common/SocketUtils.cpp, function readSocket(), line 79)
(Argus) Error FileOperationFailed: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 277)
(Argus) Error FileOperationFailed: Receive worker failure, notifying 4 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 350)
(Argus) Error InvalidState: Argus client is exiting with 4 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 366)
(Argus) Error FileOperationFailed: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 379)
(Argus) Error FileOperationFailed: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error FileOperationFailed:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
(Argus) Error FileOperationFailed: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error FileOperationFailed:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
(Argus) Error InvalidState: Receive thread is not running cannot send. (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 96)
(Argus) Error InvalidState:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)

Close ZED Depth Viewer

ZED Media Server shell →

[ZED][Streaming] Adding Receiver with IP: 127.0.0.1
[ZED][Streaming] Removing Receiver with IP: 127.0.0.1

ZED Depth Viewer shell →

(Argus) Error InvalidState: Receive thread is not running cannot send. (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 96)
(Argus) Error InvalidState:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)

2. ZED Explorer

Open ZED Media Explorer and stream at port 34000

$ ZED_Media_Server 
[ZEDMediaServer] Version  0.1.9
[ZEDMediaServer] Stopping Media Server service....
...done
[ZEDMediaServer] Found :  2  available cameras
[ZEDMediaServer] Changing the resolution of the camera  ()  to  1920  x  1200
[ZEDMediaServer] Opening camera  0  at Resolution  1920 x 1200 @ 30
[ZXCamera] Camera  301398000  opened at resolution  1920  x  1200  and fps  30
[ZEDMediaServer] Opening camera  1  at Resolution  1920 x 1200 @ 30
[ZXCamera] Camera  304038312  opened at resolution  1920  x  1200  and fps  30
[ZEDMediaServer] Loading virtual camera configuration S/N 106374888
[ZEDMediaServer] Enable streaming of virtual camera S/N 106374888
[Streaming] Use Transport layer mode : 2
[Streaming] Use SHM-Boost IPC backend
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 8 
===== NvVideo: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 8 
NvVideo: H265 : Profile : 1 
[VirtualCameraStreamer] Creating Streamer for  1920 x 1200 @ 30
[VirtualCameraStreamer] --> Enter <--
NVMEDIA: Need to set EMC bandwidth : 2872000 
NvVideo: bBlitMode is set to TRUE 
[Streaming] Streaming is now running.... 

Open ZED Explorer and connect to stream

ZED Explorer shell →

[ZED][Streaming] Switching to SHM-boost backend input
[Streaming] Warning : receiving port 34000 is not available (already used)... switching to port 34002. Retrying...
[Streaming] No backward compatibility required.
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 279 
NvMMLiteBlockCreate : Block : BlockType = 279 

ZED Media Server shell →

[ZED][Streaming] Adding Receiver with IP: 127.0.0.1
[ZED][Streaming] Removing Receiver with IP: 127.0.0.1