Files
sunnypilot/tools/camerastream
Harald Schäfer e71ec4e8d7 Split cereal into cereal/msgq (#32631)
* squash

* fix doc

* compile device

* compile device

* Update ref

* add msgq to precommit exclusions

* No service ports

* fix compile

* address comments

* More comments

* Delete logger

* Update opendbc

* Linting

* bump msgq
2024-06-06 14:31:56 -07:00
..
2024-02-06 13:19:01 -08:00

Camera stream

compressed_vipc.py connects to a remote device running openpilot, decodes the video streams, and republishes them over VisionIPC.

Usage

On the device

SSH into the device and run following in separate terminals:

cd /data/openpilot/cereal/messaging && ./bridge

cd /data/openpilot/system/loggerd && ./encoderd

cd /data/openpilot/system/camerad && ./camerad

Note that both the device and your PC must be on the same openpilot commit.

Alternatively paste this as a single command:

(
  cd /data/openpilot/cereal/messaging/
  ./bridge &

  cd /data/openpilot/system/camerad/
  ./camerad &

  cd /data/openpilot/system/loggerd/
  ./encoderd &

  wait
) ; trap 'kill $(jobs -p)' SIGINT

Ctrl+C will stop all three processes.

On the PC

Decode the stream with compressed_vipc.py:

cd ~/openpilot/tools/camerastream && ./compressed_vipc.py <ip>

To actually display the stream, run watch3 in separate terminal:

cd ~/openpilot/selfdrive/ui/ && ./watch3

compressed_vipc.py usage

$ python compressed_vipc.py -h
usage: compressed_vipc.py [-h] [--nvidia] [--cams CAMS] [--silent] addr

Decode video streams and broadcast on VisionIPC

positional arguments:
  addr         Address of comma three

options:
  -h, --help   show this help message and exit
  --nvidia     Use nvidia instead of ffmpeg
  --cams CAMS  Cameras to decode
  --silent     Suppress debug output

Example:

cd ~/openpilot/tools/camerastream && ./compressed_vipc.py comma-ffffffff --cams 0
cd ~/openpilot/selfdrive/ui/ && ./watch3