How to use the Raspberry Pi 5 camera instead of inputting .mp4 video in this command?

I have this command courtesy of @sanjoyg but how can I make it use the Raspberry Pi 5 camera instead of an input.mp4 video?

gst-launch-1.0         hailomuxer name=hmux filesrc location=input.mp4 name=src_0 !         queue name=hailo_preprocess_q_0 leaky=no max-size-buffers=5 max-size-bytes=0 max-size-time=0 !         decodebin !         videoconvert !         videoscale qos=false !         queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 !         hailonet hef-path=/home/user/Downloads/retinaface_mobilenet_v1.hef !         queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 !         hailofilter so-path=/usr/lib/aarch64-linux-gnu/post_processes/libface_detection_post.so name=face_detection_hailofilter qos=false function_name=retinaface !         queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 !         videoconvert !         autovideosink

Use this and let me know I dont have a pi camera setup so cant verify

hailomuxer name=hmux libcamerasrc name=src_0 auto-focus-mode=2 ! video/x-raw, format=RGB, width=1536, height=864 !  queue name=queue_src_scale ! videoscale ! video/x-raw, format=RGB, width=640, height=640, framerate=30/1 ! queue name=hailo....

Thank you @sanjoyg your article has been incredibly helpful. In the end I got detection fully working and at nice speeds with the following command:

gst-launch-1.0 hailomuxer name=hmux \
    libcamerasrc ! \
    video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! \
    queue name=hailo_preprocess_q_0 leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
    videoscale qos=false n-threads=2 ! video/x-raw, pixel-aspect-ratio=1/1 ! \
    queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
    videoconvert n-threads=2 qos=false ! \
    queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
    hailonet hef-path=/home/user/Downloads/retinaface_mobilenet_v1.hef ! \
    queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
    hailofilter so-path=/usr/lib/aarch64-linux-gnu/post_processes/libface_detection_post.so qos=false function_name=retinaface ! \
    queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
    hailooverlay qos=false ! \
    queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
    videoconvert n-threads=2 qos=false ! \
    queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! \
    autovideosink sync=false

I hope this can help someone.

Awesome, have updated my article with the details