演習 - DeepStream サンプル アプリケーションを変更する

完了

DeepStream サンプル アプリケーションを実行したので、サンプルを変更してさまざまな動作を確認することができます。

  1. まず、テキスト エディターでサンプル構成の構造を表示してみましょう。 前のセクションで使用したサンプル構成のコピーを作成し、変更できるいくつかの設定を確認します。 これらのコマンドを実行します。

    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 キーを押します。
  2. さまざまな構成セクションと、それらがアプリケーション全体に与える影響に注意してください。 これらのセクションは、角かっこ ([]) で示されます。 たとえば、[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
    

    この後、次の変更を行います (変更するフィールドは、rowscolumnstypeurinum-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
    
    
  3. 次のコマンドを使用して、変更した構成を実行します。

    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 アプリケーションを作成してみましょう。

次のステップ

このモジュールを終了してトロフィーを獲得するには、最後の知識チェックを完了してください。