Paso 2: Examine el código - Amazon Kinesis Video Streams

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Paso 2: Examine el código

En esta sección del procedimiento de Android Producer Library, examinará el código Java de ejemplo.

La aplicación de prueba de Android (AmazonKinesisVideoDemoApp) muestra el siguiente patrón de codificación:

  • Cree una instancia de KinesisVideoClient.

  • Cree una instancia de MediaSource.

  • Inicie el streaming. Inicie elMediaSource, y comienza a enviar datos al cliente.

En las siguientes secciones presentamos más detalles.

Crear una instancia deKinesisVideoClient

Puede crear el objeto KinesisVideoClient llamando a la operación createKinesisVideoClient.

mKinesisVideoClient = KinesisVideoAndroidClientFactory.createKinesisVideoClient( getActivity(), KinesisVideoDemoApp.KINESIS_VIDEO_REGION, KinesisVideoDemoApp.getCredentialsProvider());

Para que KinesisVideoClient realice llamadas de red, necesita credenciales de autenticación. Usted pasa en un caso deAWSCredentialsProvider, que lee sus credenciales de Amazon Cognito delawsconfiguration.jsonarchivo que modificó en la sección anterior.

Crear una instancia deMediaSource

Para enviar bytes a su transmisión de vídeo de Kinesis, debe generar los datos. Amazon Kinesis Video Streams ofreceMediaSourceinterfaz, que representa la fuente de datos.

Por ejemplo, la biblioteca de Android de Kinesis Video Streams proporcionaAndroidCameraMediaSourceimplementación de laMediaSourceinterfaz. Esta clase lee los datos de una de las cámaras del dispositivo.

En el siguiente ejemplo de código (del archivo fragment/StreamConfigurationFragment.java), se crea la configuración del origen multimedia:

private AndroidCameraMediaSourceConfiguration getCurrentConfiguration() { return new AndroidCameraMediaSourceConfiguration( AndroidCameraMediaSourceConfiguration.builder() .withCameraId(mCamerasDropdown.getSelectedItem().getCameraId()) .withEncodingMimeType(mMimeTypeDropdown.getSelectedItem().getMimeType()) .withHorizontalResolution(mResolutionDropdown.getSelectedItem().getWidth()) .withVerticalResolution(mResolutionDropdown.getSelectedItem().getHeight()) .withCameraFacing(mCamerasDropdown.getSelectedItem().getCameraFacing()) .withIsEncoderHardwareAccelerated( mCamerasDropdown.getSelectedItem().isEndcoderHardwareAccelerated()) .withFrameRate(FRAMERATE_20) .withRetentionPeriodInHours(RETENTION_PERIOD_48_HOURS) .withEncodingBitRate(BITRATE_384_KBPS) .withCameraOrientation(-mCamerasDropdown.getSelectedItem().getCameraOrientation()) .withNalAdaptationFlags(StreamInfo.NalAdaptationFlags.NAL_ADAPTATION_ANNEXB_CPD_AND_FRAME_NALS) .withIsAbsoluteTimecode(false)); }

En el siguiente ejemplo de código (del archivo fragment/StreamingFragment.java), se crea el origen multimedia:

mCameraMediaSource = (AndroidCameraMediaSource) mKinesisVideoClient .createMediaSource(mStreamName, mConfiguration);

Iniciar la fuente multimedia

Inicie el origen de medios para que pueda comenzar a generar los datos y enviarlos al cliente. El siguiente ejemplo de código procede del archivo fragment/StreamingFragment.java:

mCameraMediaSource.start();

Paso siguiente

Paso 3: Ejecuta y verifica el código