💻
[備忘録]Jetson Orinでsora-cpp-sdk-camplesを動かしてみる
目標
Jetson Orinを2台使って、sora-cpp-sdk-samplesを動かし、映像の送受信を行う
利用デバイス
Jetson Orin x 2
※DisplayPort to HDMIはこれがおすすめ
私が使ったビルド用PC(ubuntu_20.04)
Sytem76 kudu6
ステップ
- Jetson Orinをセットアップする
- ubuntuPCにて必要なライブラリをインストール
- ubuntuPCにてクロスビルド
- scpでJetson Orinにバイナリを送る
- Jetson Orinにてコマンドを実行
注意点
-
NVIDIA Jetson Orin (Ubuntu 20.04 arm64) でビルドできません
https://github.com/shiguredo/sora-cpp-sdk/blob/develop/doc/faq.md -
AV1を使う時は、sora.confのav1の設定を忘れずに
https://sora-doc.shiguredo.jp/SORA_CONF?highlight=av1#84136e
sora-cpp-sdk-samples リポジトリ
Step1. Jetson Orinをセットアップする
- 開封
- 電源ON
- Install JetPack Components 忘れずに(小一時間ほど時間かかります)
https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit#step-2-install-jetpack-components
Step2. ubuntuPCにて必要なライブラリをインストール
- sora-cpp-sdk-samplesをクローン
- GitHub Actionsを眺めながら、必要そうなライブラリをインストール
https://github.com/shiguredo/sora-cpp-sdk-samples/blob/develop/.github/workflows/build.yml#L49
$ sudo apt install multistrap binutils-aarch64-linux-gnu
$ sudo sed -e 's/Apt::Get::AllowUnauthenticated=true/Apt::Get::AllowUnauthenticated=true";\n$config_str .= " -o Acquire::AllowInsecureRepositories=true/' -i /usr/sbin/multistrap
$ sudo apt install libdrm-dev
Step3. ubuntuPCにてクロスビルド
$ cd sora-cpp-sdk-samples/sdl_sample/ubuntu-20.04_armv8_jetson
$ python3 run.py
buildが成功すると
sora-cpp-sdk-samples/_build/ubuntu-20.04_armv8_jetson/release
にboost sdl2 sdl_sample
が生成される
Step4. scpでJetson Orinにバイナリを送る
$ cd sora-cpp-sdk-samples/_build/ubuntu-20.04_armv8_jetson/release/sdl_sample
$ scp ./sdl_sample orin-host@orin-ip:/your-working-dir
Step5. Jetson Orinにてコマンドを実行
- 送信
$ ./sdl-sample --signaling-url your-signaling-url --channel-id hoge --multistream 1 --role sendonly --video-vodec-type AV1 --show-me
- 受信
$ ./sdl-sample --signaling-url your-signaling-url --channel-id hoge --multistream 1 --role recvonly --video-vodec-type AV1
こんな感じに動きました(これは受信側macですが、Orin - Orinでも動作確認済み)
その他
Orin自身でビルドをしたい方は、tetsu_kobaさんのこちらの記事をご覧ください。
※私のような初心者はおすすめしません。大人しくubuntuPCでクロスビルドをするのが早いです。
Jetson Orin でsora-cpp-sdk をビルドする
アドバイスくださったtetsu_kobaさん、Vさん、ありがとうございました。
次はmetadata周りであったり、解像度の設定だったりと、自分でsora-cpp-sdkを使えるように勉強します。
Discussion
エラーメッセージを見ると'/dev/urandom'が無いのが原因ですね。
の記事の中のこのパッチを参考にしてください。