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 andata a buon fine.

    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 MKVTool Nix o altro software.

      1. Installa MKVTool Nix: brew install mkvtoolnix

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

        mkvinfo -v ./path/to/video/file
      3. Controlla l'output di MKVTool Nix. 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).