View a markdown version of this page

Risoluzione dei problemi - Amazon Kinesis Video Streams

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

Risoluzione dei problemi

Immagini non inviate al bucket Amazon S3

Per risolvere questo problema, ci sono alcune cose a cui prestare attenzione:

  1. Autorizzazioni mancanti

  2. La configurazione di generazione dell'immagine non è corretta

  3. Il tag non è stato aggiunto al frammento

Autorizzazioni mancanti

Se utilizzi una chiave KMS gestita dal cliente, assicurati che il ruolo che esegue le PutMedia chiamate (uploader) disponga delle autorizzazioni di crittografia e decrittografia appropriate e abbia accesso al bucket Amazon S3, come segue:

  • kms:Encrypt

  • kms:GenerateDataKey

  • kms:Decrypt

  • s3:PutObject

Per ulteriori informazioni, consulta Come posso iniziare a usare la crittografia lato server?.

Verifica la destinazione

Usa AWS CLI per chiamare l' DescribeImageGenerationConfiguration API per il tuo stream.

aws kinesisvideo describe-image-generation-configuration \ --stream-name "demo-stream"

Controlla DestinationConfig la risposta e conferma che sia corretta.

Verifica che il tag di generazione dell'immagine sia stato aggiunto al frammento

  1. Verifica che la putKinesisVideoEventMetadata chiamata sia riuscita.

    Il putKinesisVideoEventMetadata metodo restituisce un codice di stato 0 in caso di successo. Si consiglia di controllare i valori restituiti dalle funzioni per 0. Se viene restituito un codice di stato diverso da zero, convertilo in esadecimale e controlla Riferimento al codice di errore per ulteriori informazioni.

    Assicurati di aver attivato i log degli errori e controlla i log per eventuali altri errori nell'applicazione. Esamina e confronta lo schema di chiamata all'invio dei frame della tua applicazione con l'implementazione consigliata:. Aggiungere tag di generazione di immagini ai frammenti

  2. Verifica il file MKV generato localmente

    Verifica che Producer SDK o Sample Application abbiano aggiunto i tag correttamente.

    1. Imposta la variabile di ambiente KVS_DEBUG_DUMP_DATA_FILE_DIR. Se questo valore è impostato, Producer SDK scrive i file multimediali che avrebbe inviato a Kinesis Video Streams nella posizione specificata.

      export KVS_DEBUG_DUMP_DATA_FILE_DIR=/path/to/output/directory
      Nota

      L'SDK non creerà una nuova directory se il percorso non esiste. Crea la cartella se necessario.

    2. Esegui nuovamente l'applicazione. Dovresti vedere .mkv i file scritti nella directory di output specificata.

    3. Verifica il contenuto per assicurarti che il tag sia presente utilizzando MKVToolNix o altro software.

      1. Installa MKVToolNix: brew install mkvtoolnix

      2. Esegui MKVToolNix con uno dei .mkv file nella directory di output.

        mkvinfo -v ./path/to/video/file
      3. Rivedi l' MKVToolNix output. Se il metodo KinesisVideoStream::PutFragmentMetadata producer SDK è stato richiamato correttamente, dovresti vedere il seguente tag MKV.

        |+ Tags | + Tag | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_GENERATION
        Nota

        I tag appartengono al Cluster precedente.

    4. Se il tag MKV non è presente, assicuratevi che il metodo KinesisVideoStream::PutEventMetadata producer SDK sia stato chiamato con l'STREAM_EVENT_TYPE_IMAGE_GENERATIONargomento e che abbia restituito un codice di successo (0).