How to replay with multiple camera on driveworks tools's replayer.

Hello, experts.

I replayed my sample video which was acquired with 3 camera.
Blow is my code I used.

$ sudo ./replayer --folder=$dir_path/h264_sample --json=$dir_path/h264_sample/recorder-config.json

Program Arguments:

JSON version 0.8 not verified - playback may be broken
JSON Configuration:

CameraVirtual: cannot retrieve framerate from video file, assume 30FPS
Replay with image 1920x1208 at 30 FPS
Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: Lidar: cannot open file

Cannot create lidar sensor: DW_SAL_CANNOT_CREATE_SENSOR
Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CAN: cannot open file

Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: GPS: cannot open file

Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: IMU: cannot open file


I can have saw a view of the first camera, but I can’t the other.

How can I see views of multiple camera using driveworks tools’s replayer?

Hello groot,

I’m having the same issue and i can’t find the code for this sample, do you have more info now?

Thanks in advance,

Dear Adrien,
Can you please provide the DW version and share Json config file to reproduce it on our end.

Dear SivaRamaKrishna,

I have the latest version of DW (installed 2 weeks ago): 6.0 with FW version

Here is the Json config file content:

    "_comments": [
        "To record raw camera use output-format=raw.",
        "To record raw and h264 use output-format=raw+h264.",
        "To record h264 only use output-format=h264.",
        "To record lraw only use output-format=lraw.",
        "To record lraw and h264 use output-format=lraw+h264.",
        "To record camera asynchronously, add async-record=1 to ",
        "the params of the camera sensor.",
        "To record 2 consecutive frames and skip 6 consecutive frames in the ",
        "camera use frame-record-count=2 and frame-skip-count=6.",
        "The write-file-pattern for each only refers to the filenames ",
        "and not the extensions. Those are inferred automatically.",
        "The separate-thread for each refers to the fact of whether",
        "threads are shared or a new one is created for capturing data.",
        "If separate-thread=false, it will capture on the same thread as",
        "other sensor types that have set separate-thread=false.",
        "If separate-thread=true, a new thread will spawn just for that",
        "sensor type.",
        "To set the log-level choose from [verbose, debug, warn, error]"
    "version": "0.8",
    "gpu-device": 0,
    "path": ".",
    "log-level": "verbose",
    "file-buffer-size": 2097152,
    "camera": {
        "separate-thread": true,
        "record-thread-priority": 0,
        "write-file-pattern": "video_*",
        "sensors": [
                "protocol": "camera.gmsl",
                "params": "csi-port=ab, camera-type=ar0231-rccb, camera-count=2, camera-mask=0011, slave=0, cross-csi-sync=1, fifo-size=6, output-format=h264",
                "channel-names": [
    "can": {
        "separate-thread": true,
        "write-file-pattern": "can_*",
        "sensors": [
                "protocol": "can.socket",
                "params": "",
                "channel-name": "0"
    "gps": {
        "separate-thread": false,
        "write-file-pattern": "gps_*",
        "lock-override": false,
        "sensors": [
                "protocol": "gps.uart",
                "params": "device=/dev/ttyACM0,baud=115200",
                "channel-name": "0"
    "imu": {
        "separate-thread": false,
        "write-file-pattern": "imu_*",
        "sensors": [
                "protocol": "imu.xsens",
                "params": "device=0,frequency=100",
                "channel-name": "0"
    "lidar": {
        "separate-thread": false,
        "write-file-pattern": "lidar_*",
        "sensors": [
                "protocol": "lidar.virtual",
                "params": "file=./lidar_sample.bin",
                "channel-name": "0"
    "radar": {
        "write-file-pattern": "radar_*",
        "sensors": [
                "protocol": "radar.virtual",
                "params": "file=./radar_sample.bin",
                "channel-name": "0"
    "driveworks-version": {
        "major": 0,
        "minor": 6,
        "patch": 67,
        "hash": "51bd3aae95ffafdf5d76d618fb541f0599cccba8",
        "extra": ""

I’m able to watch both camera 0 and 1 but on separate windows with the following command:

sudo ./replayer --folder=$dir_path/h264_sample --json=$dir_path/h264_sample/recorder-config.json --show-camera=camera0
sudo ./replayer --folder=$dir_path/h264_sample --json=$dir_path/h264_sample/recorder-config.json --show-camera=camera1

Would it be possible to get the code of replayer sample?
Thanks in advance,

Hi Adrien,
The replayer code is not publicly available. I am able to reproduce it on my side. I will get back to you on this.

Dear Adrien,
You can’t see multiple camera outputs at a time. Currently, You can see in different windows only.

Ok, i thought that was possible thank you for the reply!
Do you have any information on the date of release of the application’s code?

How can read two files lidar bin ?? Thanks

Dear bruno.araujo,
In Dw 1.2, you have sample_lidar_replay to replay one lidar output. Unfortunately, we don’t have any sample to demonstrate replay two lidars in single window.

What is the array of point cloud LIDAR? I want to know what the variable is, in the LidarAccumalator example.

Dear bruno,
It is not clear what you are asking. Are you asking which variable has LIDAR data red from file?

That, transformation matrix LIDAR.