

サポート終了通知: 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` Bはサンプルアプリケーションに含まれるサンプルコードとモデルパッケージを参照しています。 `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 には、2 つのタイプの抽象ノードがあります。

****
+ **カメラストリーム** — デプロイ時にアプリケーションが使用するカメラストリームを選択します。

  パッケージ名 - `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"
            }
        ]
    }
}
```