AWS Elemental MediaConvert ejemplos que utilizan la AWS SDK for PHP versión 3 - AWS SDK for PHP

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.

AWS Elemental MediaConvert ejemplos que utilizan la AWS SDK for PHP versión 3

AWS Elemental MediaConvert es un servicio de transcodificación de vídeo basado en archivos con funciones aptas para la radiodifusión. Puede usarlo para crear recursos para su transmisión y video-on-demand (VOD) entrega a través de Internet. Para obtener más información, consulte la AWS Elemental MediaConvert Guía del usuario de .

El formulario PHP API AWS Elemental MediaConvert se expone a través de la clase de AWS.MediaConvertcliente. Para obtener más información, consulte Class: AWS.MediaConvertla API referencia.

Cree y gestione trabajos de transcodificación en AWS Elemental MediaConvert

En este ejemplo, utiliza la AWS SDK for PHP versión 3 para llamar AWS Elemental MediaConvert y crear un trabajo de transcodificación. Antes de comenzar, debe cargar el vídeo de entrada en el bucket de Amazon S3 habilitado para el almacenamiento de entrada. Para obtener una lista de los códecs y contenedores compatibles con la entrada de vídeo, consulteCódecs y contenedores de entrada compatibles AWS Elemental MediaConvert Guía del usuario..

Los siguientes ejemplos muestran cómo:

  • Cree trabajos de transcodificación en. AWS Elemental MediaConvertCreateJob.

  • Cancela un trabajo de transcodificación de la AWS Elemental MediaConvert cola. CancelJob

  • Recupera el JSON para completar un trabajo de transcodificación. GetJob

  • Recupere una JSON matriz para un máximo de 20 de los trabajos creados más recientemente. ListJobs

Todo el código de ejemplo para el AWS SDK for PHP está disponible aquí en GitHub.

Credenciales

Antes de ejecutar el código de ejemplo, configure sus AWS credenciales, tal y como se describe enCredentials. A continuación, importe las AWS SDK for PHP, tal y como se describe enUso básico.

Para acceder al MediaConvert cliente, cree un IAM rol que dé AWS Elemental MediaConvert acceso a sus archivos de entrada y a los buckets de Amazon S3 en los que se almacenan los archivos de salida. Para obtener más información, consulte Configurar IAM permisos en la Guía del AWS Elemental MediaConvert usuario.

Crear un cliente

Configure el AWS SDK for PHP creando un MediaConvert cliente, con la región de su código. En este ejemplo, la región se establece en us-west-2.

Importaciones

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\MediaConvert\MediaConvertClient;

Código de muestra

$mediaConvertClient = new MediaConvertClient([ 'version' => '2017-08-29', 'region' => 'us-east-2', 'profile' => 'default' ]);

Definición de un trabajo de transcodificación sencillo

Cree el JSON que defina los parámetros del trabajo de transcodificación.

Estos parámetros son detallados. Puede usar la AWS Elemental MediaConvert consola para generar los parámetros del JSON trabajo seleccionando la configuración del trabajo en la consola y, a continuación, seleccionando Mostrar trabajo JSON en la parte inferior de la sección Trabajo. En este ejemplo se muestra el JSON caso de un trabajo sencillo.

Código de muestra

