You need to enable JavaScript to run this app.
文档中心
函数服务

函数服务

复制全文
下载 pdf
音视频处理
一键部署 FFmpeg 视频截帧应用
复制全文
下载 pdf
一键部署 FFmpeg 视频截帧应用
本文为您介绍如何通过函数服务应用中心一键部署 FFmpeg 视频截帧应用。​
背景信息​
  • 应用介绍​
  • FFmpeg 是一款开源的用于音视频多媒体素材处理的软件,广泛应用于音视频转码、视频剪辑、视频特效等场景。 本应用模板内置 FFmpeg 工具,帮助您快速部署一个视频截帧应用。部署完毕后,可通过 API 网关发送视频截帧请求,对指定时间点的视频进行截图。​
  • 运行时​
  • Golang 运行时​
  • 关联云服务​
  • 函数服务:使用 FFmpeg 进行视频截帧操作。​
  • API 网关:通过 API 网关发送视频截帧请求。​
前提条件​
  • 已开通本应用关联的所有云服务。​
  • IAM 用户需确保已授权 VeFaaSFullAccess、APIGFullAccess、STSAssumeRoleAccess 策略。如果缺少以上策略,请联系主账号或管理员进行授权。具体操作可参见 创建用户并授权。​
  • API 网关准备工作:​
  • 当前应用支持选择已有 API 网关实例或自动创建 API 网关实例。​
  • 选择已有 API 网关实例:请提前准备好网关实例,注意网关实例需与应用部署在同一地域。详细操作可参见 创建实例。​
  • 自动创建 API 网关实例:请提前准备好 VPC 和子网信息,注意 VPC 需与应用部署在同一地域。详细操作可参见 创建私有网络。​
  • 首次使用函数服务,需确保已完成跨服务授权。如未授权,控制台会弹出跨服务授权页面引导您进行授权。​
操作步骤​
  1. 在顶部导航栏,选择目标地域。​
  1. 在左侧导航栏选择 应用。​
  1. 在应用页面,单击 创建应用。​
  1. 在创建应用页面,选择 volcano-ffmpeg 模板,单击 创建。​
  1. 在创建应用页面,按要求配置以下信息。​
  • 基础信息​
  • ​
    配置项​
    说明​
    已选模板​
    展示选择的模板。本场景为 volcano-ffmpeg。​
    名称​
    自定义应用的名称。​
    备注​
    填写当前应用的备注信息,可以为空。​
    IAM 角色​
    应用中心提供了系统默认角色 ServerlessApplicationRole,该角色包含了应用中心需要访问的部分云资源权限。​
    • 如果您的用户角色未包含此角色,将会自动添加该角色。​
    • 如果您的用户角色已包含此角色,系统会自动检测该角色是否已包含当前应用需要的所有策略。当缺少相关策略时,控制台会提示需要添加的策略名称,请单击 添加策略 进行添加。​
    注意​
    • IAM 用户需确保已授权 IAMReadOnlyAccess 策略,否则无权限获取 ServerlessApplicationRole 角色信息。​
    • IAM 用户如需进一步为 ServerlessApplicationRole 角色添加策略,需确保已授权 IAMFullAccess 策略。​
    关联云服务​
    展示当前应用需要使用的所有云服务名称、开通状态及开通目的。​
    ​
  • 高级配置​
  • ​
    配置项​
    说明​
    地域​
    展示当前应用及应用下关联云资源所在的地域。​
    函数名称​
    自定义函数名称。​
    API 网关实例​
    设置待使用的 API 网关实例。将在该网关实例下自动创建 API 网关触发器相关资源,包括:服务、Upstream、路由。​
    • 选择已有 API 网关实例:支持选择已有的 API 网关实例。​
    • 自动创建 API 网关实例:请填写实例名称,并选择私有网络、可用区 A 的子网 ID、可用区 B 的子网 ID。应用将在该 VPC 下自动创建 Serverless 网关实例。​
    注意​
    自动创建 API 网关实例为 Serverless 网关实例。由于一个地域仅允许创建 1 个 Serverless 网关实例。如果该地域已存在 Serverless 网关实例,请选择已有 API 网关实例。​
    ​
  • ​
  1. 单击 确定,开始创建并部署应用。 系统将自动跳转至应用详情页面,为您实时展示应用部署日志。​
  • ​​​
结果验证​
本节为您介绍如何发送视频截帧请求,获取指定时刻的视频截图。​
  1. 提前准备好视频素材的 URL 地址。例如:将视频文件上传至火山引擎对象存储 TOS 中,并将文件设置为可公共读。本示例使用的视频文件为: https://volcengine-vefaas-demo-resource.tos-cn-beijing.volces.com/moment-120sec.mp4 。​
  1. 打开本地命令行控制台,执行以下命令,截取视频素材第 10 秒的图片,并将图片保存至本地 /tmp/image.jpeg 文件中。​
  • ​
    # https://api_gateway_address需替换为您的 API网关服务地址​
    # Source 为提前准备好的视频源地址​
    # TimeInSeconds 为需要截取的时间点,单位为秒​
    curl -X POST 'https://api_gateway_address/snapshot' -d '{"Source": "https://volcengine-vefaas-demo-resource.tos-cn-beijing.volces.com/moment-120sec.mp4","TimeInSeconds": 10}' > /tmp/image.jpeg​
    ​
    #返回如下内容表明执行成功​
    % Total % Received % Xferd Average Speed Time Time Time Current​
    Dload Upload Total Spent Left Speed​
    100 71136 0 71019 100 117 24537 40 0:00:02 0:00:02 --:--:-- 24572​
    ​
  1. 打开本地 /tmp/image.jpeg 文件,查看步骤 2 获取的视频截图。​
  • ​​​
​
最近更新时间:2025.03.11 17:01:29
这个页面对您有帮助吗?
有用
有用
无用
无用