As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AWS Elemental MediaConvert exemplos usando a AWS SDK for PHP versão 3
AWS Elemental MediaConvert é um serviço de transcodificação de vídeo baseado em arquivo com recursos de nível de transmissão. Você pode usá-lo para criar ativos para transmissão e para video-on-demand (VOD) entrega pela Internet. Para obter mais informações, consulte o Guia do usuário do AWS Elemental MediaConvert.
O PHP API formulário AWS Elemental MediaConvert é exposto por meio da classe AWS.MediaConvert
cliente. Para obter mais informações, consulte Class: AWS.MediaConvert
na API referência.
Crie e gerencie trabalhos de transcodificação no AWS Elemental MediaConvert
Neste exemplo, você usa a AWS SDK for PHP versão 3 para chamar AWS Elemental MediaConvert e criar um trabalho de transcodificação. Antes de começar, é necessário fazer upload do vídeo de entrada no bucket do Amazon S3 que você provisionou para o armazenamento de entrada. Para obter uma lista dos codecs de vídeo de entrada e contêineres compatíveis, consulte Codecs e contêineres de entrada compatíveis no Guia do usuário do AWS Elemental MediaConvert.
Os exemplos a seguir mostram como:
-
Crie trabalhos de transcodificação em. AWS Elemental MediaConvertCreateJob.
-
Cancele um trabalho de transcodificação da AWS Elemental MediaConvert fila. CancelJob
-
Recupere o JSON para concluir o trabalho de transcodificação. GetJob
-
Recupere uma JSON matriz para até 20 dos trabalhos criados mais recentemente. ListJobs
Todo o código de exemplo para o AWS SDK for PHP está disponível aqui em GitHub
Credenciais
Antes de executar o código de exemplo, configure suas AWS credenciais, conforme descrito emCredenciais. Em seguida, importe o AWS SDK for PHP, conforme descrito emUso básico.
Para acessar o MediaConvert cliente, crie uma IAM função que dê AWS Elemental MediaConvert acesso aos seus arquivos de entrada e aos buckets do Amazon S3 onde seus arquivos de saída são armazenados. Para obter detalhes, consulte Configurar IAM permissões no Guia AWS Elemental MediaConvert do usuário.
Criar um cliente
Configure o AWS SDK for PHP criando um MediaConvert cliente, com a região do seu código. Neste exemplo, a região é definida como us-west-2.
Importações
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\MediaConvert\MediaConvertClient;
Código de exemplo
$mediaConvertClient = new MediaConvertClient([ 'version' => '2017-08-29', 'region' => 'us-east-2', 'profile' => 'default' ]);
Definição de um trabalho de transcodificação simples
Crie o JSON que define os parâmetros do trabalho de transcodificação.
Esses parâmetros são detalhados. Você pode usar o AWS Elemental MediaConvert console
Código de exemplo
$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" ] ];
Criar um trabalho
Depois de criar os parâmetros do trabalhoJSON, chame o createJob método invocando um AWS.MediaConvert service object
e passando os parâmetros. O ID da tarefa criado é retornado nos dados da resposta.
Código de exemplo
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"; }
Recuperar um trabalho
Com o jobID retornado quando você ligou para createjob, você pode obter descrições detalhadas dos trabalhos recentes em formato. JSON
Código de exemplo
$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"; }
Cancelar um trabalho
Com o JobID retornado quando o createjob foi chamado, você pode cancelar uma tarefa enquanto ela ainda está na fila. Você não pode cancelar tarefas cuja transcodificação já tenha sido iniciada.
Código de exemplo
$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"; }
Listagem de trabalhos de transcodificação recentes
Crie os parâmetrosJSON, incluindo valores para especificar se a lista deve ser ASCENDING classificada ou DESCENDING ordenada pela fila ARN de trabalhos a ser verificada e o status dos trabalhos a serem incluídos. Isso retornará até 20 trabalhos. Para recuperar os próximos 20 trabalhos mais recentes, use a nextToken string retornada com o resultado.
Código de exemplo
$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"; }