

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Riproduci contenuti multimediali dal tuo flusso video Kinesis
<a name="producersdk-cpp-rpi-playback"></a>

Apri la console [Kinesis Video](https://console.aws.amazon.com//kinesisvideo/home/) Streams e **seleziona il nome dello stream che** hai creato.

Il flusso di video inviato da Raspberry Pi viene visualizzato nella console.

**Nota**  
Potrebbero essere necessari alcuni secondi prima che il video venga visualizzato nella console.

Una volta riprodotto lo streaming, puoi provare le seguenti funzionalità della console:
+ Nella sezione **Video preview (Anteprima video)** usa i controlli di navigazione per riavvolgere o far avanzare rapidamente il flusso. 
+ Nella sezione **Informazioni sullo stream**, esamina il codec, la risoluzione e la velocità in bit dello stream. I valori di risoluzione e bit rate sono volutamente bassi sul Raspberry Pi per ridurre al minimo l'utilizzo della larghezza di banda per questo tutorial. 

  Per visualizzare le CloudWatch metriche Amazon che vengono create per il tuo stream, seleziona **Visualizza le metriche dello stream in**. CloudWatch 
+ Sotto **Data retention period (Periodo di retention dei dati)**, nota che il flusso di video viene conservato per un giorno. Puoi modificare questo valore e impostarlo su **No data retention (Nessuna retention dei dati)** oppure impostare un valore compreso tra un giorno e diversi anni. 
+ In **Crittografia lato server**, nota che i tuoi dati vengono crittografati quando sono inattivi utilizzando una chiave gestita da (). AWS Key Management Service AWS KMS

## Problemi di riproduzione
<a name="rpi-troubleshoot-playback"></a>

Di seguito sono riportati alcuni problemi di riproduzione che si verificano di frequente e come risolverli.

### Nessun file multimediale, ma nei log sono presenti dei PERSISTED ACK
<a name="rpi-troubleshoot-no-media"></a>

Se vedi PERSISTED Acks nei log, significa che Kinesis Video Streams ha importato e archiviato con successo i file multimediali caricati da. `kvssink` Gli Ack ricevuti da Kinesis Video Streams hanno questo aspetto. Nel formato JSON, guarda il valore della chiave. `"EventType"`

```
{"EventType":"RECEIVED","FragmentTimecode":252200,"FragmentNumber":"12345678901234567890123456724587702494771079511"}
{"EventType":"BUFFERING","FragmentTimecode":252467,"FragmentNumber":"12345678901234567890123456781729223736853277017"}
{"EventType":"RECEIVED","FragmentTimecode":252467,"FragmentNumber":"12345678901234567890123456781729223736853277017"}
{"EventType":"BUFFERING","FragmentTimecode":253000,"FragmentNumber":"12345678901234567890123456738870744847093249408"}
{"EventType":"PERSISTED","FragmentTimecode":252200,"FragmentNumber":"12345678901234567890123456724587702494771079511"}
{"EventType":"PERSISTED","FragmentTimecode":252467,"FragmentNumber":"1234567890123456789012345671729223736853277017"}
```

**Risoluzione:**

Attendi uno o due minuti nella console Kinesis Video Streams, quindi usa la doppia freccia destra. Se non viene visualizzato alcun file multimediale, verifica che lo stream venga inviato nella regione corretta e controlla l'ortografia del nome dello stream. Puoi trovare queste informazioni nei log.

Vedi [Fornisci una regione a `kvssink`](examples-gstreamer-plugin-parameters.md#kvssink-region) per maggiori informazioni su come kvssink determina quale regione usare.

### Il caricamento del file multimediale impiega molto tempo nel Console di gestione AWS
<a name="rpi-troubleshoot-load-time"></a>

**Importante**  
L'esperienza di riproduzione su console è diversa da quella di riproduzione in HLS e DASH. Usa anche la [pagina web ospitata](https://aws-samples.github.io/amazon-kinesis-video-streams-media-viewer/) dal lettore multimediale di esempio GitHub per testare la riproduzione. [Il codice sorgente della pagina web può essere trovato qui.](https://github.com/aws-samples/amazon-kinesis-video-streams-media-viewer)

I file multimediali possono caricarsi lentamente nella console a causa della scarsa larghezza di banda della rete o di un dispositivo limitato, ma possono anche essere correlati alla codifica e alla frammentazione del video. 

**Nozioni di base sulla codifica video:**
+ Gli encoder H.264 e H.265 utilizzano fotogrammi chiave (I-Frames) e frame previsti (P-Frames) per una compressione efficiente.
+ I keyframe contengono dati di immagine completi, mentre i fotogrammi P contengono solo modifiche rispetto ai frame precedenti.
+ L' "intervallo fotogrammi chiave» determina la frequenza con cui i fotogrammi chiave vengono visualizzati nel flusso video.

**Frammentazione in streaming:**
+ In Kinesis Video Streams, i nuovi frammenti iniziano con ogni fotogramma chiave. Per ulteriori informazioni, consulta [Modello di dati Kinesis Video Streams](how-data.md).
+ **La lunghezza del frammento (in secondi) può essere stimata come: intervallo di fotogrammi chiave ÷ frequenza fotogrammi**

  **Esempio**:

  Per uno stream con un intervallo di fotogrammi chiave di 30 e un frame rate di 15 fps: 

  Lunghezza del frammento = 30 ÷ 15 = 2 secondi

A causa di intervalli di fotogrammi chiave più ampi, i frammenti più lunghi aumentano la latenza nei contenuti multimediali in streaming.

**Risoluzione:**

Per migliorare i tempi di caricamento, prendete in considerazione la possibilità di ridurre l'intervallo tra i fotogrammi chiave. Ciò creerà frammenti più brevi, diminuendo la latenza, ma aumenterà anche la dimensione del file video.

Per l'`x264enc` GStreamer elemento, puoi impostare in modo esplicito l'intervallo chiave-fotogramma tramite la proprietà: `key-int-max`

```
x264enc bframes=0 key-int-max=60
```

Durante la revisione dell'output del registro, nota la frequenza con cui il client di caricamento riceve ACKs da Kinesis Video Streams. Maggiore è il numero di fotogrammi chiave generati, maggiore è il numero ACKs di fotogrammi chiave restituiti.

### Il file multimediale è distorto o presenta artefatti
<a name="rpi-troubleshoot-distortion"></a>

Per risolvere questo problema, assicuratevi che tutti i cavi siano collegati saldamente. Esamina l'output di `libcamera-hello` (o `raspistill` per le fotocamere Pi precedenti) per i moduli telecamera.

Nella tua GStreamer pipeline, sostituiscilo `kvssink` con `autovideosink` o `matroskamux` e`filesink`. Esempio:

```
... x264enc tune=zerolatency speed-preset=ultrafast bframes=0 key-int-max=60 byte-stream=true ! h264parse ! matroskamux ! filesink location=output.mkv 
```

Controlla il file di output `filesink` o il lettore multimediale che si apre quando lo usi `autovideosink` per vedere se anche gli artefatti sono presenti.

Esamina anche l'output della seguente pipeline:

```
gst-launch-1.0 autovideosrc ! videoconvert ! autovideosink
```

L'aggiunta di elementi alla pipeline, come [dewarp](https://gstreamer.freedesktop.org/documentation/opencv/dewarp.html?gi-language=c), può correggere le uscite delle telecamere fish eye.

Controlla i codec di output supportati per la tua fotocamera e regola gli elementi secondo necessità. 

Ad esempio, se la fotocamera USB supporta solo l'output JPEG, sarà necessario utilizzare `jpegdec` gli elementi `jpegparse` and per trasformare il file multimediale prima di codificarlo in H.264 utilizzando. `x264enc` Cerca assistenza GStreamer nei forum per altri utenti con pipeline e/o configurazioni di webcam simili.