/**
* 七牛云转码、生成视频截图
*
* @param \Qiniu\Auth $auth
* @param string $transParams
* @param string $bucket
* @param string $dir
* @param string $key
* @param string $filename
* @param string $notifyUrl
* @return array
*
* @see https://developer.qiniu.com/dora/api/persistent-data-processing-pfop#4
*/
public function executeTranscoding(\Qiniu\Auth $auth, ?string $transParams, string $bucket, string $dir, string $key, string $filename, string $notifyUrl): array
{
if (empty($transParams)) {
return null;
}
$key = ltrim($key, '/');
$pfop = new \Qiniu\Processing\PersistentFop($auth);
// 截图文件存放位置
$filepath = sprintf('%s/%s', rtrim($dir, '/'), ltrim($filename, '/'));
$saveAs = "$bucket:$filepath";
$fops = $transParams.'|saveas/'.\Qiniu\base64_urlSafeEncode($saveAs);
$pipeline = 'default.sys';
$force = false;
[$id, ] = $pfop->execute($bucket, $key, $fops, $pipeline, $notifyUrl, $force);
return [
'id' => $id,
'path' => $filepath,
];
}