On PC: RX Pipeline to receive the stream from the NavQPlus AI/ML companion computer:
gst-launch-1.0 udpsrc port=50000 ! "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! decodebin ! queue ! autovideosink
On NavQPlus (e.g. from SSH connection):
gst-launch-1.0 v4l2src io-mode=dmabuf device=/dev/video3 ! "video/x-raw,width=1920,height=1080,framerate=(fraction)30/1" ! vpuenc_h264 ! h264parse ! rtph264pay ! udpsink host=10.0.1.101 port=50000
Note: Modify the host IP address 10.0.1.101 to the one matching your receiving laptop
Video Test Source instead of camera:
gst-launch-1.0 videotestsrc ! "video/x-raw,width=640,height=480,framerate=(fraction)10/1" ! vpuenc_h264 ! h264parse ! rtph264pay ! udpsink host=10.0.1.101 port=50000
Camera Tuning: 1) Get the video subdevice using:
media-ctl -p /dev/media0
remember the sub-device of the camera ( ov5645tn) in the media video chain, e.g. /dev/v4l-subdev2
2) List the available user and camera controls and try them out (e.g. contrast, saturation, auto white balancing etc.):
v4l2-ctl -l -d /dev/v4l-subdev2
Streaming and Storing to a h264 compressed file simultaneously including text overlays for 30 seconds:
gst-launch-1.0 v4l2src io-mode=dmabuf device=/dev/video3 num-buffers=900 ! "video/x-raw,width=1920,height=1080,framerate=(fraction)30/1" ! tee name=t ! queue leaky=1 ! textoverlay text="Live" ! vpuenc_h264 ! h264parse ! rtph264pay ! udpsink host=10.0.1.101 port=50000 sync=false t. ! queue ! textoverlay text="recorded" ! vpuenc_h264 ! mpegtsmux ! filesink location=record_$(date +"%Y-%m-%d_%T").mp4
Note: The VPU is encoding two streams in parallel as we have different text overlays on the live stream and the recorded file
To avoid needing to set up a Wi-Fi router hostapd
can be installed so that the NavQPlus acts as an access point. Additionally a DHCP server can be configured. This way you can directly connect to the WiFi network spawned by the NavQPlus:
Shown highlighted below, the IP address 10.0.1.101 is coming from the DHCP server on the NavQPlus.