You need to enable JavaScript to run this app.
导航

媒体处理任务

最近更新时间2024.05.15 15:20:31

首次发布时间2022.04.08 18:59:59

本文为您提供服务端 PHP SDK 的媒体处理任务相关的 API 调用示例。

初始化

使用前请先完成初始化

提交媒体处理任务

接口请求参数和返回参数详见 OpenAPI:提交媒体处理任务

<?php

require('../../../vendor/autoload.php');

use Volc\Service\Imp\Imp;
use Volc\Service\Imp\Models\Business\InputPath;
use Volc\Service\Imp\Models\Business\DetectRect;
use Volc\Service\Imp\Models\Business\OCR;
use Volc\Service\Imp\Models\Business\OverrideParams;
use Volc\Service\Imp\Models\Business\Params;
use Volc\Service\Imp\Models\Business\SmartEraseOverrideParams;
use Volc\Service\Imp\Models\Business\Watermark;
use Volc\Service\Imp\Models\Request\ImpSubmitJobRequest;
use Volc\Service\Imp\Models\Response\ImpSubmitJobResponse;

// call below method if you don't set ak and sk in $HOME/.vcloud/config
$client = Imp::getInstance();
$client->setAccessKey("your ak");
$client->setSecretKey("your sk");

$request = new ImpSubmitJobRequest();

$inputPath = new InputPath();
$inputPath->setType("VOD");
$inputPath->setVodSpaceName("your space name");
$inputPath->setFileId("your file id");

$params = new Params();
$overrideParams = new OverrideParams();
$smartErase = new SmartEraseOverrideParams();
$smartErases = array();
$watermark = new Watermark();
$watermarkDetectRects = array();
$watermarkDetectRect = new DetectRect();
$watermarkDetectRect->setX1(0);
$watermarkDetectRect->setY1(0);
$watermarkDetectRect->setX2(1);
$watermarkDetectRect->setY2(1);
$watermarkDetectRects[0] = $watermarkDetectRect;
$watermark->setDetectRect($watermarkDetectRects);
$ocr = new OCR();
$ocrDetectRects = array();
$ocrDetectRect = new DetectRect();
$ocrDetectRect->setX1(0);
$ocrDetectRect->setY1(0);
$ocrDetectRect->setX2(1);
$ocrDetectRect->setY2(1);
$ocrDetectRects[0] = $ocrDetectRect;
$ocr->setDetectRect($ocrDetectRects);
$smartErase->setActivityId(array("*"));
$smartErase->setWatermark($watermark);
$smartErase->setOCR($ocr);
$smartErases[0]=$smartErase;
$overrideParams->setSmartErase($smartErases);
$params->setOverrideParams($overrideParams);

$request->setTemplateId("your template id");
$request->setCallbackArgs("your callback args");
$request->setEnableLowPriority("false"); // true 开启 false 不开启 闲时转码
$request->setInputPath($inputPath);
$request->setParams($params);

$response = new ImpSubmitJobResponse();
try {
    $response = $client->SubmitJob($request);
} catch (Exception $e) {
    echo $e, "\n";
} catch (Throwable $e) {
    echo $e, "\n";
}
if ($response->getResponseMetadata()->getError() != null) {
    print_r($response->getResponseMetadata()->getError());
}

echo $response->serializeToJsonString();
echo "\n";

查询媒体处理任务

接口请求参数和返回参数详见 OpenAPI:查询媒体处理任务

<?php

require('../../../vendor/autoload.php');

use Volc\Service\Imp\Models\Request\ImpRetrieveJobRequest;
use Volc\Service\Imp\Models\Response\ImpRetrieveJobResponse;
use Volc\Service\Imp\Imp;

// call below method if you don't set ak and sk in $HOME/.vcloud/config
$client = Imp::getInstance();
$client->setAccessKey("your ak");
$client->setSecretKey("your sk");

$request = new ImpRetrieveJobRequest();

$jobIds = ["your job id 1", "your job id 2"];
$request->setJobIds($jobIds);

$response = new ImpRetrieveJobResponse();
try {
    $response = $client->RetrieveJob($request);
} catch (Exception $e) {
    echo $e, "\n";
} catch (Throwable $e) {
    echo $e, "\n";
}
if ($response->getResponseMetadata()->getError() != null) {
    print_r($response->getResponseMetadata()->getError());
}

echo $response->serializeToJsonString();
echo "\n";

取消媒体处理任务

接口请求参数和返回参数详见 OpenAPI:取消媒体处理任务

<?php

require('../../../vendor/autoload.php');

use Volc\Service\Imp\Models\Request\ImpKillJobRequest;
use Volc\Service\Imp\Models\Response\ImpKillJobResponse;
use Volc\Service\Imp\Imp;

// call below method if you don't set ak and sk in $HOME/.vcloud/config
$client = Imp::getInstance();
$client->setAccessKey("your ak");
$client->setSecretKey("your sk");

$request = new ImpKillJobRequest();

$request->setJobId("your job id");

$response = new ImpKillJobResponse();
try {
    $response = $client->KillJob($request);
} catch (Exception $e) {
    echo $e, "\n";
} catch (Throwable $e) {
    echo $e, "\n";
}
if ($response->getResponseMetadata()->getError() != null) {
    print_r($response->getResponseMetadata()->getError());
}

echo $response->serializeToJsonString();
echo "\n";