You need to enable JavaScript to run this app.
文档中心
对象存储

对象存储

复制全文
下载 pdf
数据处理
视频截帧(PHP SDK)
复制全文
下载 pdf
视频截帧(PHP SDK)

视频截帧功能可以从视频流中截取指定时刻的单帧画面,并按指定大小缩放成图片。本文介绍如何通过 TOS PHP SDK 进行视频截帧。

示例代码

以下代码展示如何截取第 30000ms 的视频帧,并将截取后的图片下载到本地。

<?php

// 假设使用源码安装且需要集成 SDK 的脚本与 TOS PHP SDK 的源码在同一个父目录下。
require_once __DIR__  .  '/autoload.php';

use Tos\TosClient;
use Tos\Exception\TosClientException;
use Tos\Exception\TosServerException;
use Tos\Model\HeadObjectInput;
use Tos\Model\GetObjectInput;

$output = null;
try {
    $client = new TosClient([
        'region' => 'your region',
        'endpoint' => 'your endpoint',
        // 从环境变量中获取访问密钥
        'ak' => getenv('TOS_ACCESS_KEY'),
        'sk' => getenv('TOS_SECRET_KEY'),
    ]);
    
    $input = new GetObjectInput('bucket-test',  'key-test');
    
    // 执行视频截祯操作。
    $input->setProcess('video/snapshot,t_30000');
    
    // 执行视频截祯操作后,将获取到的图片保存至指定的存储桶。执行图片保存操作的账号必须拥有图片转存的目标桶的写权限。
    // $input->setSaveBucket(base64_encode('bucket-test2'));
    // $input->setSaveObject(base64_encode('key-test2'));
    
    // 执行获取视频元信息操作。
    // $input->setProcess('video/info');
    
    $output = $client->getObject($input);
    echo $output->getRequestId() . PHP_EOL;
   
    // 获取图片处理后的数据。
    echo $output->getContent()->getContents() . PHP_EOL;
    $output->getContent()->close();
    
    
} catch (TosClientException $ex) {
    echo $ex->getMessage() . PHP_EOL;
} catch (TosServerException $ex) {
    echo $ex->getRequestId() . PHP_EOL;
    echo $ex->getStatusCode() . PHP_EOL;
    echo $ex->getErrorCode() . PHP_EOL;
} finally {
    if($output){
        $output->getContent()->close();
    }
}

相关文档

关于视频截帧的详细介绍,请参见视频截帧

最近更新时间:2024.04.02 15:04:19
这个页面对您有帮助吗?
有用
有用
无用
无用