

지원 종료 알림: 2026년 5월 31일에에 대한 지원이 AWS 종료됩니다 AWS Panorama. 2026년 5월 31일 이후에는 AWS Panorama 콘솔 또는 AWS Panorama 리소스에 더 이상 액세스할 수 없습니다. 자세한 내용은 [AWS Panorama 지원 종료를 참조하세요](https://docs.aws.amazon.com/panorama/latest/dev/panorama-end-of-support.html).

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 애플리케이션 노드
<a name="applications-nodes"></a>

노드는 모델, 코드, 카메라 스트림, 출력, 파라미터입니다. 노드에는 입력과 출력을 정의하는 인터페이스가 있습니다. 인터페이스는 계정의 패키지, AWS Panorama에서 제공하는 패키지 또는 내장형으로 정의할 수 있습니다.

다음 예시에서 `code_node`와 `model_node`는 샘플 애플리케이션에 포함된 샘플 코드와 모델 패키지를 참조합니다. `camera_node`는 AWS Panorama에서 제공하는 패키지를 사용하여 배포 중에 지정하는 카메라 스트림의 자리 표시자를 생성합니다.

**Example graph.json — 노드**  

```
        "nodes": [
            {
                "name": "code_node",
                "interface": "123456789012::SAMPLE_CODE.interface"
            },
            {
                "name": "model_node",
                "interface": "123456789012::SQUEEZENET_PYTORCH_V1.interface"
            },
            {
                "name": "camera_node",
                "interface": "panorama::abstract_rtsp_media_source.rtsp_v1_interface",
                "overridable": true,
                "overrideMandatory": true,
                "decorator": {
                    "title": "IP camera",
                    "description": "Choose a camera stream."
                }
            }
      ]
```

## 엣지
<a name="applications-manifest-edges"></a>

엣지는 한 노드의 출력을 다른 노드의 입력에 매핑합니다. 다음 예제에서 첫 번째 엣지는 카메라 스트림 노드의 출력을 애플리케이션 코드 노드의 입력에 매핑합니다. 이름 `video_in` 및 `video_out`는 노드 패키지의 인터페이스에 정의되어 있습니다.

**Example graph.json – 엣지**  

```
        "edges": [
            {
                "producer": "camera_node.video_out",
                "consumer": "code_node.video_in"
            },
            {
                "producer": "code_node.video_out",
                "consumer": "output_node.video_in"
            },
```

 애플리케이션 코드에서는 `inputs` 및 `outputs` 속성을 사용하여 입력 스트림에서 이미지를 가져오고 출력 스트림으로 이미지를 보냅니다.

**Example application.py – 비디오 입력 및 출력**  

```
    def process_streams(self):
        """Processes one frame of video from one or more video streams."""
        frame_start = time.time()
        self.frame_num += 1
        logger.debug(self.frame_num)
        # Loop through attached video streams
        streams = self.inputs.video_in.get()
        for stream in streams:
            self.process_media(stream)
        ...
        self.outputs.video_out.put(streams)
```

## 추상 노드
<a name="applications-manifest-abstract"></a>

애플리케이션 매니페스트에서 추상 노드는 AWS Panorama에서 정의한 패키지를 의미하며, 애플리케이션 매니페스트에서 자리 표시자로 사용할 수 있습니다. AWS Panorama는 두 가지 유형의 추상 노드를 제공합니다.

****
+ **카메라 스트림** – 애플리케이션이 배포 중에 사용하는 카메라 스트림을 선택합니다.

  *패키지 이름* – `panorama::abstract_rtsp_media_source`

  *인터페이스 이름* – `rtsp_v1_interface`
+ **HDMI 출력** - 애플리케이션이 비디오를 출력함을 나타냅니다.

  *패키지 이름* – `panorama::hdmi_data_sink`

  *인터페이스 이름* – `hdmi0`

다음 예시는 카메라 스트림을 처리하고 디스플레이에 비디오를 출력하는 애플리케이션의 기본 패키지, 노드 및 엣지 세트를 보여줍니다. AWS Panorama에서 `abstract_rtsp_media_source` 패키지의 인터페이스를 사용하는 카메라 노드는 여러 카메라 스트림을 입력값으로 받을 수 있습니다. `hdmi_data_sink`를 참조하는 출력 노드는 어플라이언스의 HDMI 포트에서 출력되는 비디오 버퍼에 대한 애플리케이션 코드 액세스 권한을 부여합니다.

**Example graph.json – 추상 노드**  

```
{
    "nodeGraph": {
        "envelopeVersion": "2021-01-01",
        "packages": [
            {
                "name": "123456789012::SAMPLE_CODE",
                "version": "1.0"
            },
            {
                "name": "123456789012::SQUEEZENET_PYTORCH_V1",
                "version": "1.0"
            },
            {
                "name": "panorama::abstract_rtsp_media_source",
                "version": "1.0"
            },
            {
                "name": "panorama::hdmi_data_sink",
                "version": "1.0"
            }
        ],
        "nodes": [
            {
                "name": "camera_node",
                "interface": "panorama::abstract_rtsp_media_source.rtsp_v1_interface",
                "overridable": true,
                "decorator": {
                    "title": "IP camera",
                    "description": "Choose a camera stream."
                }
            },
            {
                "name": "output_node",
                "interface": "panorama::hdmi_data_sink.hdmi0"
            }
        ],
        "edges": [
            {
                "producer": "camera_node.video_out",
                "consumer": "code_node.video_in"
            },
            {
                "producer": "code_node.video_out",
                "consumer": "output_node.video_in"
            }
        ]
    }
}
```