/jetson-nano-camera-sample

usb camera with jetson nano

Primary LanguagePython

[備忘録] jetson nanoでusbカメラを動かす

$ make camera 
  • リサイズして描画
$ make resize
  • OpenCVでエッジ検出して描画
$ make edge
  • RTPでOpenGLの画面を転送する
    • Jetson (送信側)
      $ python3 camera.py /dev/video0 rtp://192.168.x.x:1234
      • 192.168.x.x : Your Host PC IP
      • 1234 : 任意のポート番号
      • mjpegで転送
        $ python3 resize_yolo_format.py \
          --input_width=1280 --input_height=720 --input_codec=mjpeg \
          --output_width=416 --output_height=234 --output_codec=mjpeg \
          /dev/video0 rtp://192.168.x.x:1234
    • Host PC (受信側)
      • gstreamer のインストール (For Mac)

        $ brew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
        $ brew install gst-plugins-ugly
      • RTPの受信

        • 画面上に表示
        $ gst-launch-1.0 -v udpsrc port=1234 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! decodebin ! videoconvert ! autovideosink
        • ストリームファイルの生成 (動画を見る場合はVLCなどを別途インストールする)
        $ gst-launch-1.0 -v udpsrc port=1234 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay \
        ! h264parse ! mpegtsmux \
        ! hlssink max-files=8 target-duration=5 \
        location=./segment%05d.ts \
        playlist-location=stream.m3u8 \
        playlist-root=./

Reference