1.因项目需要,使用avconcat接口拼接多个视频,使用后返回信息正常,但是没有效果
2.下附代码和返回信息截图:
$auth = new Auth($this->accessKey, $this->secretKey);
// 生成上传 Token
$token = $auth->uploadToken($this->bucket);
// 要上传文件的本地路径
$filePath = $_FILES['videoname']['tmp_name'];
// 上传到七牛后保存的文件名
$key = time().rand(10000,99999).".mp4";
// 初始化 UploadManager 对象并进行文件的上传。
$uploadMgr = new UploadManager();
$encodedUrl1 = $this->base64_urlSafeEncode('http://host/148430237126015.mp4');
$encodedUrl2 = $this->base64_urlSafeEncode('http://host/148394565268224');
$fops = 'avconcat/2/format/mp4/'.$encodedUrl1.'/'.$encodedUrl2;
//可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当间。
$fops = $fops.'|saveas/'.$this->base64_urlSafeEncode($this->bucket.":".$key);
$pfop = "avthumb/mp4/vb/1.4m";
//转码完成后通知到你的业务服务器。(公网可以访问,并相应200 OK)
$notifyUrl = 'http://host/index.php?g=Portal&m=QiNiu&a=index';
//独立的转码队列:https://portal.qiniu.com/mps/pipeline
$pipeline = 'xxxx';
$policy = array(
'persistentOps' => $pfop,
'persistentNotifyUrl' => $notifyUrl,
'persistentPipeline' => $pipeline
);
$token = $auth->uploadToken($this->bucket, null, 3600, $policy);
// 调用 UploadManager 的 putFile 方法进行文件的上传。
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
$pfop = new PersistentFop($auth, $this->bucket, $pipeline, $notifyUrl);
list($id, $err) = $pfop->execute($key, $fops);
echo "合成结果:";
if ($err != null) {
print_r($err);
} else {
print_r($id);
}
$fops = $fops.'|saveas/'.$this->base64_urlSafeEncode($this->bucket.":".$key);这里$key导致的,caodan