Application template
  • 06 Sep 2023
  • 3 Minutes to read
  • Contributors
  • Dark
    Light

Application template

  • Dark
    Light

Article Summary

Here's common command line for each case.

Get camera/video Source

  • video
    gst-launch-1.0 filesrc location=pexels-george-morina-5372874.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! nvvideoconvert ! videoconvert ! xvimagesink sync=true
    
  • Basler
    gst-launch-1.0 pylonsrc pixel-format=BayerRG8 width=1280 height=720 fps=7 ! videoconvert ! xvimagesink sync=false
    
  • Appropho
    gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/x-raw, width=1920, height=1080, framerate=30/1, format=UYVY' ! xvimagesink sync=false
    
  • Hikvision IP camera
    gst-launch-1.0 rtspsrc location="rtsp://192.168.1.64:8554/Streaming/Channels/101" user-id=admin user-pw=@hk888888 latency=1000 drop-on-latency=true ! rtph264depay ! h264parse ! nvv4l2decoder ! nvvidconv flip-method=horizontal-flip ! videoconvert ! xvimagesink sync=false
    
    gst-launch-1.0 rtspsrc location="rtsp://192.168.1.64:8554/Streaming/Channels/101" user-id=admin user-pw=@hk888888 ! rtph264depay ! h264parse ! nvv4l2decoder ! nvvideoconvert ! "video/x-raw(memory:NVMM),format=RGBA" ! nvegltransform ! nveglglessink sync=False
    
  • Vivotek IP camera
    gst-launch-1.0 rtspsrc location="rtsp://192.168.1.13:554/live1s1.sdp" user-id=root user-pw=adlink6166 latency=1000 drop-on-latency=true ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! xvimagesink sync=false
    

AI inferece

  • Classification
    • googlenet
    gst-launch-1.0 pylonsrc camera=0 fps=20 ! videoconvert ! adrt model=/home/adlink/Downloads/model/googlenet.engine batch=1 ! adtrans_classifier label="/home/adlink/Desktop/EVA Sample/EVA_IDE/model/googlenet-v2_RT_labels.txt" ! admetadrawer ! videoconvert ! fpsdisplaysink video-sink=xvimagesink text-overlay=true
    
  • Object detection
    • yolov3-tiny
    gst-launch-1.0 filesrc location=pexels-george-morina-5372874.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! nvvideoconvert ! videoconvert ! adrt rgbconv=true model=yolov3-tiny-288-1012.engine device=0 scale=0.0039 mean="0 0 0" batch=1 ! adtrans_yolotrt label-file=label.txt blob-size="9,18" mask="(3,4,5),(0,1,2)" anchor="(10,14),(23,27),(37,58),(81,82),(135,169),(344,319)" input_width=288 class-num=80 input_height=288 threshold=0.4 ! admetadrawer ! videoconvert ! xvimagesink sync=true
    
    • yolov3
    gst-launch-1.0 pylonsrc camera=0 fps=6 ! videoconvert ! adrt model=yolov3-416_test.engine scale=0.004 mean="0 0 0" device=0 batch=1 ! adtrans_yolo label=label.txt class-num=2 ! admetadrawer ! videoconvert ! xvimagesink sync=false
    
    • yolov4
    gst-launch-1.0 filesrc location=fault_4_twist.MOV ! decodebin ! nvvideoconvert ! videoconvert ! adrt model="yolov4-416.engine" scale=0.004 mean="0 0 0" rgbconv=true ! adtrans_yolo label="label.txt" class-num=2 input-width=416 input-height=416 blob-size="52,26,13" anchor="(12,16),(19,36),(40,28),(36,75),(76,55),(72,146),(142,110),(192,243),(459,401)" mask="(0,1,2),(3,4,5),(6,7,8)" threshold=0.1 ! admetadrawer ! videoconvert ! xvimagesink sync=False
    
    • yolov4-tiny-416
    gst-launch-1.0 filesrc location=fault_4_twist.MOV ! decodebin ! nvvideoconvert ! videoflip video-direction=1 ! videoconvert ! adrt model=yolov4-tiny-416.engine scale=0.004 mean="0 0 0" rgbconv=true ! adtrans_yolo label=label.txt input-width=416 input-height=416 blob-size="13,26" mask="(3,4,5),(1,2,3)" anchor="(10,14),(23,27),(37,58),(81,82),(135,169),(344,319)" threshold=0.1 class-num=2 use-sigmoid=True ! admetadrawer ! videoconvert ! xvimagesink sync=true
    
    • yolov4-tiny-288
    gst-launch-1.0 pylonsrc height=600 width=800 fps=7.0 ! videoconvert ! adrt model="/home/adlink/Desktop/EVA_IDE/model/yolov4-tiny-288.engine" scale=0.0039 mean="0 0 0" rgbconv=True ! adtrans_yolo blob-size="9,18" mask="(3,4,5),(1,2,3)" anchor="(10,14),(23,27),(37,58),(81,82),(135,169),(344,319)" input-width=288 input-height=288 threshold=0.5 label="/home/adlink/Desktop/EVA_IDE/model/yolo_RT_labels.txt" use-sigmoid=True ! admetadrawer ! videoconvert ! xvimagesink sync=False
    
    • ssd inception
    gst-launch-1.0 pylonsrc camera=0 fps=15 ! videoscale ! video/x-raw, width=800, height=600 ! videoconvert ! adrt model=/home/adlink/Downloads/model/ssdv2.engine batch=1 device=0 scale=0.0078 mean="0 0 0" norm=false ! adtrans_ssd label=/home/adlink/Downloads/model/ssd_coco_labels.txt ! admetadrawer ! videoconvert ! fpsdisplaysink video-sink=xvimagesink text-overlay=true
    
  • Pose detection
    gst-launch-1.0 pylonsrc pixel-format=BayerRG8 width=1280 height=720 fps=7 ! bayer2rgb ! videoconvert ! adrt model="/home/adlink/Desktop/EVA Sample/EVA_IDE/model/pose-b1.engine" scale=0.0039 rgbconv=true ! adtrans_openpose_py ! admetadrawer ! videoconvert ! xvimagesink sync=false
    
  • Segmentation
    • fcn
    gst-launch-1.0 videotestsrc ! adrt model=road.engine scale=1.0 mean="0 0 0" device=0 batch=1 ! adtrans_segment class-num=4 blob-height=512 blob-width=896 ! xvimagesink sync=false
    
  • Geofence by Vivotek IP cam
