From c86ca11f39be885b7f30f8bd034ff14241fc37d8 Mon Sep 17 00:00:00 2001 From: torikizi Date: Thu, 27 Jun 2024 17:33:06 +0900 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E4=BD=93=E7=9A=84=E3=81=AB=20`$=20`?= =?UTF-8?q?=20=E3=82=92=E5=89=8A=E9=99=A4=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/vpl.md | 24 ++++----- examples/sumomo/README.md | 110 +++++++++++++++++++------------------- 2 files changed, 68 insertions(+), 66 deletions(-) diff --git a/doc/vpl.md b/doc/vpl.md index 5c844e6c..9e403fae 100644 --- a/doc/vpl.md +++ b/doc/vpl.md @@ -14,7 +14,7 @@ Intel VPL には Intel VPL (ライブラリの Intel VPL と区別するため Intel Media SDK は既に開発が終了しており、後継の Intel VPL ランタイムに開発が移行しているため、 これから VPL を利用する場合は、 Intel VPL ランタイムに対応したチップを利用することを推奨します。 -https://www.intel.com/content/www/us/en/developer/tools/vpl/overview.html#gs.73uoi4 の Specifications のセクションより、ランタイムと対応するチップの一覧を以下に引用します。 + の Specifications のセクションより、ランタイムと対応するチップの一覧を以下に引用します。 - [Intel VPL](https://github.com/oneapi-src/oneVPL-intel-gpu) - Intel® Iris® Xe graphics @@ -37,11 +37,11 @@ Windows では環境によってドライバーの有無が異なるため、以 - Win + R キーを押下 > `ファイル名を指定して実行` のダイアログが開くので `dxdiag` と入力して `OK` ボタンを押下 > DirectX 診断ツールが起動するので、 `ディスプレイ` のタブからインストールされているドライバーを確認 Intel のドライバーが確認できない場合は、以下のページから適切なドライバーをインストールしてください。 -https://www.intel.co.jp/content/www/jp/ja/download-center/home.html + ### Ubuntu 22.04 -https://dgpu-docs.intel.com/driver/client/overview.html を参考に必要なドライバーとソフトウェアをインストールします。 + を参考に必要なドライバーとソフトウェアをインストールします。 #### Intel VPL ランタイムを利用する手順 @@ -49,14 +49,14 @@ Intel VPL ランタイムを利用する場合は libmfxgen1 ではなく libmfx ```bash # Intel の apt リポジトリを追加 -$ wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | \ +wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | \ sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg -$ echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu jammy client" | \ +echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu jammy client" | \ sudo tee /etc/apt/sources.list.d/intel-gpu-jammy.list -$ sudo apt update +sudo apt update # パッケージのインストール -$ sudo apt install -y \ +sudo apt install -y \ intel-opencl-icd intel-level-zero-gpu level-zero \ intel-media-va-driver-non-free libmfx1 libmfx-gen1.2 libvpl2 \ libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \ @@ -70,14 +70,14 @@ $ sudo apt install -y \ ```bash # Intel の apt リポジトリを追加 -$ wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | \ +wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | \ sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg -$ echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu jammy client" | \ +echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu jammy client" | \ sudo tee /etc/apt/sources.list.d/intel-gpu-jammy.list -$ sudo apt update +sudo apt update # パッケージのインストール -$ sudo apt install -y \ +sudo apt install -y \ intel-opencl-icd intel-level-zero-gpu level-zero \ intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 \ libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \ @@ -93,7 +93,7 @@ $ sudo apt install -y \ 以下は `vainfo` を実行した出力の例です。 対応しているプロファイルやエントリーポイントは環境によって異なります。 -``` +```console $ vainfo Trying display: wayland libva info: VA-API version 1.20.0 diff --git a/examples/sumomo/README.md b/examples/sumomo/README.md index c929e4cc..9b6fd448 100644 --- a/examples/sumomo/README.md +++ b/examples/sumomo/README.md @@ -26,7 +26,7 @@ develop ブランチは開発ブランチであり、ビルドが失敗するこ ```shell git clone -b main https://github.com/shiguredo/sora-cpp-sdk.git -$ cd sora-cpp-sdk/examples +cd sora-cpp-sdk/examples ``` ### Sumomo をビルドする @@ -65,7 +65,7 @@ $ cd sora-cpp-sdk/examples ##### ビルド ```shell -$ python3 sumomo/macos_arm64/run.py +python3 sumomo/macos_arm64/run.py ``` 成功した場合、`_build/macos_arm64/release/sumomo` に `sumomo` が作成されます。 @@ -82,18 +82,18 @@ _build/macos_arm64/release/sumomo 必要なパッケージをインストールしてください。 ```shell -$ sudo apt install libxext-dev -$ sudo apt install libx11-dev -$ sudo apt install libdrm-dev -$ sudo apt install libva-dev -$ sudo apt install pkg-config -$ sudo apt install python3 +sudo apt install libxext-dev +sudo apt install libx11-dev +sudo apt install libdrm-dev +sudo apt install libva-dev +sudo apt install pkg-config +sudo apt install python3 ``` ##### ビルド ```shell -$ python3 sumomo/ubuntu-20.04_x86_64/run.py +python3 sumomo/ubuntu-20.04_x86_64/run.py ``` 成功した場合、`_build/ubuntu-20.04_x86_64/release/sumomo` に `sumomo` が作成されます。 @@ -110,18 +110,18 @@ _build/ubuntu-20.04_x86_64/release/sumomo/ 必要なパッケージをインストールしてください。 ```shell -$ sudo apt install libxext-dev -$ sudo apt install libx11-dev -$ sudo apt install libdrm-dev -$ sudo apt install libva-dev -$ sudo apt install pkg-config -$ sudo apt install python3 +sudo apt install libxext-dev +sudo apt install libx11-dev +sudo apt install libdrm-dev +sudo apt install libva-dev +sudo apt install pkg-config +sudo apt install python3 ``` ##### ビルド ```shell -$ python3 sumomo/ubuntu-22.04_x86_64/run.py +python3 sumomo/ubuntu-22.04_x86_64/run.py ``` 成功した場合、以下のファイルが作成されます。`_build/ubuntu-22.04_x86_64/release/sumomo` に `sumomo` が作成されます。 @@ -140,21 +140,21 @@ _build/ubuntu-22.04_x86_64/release/sumomo/ 必要なパッケージをインストールしてください。 ```shell -$ sudo apt install multistrap -$ sudo apt install binutils-aarch64-linux-gnu -$ sudo apt install python3 +sudo apt install multistrap +sudo apt install binutils-aarch64-linux-gnu +sudo apt install python3 ``` multistrap に insecure なリポジトリからの取得を許可する設定を行います。 ```shell -$ sudo sed -e 's/Apt::Get::AllowUnauthenticated=true/Apt::Get::AllowUnauthenticated=true";\n$config_str .= " -o Acquire::AllowInsecureRepositories=true/' -i /usr/sbin/multistrap +sudo sed -e 's/Apt::Get::AllowUnauthenticated=true/Apt::Get::AllowUnauthenticated=true";\n$config_str .= " -o Acquire::AllowInsecureRepositories=true/' -i /usr/sbin/multistrap ``` ##### ビルド ```shell -$ python3 sumomo/ubuntu-20.04_armv8_jetson/run.py +python3 sumomo/ubuntu-20.04_armv8_jetson/run.py ``` 成功した場合、以下のファイルが作成されます。`_build/ubuntu-20.04_armv8_jetson/release/sumomo` に `sumomo` が作成されます。 @@ -172,13 +172,15 @@ _build/ubuntu-20.04_armv8_jetson/release/sumomo/ 以下は Sora サーバのシグナリング URL `wss://sora.example.com/signaling` の `sora` チャンネルに `sendrecv` で接続する例です。 Windows の場合 + ```powershell > .\sumomo.exe --signaling-url wss://sora.example.com/signaling --role sendrecv --channel-id sora --multistream true --use-sdl ``` Windows 以外の場合 + ```shell -$ ./sumomo --signaling-url wss://sora.example.com/signaling --role sendrecv --channel-id sora --multistream true --use-sdl +./sumomo --signaling-url wss://sora.example.com/signaling --role sendrecv --channel-id sora --multistream true --use-sdl ``` #### 必須オプション @@ -186,77 +188,77 @@ $ ./sumomo --signaling-url wss://sora.example.com/signaling --role sendrecv --ch - `--signaling-url` : Sora サーバのシグナリング URL (必須) - `--channel-id` : [channel_id](https://sora-doc.shiguredo.jp/SIGNALING#ee30e9) (必須) - `--role` : [role](https://sora-doc.shiguredo.jp/SIGNALING#6d21b9) (必須) - - sendrecv / sendonly / recvonly のいずれかを指定 + - sendrecv / sendonly / recvonly のいずれかを指定 #### Momo Sample 実行に関するオプション - `--log-level` : 実行時にターミナルに出力するログのレベル - - `verbose->0,info->1,warning->2,error->3,none->4` の値が指定可能です + - `verbose->0,info->1,warning->2,error->3,none->4` の値が指定可能です - `--resolution` : 映像配信する際の解像度 - - 解像度は `QVGA, VGA, HD, FHD, 4K, or [WIDTH]x[HEIGHT]` の値が指定可能です - - 未指定の場合は `VGA` が設定されます + - 解像度は `QVGA, VGA, HD, FHD, 4K, or [WIDTH]x[HEIGHT]` の値が指定可能です + - 未指定の場合は `VGA` が設定されます - `--hw-mjpeg-decoder` : HW MJPEG デコーダーの利用 (true/false) - - 未指定の場合は false が設定されます - - NVIDIA Jetson のみで利用できます + - 未指定の場合は false が設定されます + - NVIDIA Jetson のみで利用できます #### Sora に関するオプション 設定内容については [Sora のドキュメント](https://sora-doc.shiguredo.jp/SIGNALING) も参考にしてください。 -- `--client-id` : [client_id](https://sora-doc.shiguredo.jp/SIGNALING#d00933) +- `--client-id` : [client_id](https://sora-doc.shiguredo.jp/SIGNALING#d00933) - `--video` : 映像の利用 (true/false) - - 未指定の場合は true が設定されます + - 未指定の場合は true が設定されます - `--audio` : 音声の利用 (true/false) - - 未指定の場合は true が設定されます + - 未指定の場合は true が設定されます - `--video-codec-type` : [ビデオコーデック指定](https://sora-doc.shiguredo.jp/SIGNALING#d47f4d) - - VP8 / VP9 / AV1 / H264 / H265 が指定可能ですが利用可能なコーデックはプラットフォームに依存します - - 未指定の場合は Sora のデフォルトである VP9 が利用されます + - VP8 / VP9 / AV1 / H264 / H265 が指定可能ですが利用可能なコーデックはプラットフォームに依存します + - 未指定の場合は Sora のデフォルトである VP9 が利用されます - `--audio-codec-type` : [オーディオコーデック指定](https://sora-doc.shiguredo.jp/SIGNALING#0fcf4e) - - OPUS が指定可能です - - 未指定の場合は Sora のデフォルトである OPUS が利用されます + - OPUS が指定可能です + - 未指定の場合は Sora のデフォルトである OPUS が利用されます - `--video-bit-rate` : [ビデオビットレート指定](https://sora-doc.shiguredo.jp/SIGNALING#5667cf) - - 0 - 30000 の値が指定可能です - - 0 は未指定と見なされます + - 0 - 30000 の値が指定可能です + - 0 は未指定と見なされます - `--audio-bit-rate` : [オーディオビットレート指定](https://sora-doc.shiguredo.jp/SIGNALING#414142) - - 0 - 510 の値が指定可能です - - 0 は未指定と見なされます + - 0 - 510 の値が指定可能です + - 0 は未指定と見なされます - `--metadata` : [メタデータ](https://sora-doc.shiguredo.jp/SIGNALING#414142) - - JSON 形式の文字列を指定してください + - JSON 形式の文字列を指定してください - `--multistream` : [マルチストリーム](https://sora-doc.shiguredo.jp/SIGNALING#808bc2) 機能の利用 (true/false) - - 未指定の場合は Sora の設定 (デフォルト: true) が設定されます + - 未指定の場合は Sora の設定 (デフォルト: true) が設定されます - `--spotlight` : [スポットライト](https://sora-doc.shiguredo.jp/SIGNALING#8f6c79) 機能の利用 (true/false) - - 未指定の場合は Sora の設定 (デフォルト: false) が設定されます + - 未指定の場合は Sora の設定 (デフォルト: false) が設定されます - `--spotlight-number` : [spotlight_number](https://sora-doc.shiguredo.jp/SPOTLIGHT#c66032) - - 0 - 8 の値が指定可能です - - 0 は未指定と見なされます + - 0 - 8 の値が指定可能です + - 0 は未指定と見なされます - `--simulcast` : [サイマルキャスト](https://sora-doc.shiguredo.jp/SIGNALING#584185) 機能の利用 (true/false) - - 未指定の場合は Sora の設定 (デフォルト: false) が設定されます + - 未指定の場合は Sora の設定 (デフォルト: false) が設定されます - `--data-channel-signaling` : [DataChannel 経由のシグナリング](https://sora-doc.shiguredo.jp/DATA_CHANNEL_SIGNALING) を行います (true/false) - - 未指定の場合は Sora の設定 (デフォルト: false) が設定されます + - 未指定の場合は Sora の設定 (デフォルト: false) が設定されます - `--ignore-disconnect-websocket` - - 未指定の場合は Sora の設定 (デフォルト: false) が設定されます + - 未指定の場合は Sora の設定 (デフォルト: false) が設定されます #### proxy に関するオプション - `--proxy-url` : プロキシの url - - 例) http://proxy.example.com:3128 + - 例) - `--proxy-username` : プロキシ認証に使用するユーザー名 - `--proxy-password` : プロキシ認証に使用するパスワード #### SDL に関するオプション - `--use-sdl` - - [SDL (Simple DirectMedia Layer)](https://www.libsdl.org/) を利用して映像を表示します + - [SDL (Simple DirectMedia Layer)](https://www.libsdl.org/) を利用して映像を表示します - `--window-width` - - 映像を表示するウインドウの横幅を指定します + - 映像を表示するウインドウの横幅を指定します - `--window-height` - - 映像を表示するウインドウの縦幅を指定します + - 映像を表示するウインドウの縦幅を指定します - `--fullscreen` - - 映像を表示するウインドウをフルスクリーンにします + - 映像を表示するウインドウをフルスクリーンにします - `--show-me` - - 送信している自分の映像を表示します + - 送信している自分の映像を表示します #### その他のオプション - `--help` - - ヘルプを表示します + - ヘルプを表示します