🚃

Dockerで sora-cpp-sdk-samples をビルドする

2022/06/21に公開

sora-cpp-sdk-samples をビルドするにはx86_64のubuntu 20.04 が必要ですが、手元の環境はすでに22.04にしてしまったので、dockerを使うことにしました。
ビルドする対象は ubuntu-20.04_armv8_jetson です。

Dockerイメージの作成

Dockerfile
FROM ubuntu:20.04
RUN apt update && apt upgrade -y
RUN apt install -y tzdata && echo 'Asia/Tokyo' > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
RUN apt install -y python3 multistrap binutils-aarch64-linux-gnu wget git make clang
RUN sed -e 's/Apt::Get::AllowUnauthenticated=true/Apt::Get::AllowUnauthenticated=true";\n$config_str .= " -o Acquire::AllowInsecureRepositories=true/' -i /usr/sbin/multistrap
$ docker build -t koba/sora-cpp-sdk-samples-build .

ビルド

$ docker run -v $PWD:$PWD -w $PWD koba/sora-cpp-sdk-samples-build sh -c "cd sdl_sample/ubuntu-20.04_armv8_jetson && python3 run.py"

ターゲットに転送

$ scp _build/ubuntu-20.04_armv8_jetson/release/sdl_sample/sdl_sample $targethost:$targetdir

jetson Orin で

$ ./sdl_sample --help
SDL Sample for Sora C++ SDK
Usage: ./sdl_sample [OPTIONS]

Options:
  -h,--help                   Print this help message and exit
  --help-all                  Print help message for all modes and exit
  --log-level INT:value in {verbose->0,info->1,warning->2,error->3,none->4} OR {0,1,2,3,4}
                              Log severity level threshold
  --signaling-url TEXT REQUIRED
                              Signaling URL
  --channel-id TEXT REQUIRED  Channel ID
  --role TEXT:{sendonly,recvonly,sendrecv} REQUIRED
                              Role
  --video-codec-type TEXT:{VP8,VP9,AV1,H264}
                              Video codec for send
  --multistream BOOLEAN:value in {false->0,true->1} OR {0,1}
                              Use multistream (default: false)
  --width INT                 SDL window width
  --height INT                SDL window height
  --fullscreen                
  --show-me                   

2022/06/21 の時点ではまだ --metadata オプションが無いのでsoralaboにはつなげないということがわかりました。

参考

https://zenn.dev/adaniya/articles/95e9cd392acdc6

Discussion