

Aviso de fin de soporte: el 31 de mayo de 2026, AWS finalizará el soporte para AWS Panorama. Después del 31 de mayo de 2026, ya no podrás acceder a la AWS Panorama consola ni a AWS Panorama los recursos. Para obtener más información, consulta [AWS Panorama el fin del soporte](https://docs.aws.amazon.com/panorama/latest/dev/panorama-end-of-support.html). 

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Nodos de aplicación
<a name="applications-nodes"></a>

Los nodos son modelos, códigos, secuencias de cámara, salidas y parámetros. Un nodo tiene una interfaz que define sus entradas y salidas. La interfaz se puede definir en un paquete de su cuenta, en un paquete proporcionado por AWS Panorama o en un tipo integrado.

En el siguiente ejemplo, `code_node` y `model_node` se refieren al código de muestra y los paquetes de modelos incluidos con la aplicación de muestra. `camera_node` utiliza un paquete proporcionado por AWS Panorama para crear un marcador de posición para una transmisión de cámara que usted especifique durante la implementación.

**Example graph.json — Nodos**  

```
        "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."
                }
            }
      ]
```

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

Las periferias mapean la salida de un nodo a la entrada de otro. En el siguiente ejemplo, la primera periferia mapea la salida de un nodo de transmisión de cámara a la entrada de un nodo de código de aplicación. Los nombres `video_in` y `video_out` se definen en las interfaces de los paquetes de nodos.

**Example graph.json — Periferias**  

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

 En el código de tu aplicación, utilizas los atributos `inputs` y `outputs` para obtener imágenes del flujo de entrada y enviarlas al flujo de salida.

**Example application.py — Entrada y salida de vídeo**  

```
    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)
```

## Nodos abstractos
<a name="applications-manifest-abstract"></a>

En un manifiesto de aplicación, un nodo abstracto hace referencia a un paquete definido por AWS Panorama, que puede utilizar como marcador de posición en el manifiesto de la aplicación. AWS Panorama ofrece dos tipos de nodos abstractos.

****
+ **Transmisión de cámara**: elija la transmisión de cámara que utilizará la aplicación durante la implementación.

  *Nombre del paquete*: `panorama::abstract_rtsp_media_source`

  *Nombre de la interfaz*: `rtsp_v1_interface`
+ **Salida HDMI**: indica que la aplicación emite vídeo.

  *Nombre del paquete*: `panorama::hdmi_data_sink`

  *Nombre de la interfaz*: `hdmi0`

El siguiente ejemplo muestra un conjunto básico de paquetes, nodos y periferias para una aplicación que procesa los flujos de cámara y envía vídeo a una pantalla. El nodo de cámara, que utiliza la interfaz del paquete de `abstract_rtsp_media_source` de AWS Panorama, puede aceptar varias secuencias de cámara como entrada. El nodo de salida, al que hace referencia `hdmi_data_sink`, permite que el código de la aplicación acceda a un búfer de vídeo que se emite desde el puerto HDMI del dispositivo.

**Example graph.json — Nodos abstractos**  

```
{
    "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"
            }
        ]
    }
}
```