練習 - 修改 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
    

    注意

    以下是使用 vi 編輯 source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt 檔案的一些提示:

    • i 鍵,讓編輯器進入插入模式。 然後即可開始變更。
    • Esc 可結束插入模式,返回一般模式。
    • 若要儲存並結束,請輸入 :x,然後按 Enter
    • 若要儲存檔案,請輸入 :w,然後按 Enter
    • 若要關閉 vi,請輸入 :quit,然後按 Enter
  2. 請注意各種設定區段,及其對整體應用程式的影響。 這些區段以括弧 ([]) 表示。 例如,[application][tiled-display][source0] 和 [sink0]。 這些區段會在 DeepStream SDK 文件的<設定群組>一節 (英文) 中詳加說明。

    例如,若要變更輸入以使用 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 應用程式,使用這些即時視訊資料流作為輸入,並套用推斷以偵測人員和車輛嗎?

下一步

請完成最終知識檢定,以完成本課程模組並獲得獎勵。