截图
本文提供PHP SDK使用截图相关功能的API调用示例。
完整代码
<?php
require_once './aliyun-php-sdk-core/Config.php';
use Mts\Request\V20140618 as Mts;
function initMtsClient($accessKeyId, $accessKeySecret) {
$regionId = 'cn-shanghai'; // 服务接入区域
$profile = DefaultProfile::getProfile($regionId, $accessKeyId, $accessKeySecret);
return new DefaultAcsClient($profile);
}
try {
$client = initMtsClient(getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'));
$response = submitSnapshotJob($client);
print_r($response);
} catch (Exception $e) {
print $e->getMessage()."\n";
}
function submitSnapshotJob($client) {
$pipelineId = 'd7cedd984be7dd63395c****'; #管道ID 可在控制台查看
$templateId = "S00000001-100020"; #转码模板ID,可在控制台查看
$ossLocation = 'oss-cn-shanghai';
$bucket = '<bucket name>';
$ossInputObject = 'input.mp4';
$ossOutputObject = 'output_{Count}.jpg';
$request = new Mts\SubmitSnapshotJobRequest();
# input参数
$input = array('Location' => $ossLocation,
'Bucket' => $bucket,
'Object' => urlencode($ossInputObject));
# 截图输出位置
$output = array('Location' => $ossLocation,
'Bucket' => $bucket,
'Object' => urlencode($ossOutputObject));
# 截图配置
$snapshotConfig = array('OutputFile' => $output);
$snapshotConfig['Time'] = 2;
$snapshotConfig['Interval'] = 2;
$snapshotConfig['Num'] = 3;
$snapshotConfig['Height'] = 360;
# 请求参数
$request->setInput(json_encode($input));
$request->setSnapshotConfig(json_encode($snapshotConfig));
$request->setPipelineId($pipelineId);
return $client->getAcsResponse($request);
}