練習 - 修改 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
注意
以下是使用 vi 編輯 source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt 檔案的一些提示:
- 按 i 鍵,讓編輯器進入插入模式。 然後即可開始變更。
- 按 Esc 可結束插入模式,返回一般模式。
- 若要儲存並結束,請輸入 :x,然後按 Enter。
- 若要儲存檔案,請輸入 :w,然後按 Enter。
- 若要關閉 vi,請輸入 :quit,然後按 Enter。
請注意各種設定區段,及其對整體應用程式的影響。 這些區段以括弧 (
[]
) 表示。 例如,[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
接著完成下列變更。 (請記下
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 應用程式,使用這些即時視訊資料流作為輸入,並套用推斷以偵測人員和車輛嗎?
下一步
請完成最終知識檢定,以完成本課程模組並獲得獎勵。