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à.
Esempio: analisi e rendering di frammenti di Kinesis Video Streams
Streaming utilizzando la libreria parserContiene un'applicazione demo denominata KinesisVideoRendererExample
che dimostra l'analisi e il rendering di frammenti di flussi video di Amazon Kinesis. L'esempio utilizza JCodec
In questo esempio viene mostrato come effettuare le operazioni seguenti:
-
Recupera i fotogrammi da un flusso video Kinesis utilizzando ed
GetMedia
API esegui il rendering dello stream per la visualizzazione. -
Visualizza il contenuto video degli stream in un'applicazione personalizzata anziché utilizzare la console Kinesis Video Streams.
Puoi anche utilizzare le classi in questo esempio per visualizzare il contenuto del flusso video Kinesis che non è codificato come H.264, come un flusso di JPEG file che non richiedono la decodifica prima di essere visualizzati.
La procedura seguente illustra come configurare e utilizzare l'applicazione demo di Renderer.
Prerequisiti
Per esaminare e utilizzare la libreria di esempio di Renderer, occorre quanto segue:
-
Un account Amazon Web Services (AWS). Se non disponi già di un AWS account, consulta la sezione Guida introduttiva a Kinesis Video Streams.
-
Un ambiente di sviluppo integrato in Java (IDE), come Eclipse Java Neon
o IntelliJ IdeaJetBrains .
Esecuzione dell'esempio del renderer
-
Crea una directory, quindi clona il codice sorgente di esempio dal repository. GitHub
git clone https://github.com/aws/amazon-kinesis-video-streams-parser-library
-
Apri il Java IDE che stai utilizzando (ad esempio, Eclipse
o IDEAIntelliJ ) e importa il progetto Apache Maven che hai scaricato: -
In Eclipse: scegliere File, Import (Importa), Maven, Existing Maven Projects (Progetti Maven esistenti). Passa alla directory
kinesis-video-streams-parser-lib
. -
In IntelliJ Idea: scegliere Import (Importa). Andare al file
pom.xml
nella radice del pacchetto scaricato.Nota
Se IntelliJ non è in grado di trovare le dipendenze, potrebbe essere necessario eseguire quanto segue:
-
Build clean: scegliere File (File), Settings (Impostazioni), Build, Execution, Deployment (Creazione, esecuzione, distribuzione), Compiler (Compilatore). Verificate che sia selezionata l'opzione Cancella directory di output alla ricostruzione, quindi scegliete Build, Build Project.
-
Reimport the project (Reimporta il progetto): aprire il menu di scelta rapida (fare clic con il pulsante destro del mouse) del progetto e scegliere Maven, Reimport (Reimporta).
-
Per ulteriori informazioni, consultate la IDE documentazione correlata.
-
-
Dal tuo JavaIDE, apri
src/test/java/com.amazonaws.kinesisvideo.parser/examples/KinesisVideoRendererExampleTest
. -
Rimuovere la direttiva
@Ignore
dal file. -
Aggiorna il
.stream
parametro con il nome del tuo stream video Kinesis. -
Eseguire il test
KinesisVideoRendererExample
.
Come funziona
L'applicazione di esempio dimostra quanto segue:
Invio di dati MKV
L'esempio invia MKV dati di esempio dal rendering_example_video.mkv
file, utilizzandoli PutMedia
per inviare dati video a uno stream denominato render-example-stream.
L'applicazione crea un PutMediaWorker
:
PutMediaWorker putMediaWorker = PutMediaWorker.create(getRegion(), getCredentialsProvider(), getStreamName(), inputStream, streamOps.amazonKinesisVideo); executorService.submit(putMediaWorker);
Per informazioni sulle classi PutMediaWorker
, consulta Chiama PutMedia nella documentazione della Streaming utilizzando la libreria parser.
Analisi dei MKV frammenti in frame
L'esempio recupera e analizza quindi i MKV frammenti dallo stream utilizzando un: GetMediaWorker
GetMediaWorker getMediaWorker = GetMediaWorker.create(getRegion(), getCredentialsProvider(), getStreamName(), new StartSelector().withStartSelectorType(StartSelectorType.EARLIEST), streamOps.amazonKinesisVideo, getMediaProcessingArgumentsLocal.getFrameVisitor()); executorService.submit(getMediaWorker);
Per ulteriori informazioni sulle classi GetMediaWorker
, consulta Chiama GetMedia nella documentazione della Streaming utilizzando la libreria parser.
Decodifica e visualizzazione del frame
L'esempio quindi decodifica e visualizza il frame utilizzando. JFrame
Il seguente esempio di codice è tratto dalla classe KinesisVideoFrameViewer
, che estende JFrame
:
public void setImage(BufferedImage bufferedImage) { image = bufferedImage; repaint(); }
L'immagine viene visualizzata come un'istanza di java.awt.image. BufferedImageBufferedImage
, consulta la sezione relativa alla lettura/al caricamento di un'immagine