$jobSetting = [ "OutputGroups" => [ [ "Name" => "File Group", "OutputGroupSettings" => [ "Type" => "FILE_GROUP_SETTINGS", "FileGroupSettings" => [ "Destination" => "s3://OUTPUT_BUCKET_NAME/" ] ], "Outputs" => [ [ "VideoDescription" => [ "ScalingBehavior" => "DEFAULT", "TimecodeInsertion" => "DISABLED", "AntiAlias" => "ENABLED", "Sharpness" => 50, "CodecSettings" => [ "Codec" => "H_264", "H264Settings" => [ "InterlaceMode" => "PROGRESSIVE", "NumberReferenceFrames" => 3, "Syntax" => "DEFAULT", "Softness" => 0, "GopClosedCadence" => 1, "GopSize" => 90, "Slices" => 1, "GopBReference" => "DISABLED", "SlowPal" => "DISABLED", "SpatialAdaptiveQuantization" => "ENABLED", "TemporalAdaptiveQuantization" => "ENABLED", "FlickerAdaptiveQuantization" => "DISABLED", "EntropyEncoding" => "CABAC", "Bitrate" => 5000000, "FramerateControl" => "SPECIFIED", "RateControlMode" => "CBR", "CodecProfile" => "MAIN", "Telecine" => "NONE", "MinIInterval" => 0, "AdaptiveQuantization" => "HIGH", "CodecLevel" => "AUTO", "FieldEncoding" => "PAFF", "SceneChangeDetect" => "ENABLED", "QualityTuningLevel" => "SINGLE_PASS", "FramerateConversionAlgorithm" => "DUPLICATE_DROP", "UnregisteredSeiTimecode" => "DISABLED", "GopSizeUnits" => "FRAMES", "ParControl" => "SPECIFIED", "NumberBFramesBetweenReferenceFrames" => 2, "RepeatPps" => "DISABLED", "FramerateNumerator" => 30, "FramerateDenominator" => 1, "ParNumerator" => 1, "ParDenominator" => 1 ] ], "AfdSignaling" => "NONE", "DropFrameTimecode" => "ENABLED", "RespondToAfd" => "NONE", "ColorMetadata" => "INSERT" ], "AudioDescriptions" => [ [ "AudioTypeControl" => "FOLLOW_INPUT", "CodecSettings" => [ "Codec" => "AAC", "AacSettings" => [ "AudioDescriptionBroadcasterMix" => "NORMAL", "RateControlMode" => "CBR", "CodecProfile" => "LC", "CodingMode" => "CODING_MODE_2_0", "RawFormat" => "NONE", "SampleRate" => 48000, "Specification" => "MPEG4", "Bitrate" => 64000 ] ], "LanguageCodeControl" => "FOLLOW_INPUT", "AudioSourceName" => "Audio Selector 1" ] ], "ContainerSettings" => [ "Container" => "MP4", "Mp4Settings" => [ "CslgAtom" => "INCLUDE", "FreeSpaceBox" => "EXCLUDE", "MoovPlacement" => "PROGRESSIVE_DOWNLOAD" ] ], "NameModifier" => "_1" ] ] ] ], "AdAvailOffset" => 0, "Inputs" => [ [ "AudioSelectors" => [ "Audio Selector 1" => [ "Offset" => 0, "DefaultSelection" => "NOT_DEFAULT", "ProgramSelection" => 1, "SelectorType" => "TRACK", "Tracks" => [ 1 ] ] ], "VideoSelector" => [ "ColorSpace" => "FOLLOW" ], "FilterEnable" => "AUTO", "PsiControl" => "USE_PSI", "FilterStrength" => 0, "DeblockFilter" => "DISABLED", "DenoiseFilter" => "DISABLED", "TimecodeSource" => "EMBEDDED", "FileInput" => "s3://INPUT_BUCKET_AND_FILE_NAME" ] ], "TimecodeConfig" => [ "Source" => "EMBEDDED" ] ];

Creación de un trabajo

Tras crear los parámetros del trabajoJSON, llame al createJob método invocando an AWS.MediaConvert service object y pasando los parámetros. El ID del trabajo creado se devuelve en los datos de la respuesta.

Código de muestra

try { $result = $mediaConvertClient->createJob([ "Role" => "IAM_ROLE_ARN", "Settings" => $jobSetting, //JobSettings structure "Queue" => "JOB_QUEUE_ARN", "UserMetadata" => [ "Customer" => "Amazon" ], ]); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Recuperación de un trabajo

Con el JoBid devuelto al llamar a createjob, puede obtener descripciones detalladas de los trabajos recientes en formato. JSON

Código de muestra

$mediaConvertClient = new MediaConvertClient([ 'version' => '2017-08-29', 'region' => 'us-east-2', 'profile' => 'default' ]); try { $result = $mediaConvertClient->getJob([ 'Id' => 'JOB_ID', ]); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Cancelación de un trabajo

Con el JobID que se devuelve al llamar a createjob, se puede cancelar un trabajo mientras esté en la cola. No se pueden cancelar los trabajos cuya transcodificación ya ha comenzado.

Código de muestra

$mediaConvertClient = new MediaConvertClient([ 'version' => '2017-08-29', 'region' => 'us-east-2', 'profile' => 'default' ]); try { $result = $mediaConvertClient->cancelJob([ 'Id' => 'JOB_ID', // REQUIRED The Job ID of the job to be cancelled. ]); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Listado de los trabajos de transcodificación recientes

Cree los parámetrosJSON, incluidos los valores, para especificar si se debe ordenar la lista o el DESCENDING orden de la cola ARN de trabajos que se van a comprobar y el estado de los trabajos que se van a incluir. ASCENDING Esto devuelve hasta 20 trabajos. Para recuperar los 20 siguientes trabajos más recientes, utilice la nextToken cadena devuelta con el resultado.

Código de muestra

$mediaConvertClient = new MediaConvertClient([ 'version' => '2017-08-29', 'region' => 'us-east-2', 'profile' => 'default' ]); try { $result = $mediaConvertClient->listJobs([ 'MaxResults' => 20, 'Order' => 'ASCENDING', 'Queue' => 'QUEUE_ARN', 'Status' => 'SUBMITTED', // 'NextToken' => '<string>', //OPTIONAL To retrieve the twenty next most recent jobs ]); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }