

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à.

# Riproducete contenuti multimediali dal vostro streaming video Kinesis
<a name="producersdk-cpp-rpi-playback"></a>

Apri la console [ Kinesis Video Streams ](https://console.aws.amazon.com/kinesisvideo/home/) 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 appaia nella console.

Una volta avviato lo streaming, puoi provare le seguenti funzionalità nella console:
+ Nella sezione **Video preview (Anteprima video)** usa i controlli di navigazione per riavvolgere o far avanzare rapidamente il flusso. 
+ Nella ** sezione Informazioni sullo ** streaming, controlla 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 streaming 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 ** Server-side crittografia**, nota che i tuoi dati vengono crittografati mentre 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 riscontrati di frequente e come risolverli.

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

Se vedi PERSISTED Acks nei log, significa che Kinesis Video Streams ha correttamente assimilato e archiviato i file multimediali caricati da. `kvssink` Gli ack ricevuti da Kinesis Video Streams hanno il seguente aspetto. Nel JSON, controllate 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 richiede molto tempo in Console di gestione AWS
<a name="rpi-troubleshoot-load-time"></a>

**Importante**  
L'esperienza di riproduzione sulla console è diversa dall'esperienza di riproduzione HLS e DASH. Usa anche la pagina web [ ospitata ](https://aws-samples.github.io/amazon-kinesis-video-streams-media-viewer/) nel lettore multimediale di esempio GitHub per testare la riproduzione. Il codice sorgente della pagina web è disponibile [ qui](https://github.com/aws-samples/amazon-kinesis-video-streams-media-viewer).

I file multimediali possono essere caricati 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 video. 

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

**Frammentazione nello 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 tra fotogrammi chiave ÷ frequenza fotogrammi * * * *

  **Esempio**:

  Per uno streaming con un intervallo tra fotogrammi chiave di 30 e una frequenza fotogrammi di 15 fps: 

  Lunghezza del frammento = 30 ÷ 15 = 2 secondi

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

**Risoluzione:**

Per migliorare i tempi di caricamento, valuta la possibilità di ridurre l'intervallo tra fotogrammi chiave. Ciò creerà frammenti più corti, diminuirà la latenza, ma aumenterà anche le dimensioni del file video.

Per l'elemento `x264enc` GStreamer, puoi impostare esplicitamente l'intervallo tra fotogrammi chiave tramite la proprietà: `key-int-max`

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

Quando esaminate l'output del log, notate la frequenza con cui il client di caricamento riceve gli ACK da Kinesis Video Streams. Più fotogrammi chiave vengono generati, più ACK vengono restituiti.

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

Per risolvere il problema, assicurati che tutti i cavi siano collegati saldamente. Controlla l'output di `libcamera-hello` (o `raspistill` per le fotocamere Pi precedenti) per i moduli delle telecamere.

Nella tua pipeline GStreamer, sostituisci `kvssink` con `autovideosink` or and. `matroskamux` `filesink` Ad 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 durante l'uso `autovideosink` per vedere se ci sono anche degli artefatti.

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.

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

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