Visualizer-first container workflow.
docker build -t wautovantage-dev ~/WAutoVantageIf you want the GUI to appear on the machine's local display:
export DISPLAY=:0
export XAUTHORITY=$HOME/.Xauthority
xhost +si:localuser:wautodriveThen start the container:
sudo docker run -it --rm \
--name wautovantage-dev \
--runtime nvidia \
--network host \
--privileged \
-e DISPLAY=$DISPLAY \
-e XAUTHORITY=/home/wautodrive/.Xauthority \
-v /dev:/dev \
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
-v "$HOME/.Xauthority":/home/wautodrive/.Xauthority:ro \
-v "$HOME/WAutoVantage":/workspace/WAutoVantage \
-v "$HOME/WAutoVision":/workspace/WAutoVision \
wautovantage-dev \
bash -iIn a separate host terminal, start MediaMTX:
~/mediamtx ~/simple.ymlIf you only want to run the visualizer with no ROS topic subscription:
cd /workspace/WAutoVantage
python3 server/testbed.pyIf you want the visualizer to subscribe to ROS topics published elsewhere on the network, build only the message package:
source /opt/ros/humble/install/setup.bash
cd /workspace/WAutoVision
colcon build --packages-select wauto_perception_msgs
source install/setup.bash
cd /workspace/WAutoVantage
python3 server/testbed.pyYou do not need a full colcon build of WAutoVision just to subscribe to remote topics. WAutoVantage only needs rclpy plus wauto_perception_msgs.
testbed.py now starts the FFmpeg publisher itself and sends MPEG-TS directly to MediaMTX on 127.0.0.1:5000. You do not need the old stream.sdp bridge command anymore.
Optional stream tuning before python3 server/testbed.py:
export WAUTOVANTAGE_STREAM_FPS=24
export WAUTOVANTAGE_STREAM_QUEUE_SIZE=1
export WAUTOVANTAGE_STREAM_GOP=12Optional compatibility fallback to the old RTP/SDP mode:
export WAUTOVANTAGE_STREAM_MODE=rtp
export WAUTOVANTAGE_STREAM_PORT=5004