gst-launch-1.0 rtspsrc location="rtsp://192.168.1.13:554/live1s1.sdp" user-id=root user-pw=adlink6166 latency=1000 drop-on-latency=true ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! adrt model="/home/adlink/Desktop/EVA_Sample/EVA_IDE/model/yolov4_416_FP16.engine" scale=0.004 mean="0 0 0" rgbconv=true ! adtrans_yolo label="/home/adlink/Desktop/EVA_Sample/EVA_IDE/model/yolo_RT_labels.txt" input-width=416 input-height=416 class-num=80 use-sigmoid=True threshold=0.3 ! geocheck alert-area-def=/home/adlink/Downloads/ai-quick-start-suite/widgets/area.txt object-name=person alert-type=person ! adgpioalert alert-type=person DO-status=0,1,0,0 vote-count=2 ! adgpioalert alert-type="none" DO-status=0,0,0,1 vote-count=2 ! videoconvert ! xvimagesink sync=False

RTSP

Launch RTSP server before every operation

 $ /opt/adlink/eva/bin/rtsp-simple-server
  • Video file streaming out
    gst-launch-1.0 videotestsrc ! videoconvert ! nvvideoconvert ! nvv4l2h264enc ! rtspclientsink location=rtsp://localhost:8554/test
    
  • Appropho camera streaming out
    gst-launch-1.0 v4l2src io-mode=4 ! videoconvert ! nvvideoconvert ! nvv4l2h264enc ! rtspclientsink location=rtsp://localhost:8554/test
    
    gst-launch-1.0 v4l2src io-mode=0 ! 'video/x-raw, width=1920, height=1080, framerate=30/1, format=UYVY' ! nvvideoconvert ! 'video/x-raw(memory:NVMM)' ! nvv4l2h265enc bitrate=4000000 ! rtspclientsink location=rtsp://localhost:8554/test
    
  • Receive RTSP streaming
    gst-launch-1.0 rtspsrc location=rtsp://localhost:8554/test ! rtph265depay ! h264parse ! avdec_h264 ! xvimagesink
    
    gst-launch-1.0 rtspsrc location=rtsp://localhost:8554/test user-id=admin user-pw=admin ! rtph264depay ! h264parse ! nvv4l2decoder ! nvvideoconvert ! "video/x-raw(memory:NVMM),format=RGBA" ! nvegltransform ! nveglglessink sync=false
    

Save file

  • Save as mkv file
    gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! nvvideoconvert ! 'video/x-raw(memory:NVMM)' ! nvv4l2h264enc bitrate=4000000 ! h264parse ! matroskamux ! filesink location=test.mkv
    
  • Preview
    gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/x-raw, width=1920, height=1080, framerate=30/1, format=UYVY' ! xvimagesink sync=false
    
  • Preview & save
    gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/x-raw, width=1920, height=1080, framerate=30/1, format=UYVY' ! videoconvert ! tee name=t ! queue ! 'video/x-raw, format=(string)UYVY' ! nvvideoconvert ! 'video/x-raw(memory:NVMM)' ! nvv4l2h264enc bitrate=4000000 ! h264parse ! matroskamux ! filesink location=test.mkv sync=false t. ! queue ! xvimagesink sync=false
    

Was this article helpful?