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.MediaConvert
cliente. Para obtener más información, consulte Class: AWS.MediaConvert
la 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
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"; }