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

对象存储

复制全文
下载 pdf
视频处理
视频截帧(Node.js SDK)
复制全文
下载 pdf
视频截帧(Node.js SDK)

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

示例代码

以下代码展示如何截取第 300ms 的视频帧,并将截取后的图片命名为 temp.jpg,并下载到本地。

// 导入 SDK, 当 TOS Node.JS SDK 版本小于 2.5.2 请把下方 TosClient 改成 TOS 导入
import { TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';

// 创建客户端
const client = new TosClient({
  accessKeyId: process.env['TOS_ACCESS_KEY'],
  accessKeySecret: process.env['TOS_SECRET_KEY'],
  region: "Provide your region", // 填写 Bucket 所在地域。以华北2(北京)为例,则 "Provide your region" 填写为 cn-beijing。
  endpoint: "Provide your endpoint", // 填写域名地址
});

function handleError(error) {
  if (error instanceof TosClientError) {
    console.log('Client Err Msg:', error.message);
    console.log('Client Err Stack:', error.stack);
  } else if (error instanceof TosServerError) {
    console.log('Request ID:', error.requestId);
    console.log('Response Status Code:', error.statusCode);
    console.log('Response Header:', error.headers);
    console.log('Response Err Code:', error.code);
    console.log('Response Err Msg:', error.message);
  } else {
    console.log('unexpected exception, message: ', error);
  }
}

const bucketName = 'node-sdk-test-bucket';
async function main() {
  try {
    // 视频名称
    const videoKey = 'video.mp4';
    // 保存至文件
    const fileName = 'temp.jpg';
    // 请求并增加数据处理
    const style = 'video/snapshot,t_300'; /* 视频截帧,截取第 300ms 的视频帧 */
    const { requestId, headers } = await client.getObjectToFile({
      bucket: bucketName,
      key: videoKey,
      process: style,
      filePath: fileName,
    });
    console.log('getObjectToFile Request ID: ', requestId);
    console.log('ContentType: ', headers['content-type']);
  } catch (error) {
    handleError(error);
  }
}

main();

相关文档

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

最近更新时间:2024.02.04 18:31:10
这个页面对您有帮助吗?
有用
有用
无用
无用