연습 - 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 설명서의 구성 그룹 섹션에 자세히 설명되어 있습니다.예를 들어, 로컬 비디오 파일 대신 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 애플리케이션을 만들 수 있나요?
다음 단계
이 모듈을 완료하고 트로피를 받을 수 있도록 최종 지식 점검을 완료하세요.