演習 - DeepStream サンプル アプリケーションを変更する
DeepStream サンプル アプリケーションを実行したので、サンプルを変更してさまざまな動作を確認することができます。
まず、テキスト エディターでサンプル構成の構造を表示してみましょう。 前のセクションで使用したサンプル構成のコピーを作成し、変更できるいくつかの設定を確認します。 これらのコマンドを実行します。
cd /opt/nvidia/deepstream/deepstream-6.0/samples/configs/deepstream-app sudo cp source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt sudo vi source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt
注意
source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt ファイルを編集するときに vi を使用するためのいくつかのヒントを次に示します。
- エディターを挿入モードにするには、i キーを押します。 この後、変更を加えることができます。
- 挿入モードを終了して通常モードに戻るには、Esc キーを押します。
- 保存して終了するには、「:x」と入力して Enter キーを押します。
- ファイルを保存し、「:w」と入力して Enter キーを押します。
- vi を閉じるには、「:quit」と入力して、Enter キーを押します。
さまざまな構成セクションと、それらがアプリケーション全体に与える影響に注意してください。 これらのセクションは、角かっこ (
[]
) で示されます。 たとえば、[application]
、[tiled-display]
、[source0
]、[sink0]
などがあります。 これらのセクションについては、DeepStream SDK ドキュメントの「Configuration Groups」 (構成グループ) セクションで詳しく説明されています。たとえば、ローカル ビデオ ファイルの代わりに RTSP ビデオ ストリームを使用するように入力を変更するには、
[tiled-display]
と[source0]
を変更します。[tiled-display] enable=1 rows=2 columns=2 width=1280 height=720 gpu-id=0 #(0): nvbuf-mem-default - Default memory allocated, specific to particular platform #(1): nvbuf-mem-cuda-pinned - Allocate Pinned/Host cuda memory, applicable for Tesla #(2): nvbuf-mem-cuda-device - Allocate Device cuda memory, applicable for Tesla #(3): nvbuf-mem-cuda-unified - Allocate Unified cuda memory, applicable for Tesla #(4): nvbuf-mem-surface-array - Allocate Surface Array memory, applicable for Jetson nvbuf-memory-type=0 [source0] enable=1 #Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP type=3 uri=file://../../streams/sample_1080p_h264.mp4 num-sources=4 #drop-frame-interval=2 gpu-id=0 # (0): memtype_device - Memory type Device # (1): memtype_pinned - Memory type Host Pinned # (2): memtype_unified - Memory type Unified cudadec-memtype=0
この後、次の変更を行います (変更するフィールドは、
rows
、columns
、type
、uri
、num-sources
です)。[tiled-display] enable=1 rows=1 columns=1 width=1280 height=720 gpu-id=0 #(0): nvbuf-mem-default - Default memory allocated, specific to particular platform #(1): nvbuf-mem-cuda-pinned - Allocate Pinned/Host cuda memory, applicable for Tesla #(2): nvbuf-mem-cuda-device - Allocate Device cuda memory, applicable for Tesla #(3): nvbuf-mem-cuda-unified - Allocate Unified cuda memory, applicable for Tesla #(4): nvbuf-mem-surface-array - Allocate Surface Array memory, applicable for Jetson nvbuf-memory-type=0 [source0] enable=1 #Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP type=4 uri=rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov num-sources=1 #drop-frame-interval=2 gpu-id=0 # (0): memtype_device - Memory type Device # (1): memtype_pinned - Memory type Host Pinned # (2): memtype_unified - Memory type Unified cudadec-memtype=0
次のコマンドを使用して、変更した構成を実行します。
cd /opt/nvidia/deepstream/deepstream-6.0/samples/configs/deepstream-app deepstream-app -c source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt
次の操作を試してみてください
DeepStream SDK に含まれているさまざまなサンプル構成を確認してください。 これらのサンプルをどのように変更すれば、スマートホーム セキュリティ システムを作成できるでしょうか? 一意の RTSP エンドポイントを介してフィードを提供する複数の RTSP カメラがあるとします。 これらのライブ ビデオ ストリームを入力として使用し、推論を適用して人や車を検出する DeepStream アプリケーションを作成してみましょう。
次のステップ
このモジュールを終了してトロフィーを獲得するには、最後の知識チェックを完了してください。