1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gstreamerを使ってJetsonカメラから映像を、受信して表示するFPVアプリを作りたい

Posted at

Gstreamerを使ってUAV/USV/UGVになどに搭載しているカメラから映像を、受信して表示するFPVアプリを作りたくなりました。

Screenshot from 2024-07-05 15-30-23.png

  • アプリを作る前に、基本を抑えるためコマンドベースでの動作検証を行いました。
  • PCでの検証はUbunt搭載の自作マシン、SBCはJetson Nano 2GB Developer Kitを使いました。

PC環境

  • Ubuntuは将来的にDeepStreamと連携を行うため22.04です。
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.4 LTS
Release:	22.04
Codename:	jammy

$ uname -r
6.5.0-41-generic

SBC(Jetson)

  • メモリについてですが、カメラからのキャプチャ映像をWifi送信するだけのなので2GBで問題ないです。
  • 512MBしかないRaspberry Pi Zero2でも大きな遅延などの問題は特に起こりませんでした。
jetson@nvidia:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.6 LTS
Release:	18.04
Codename:	bionic

jetson@nvidia:~$ uname -r
4.9.337-tegra

カメラはAliexpressで見つけた1200円くらいのIMX219でメーカ不明です。
ケーブルの方向やケーブル裏表などシビアでした。

1.環境確認

2.キャプチャして確認

3.ループバックでストリーミングしてみる

4.Wifiでアクセスポイントを立ち上げる

5.ストリーミングしてみる

  • 最後に、ストリーミングWifiを介してストリーミングができる事を確認します

H.264リアルタイムストリーミング受信側(Ubuntu)

$ gst-launch-1.0 -e udpsrc port=5000 ! application/x-rtp, encoding-name=H264 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink

H.264リアルタイムストリーミング送信側(Jetson)

# 送信側:
jetson@nvidia:~$ gst-launch-1.0 -e nvarguscamerasrc sensor-id=0 ! \
'video/x-raw(memory:NVMM), width=1920, height=1080, framerate=30/1' ! \
nvv4l2h264enc bitrate=4000000 ! rtph264pay ! udpsink host=[受信側のIPアドレス] port=5000 sync=false async=false

Screenshot from 2024-07-06 17-38-06.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?