默认情况下,AI MediaKit 会为异步任务输出的媒体文件生成一个临时下载链接。该临时链接将从生成时刻起固定 24 小时有效,且不再支持续期。您需要在有效期内下载文件,并上传到自己的存储服务中,操作较为繁琐。
为简化这一流程,AI MediaKit 提供处理产物转存的功能。您只需在提交任务时,通过 media_output_destination 参数指定您的火山引擎视频点播(VOD)空间或对象存储(TOS)的桶作为输出目标。任务完成后,处理产物就会被自动存储至您的存储服务中。届时,您将获得一个 vod:// 或 tos:// 格式的资源地址,无需再关心临时链接时效,也省去了手动下载和转存的步骤。AI MediaKit 侧的输出产物临时副本则将在转存成功后自动删除。
本文将引导您了解如何使用这一功能,包括支持的存储目标、准备工作、使用示例和常见问题。
说明
若您希望让 AI MediaKit 从您的 VOD/TOS 读取素材进行处理,请参见多源媒体输入与本地上传。 当 media_output_destination 指向 TOS 时,您可以通过以下两种方式指定输出位置:
- tos://<您的桶名>:处理结果将保存到桶的根目录。
- tos://<您的桶名>/<您的目录>:处理结果将保存到您指定的目录中。
请注意,此处填写的是目录前缀,而非完整的文件名。为方便使用,系统会自动规范化您提供的目录路径:
- 目录前缀前后多余的 / 会被自动忽略。例如,/test/、//test/ 和 test 会被视为同一个目录。
- 支持中文等非 ASCII 字符作为目录名。同时,为确保路径能被正确解析,请不要在目录中包含 . 或 .. 等相对路径,也不要嵌入其他的协议头(如 http://)。
当任务成功写回 VOD 或 TOS 后,您在任务结果中获得的 vod:// 或 tos:// 地址就是产物最终的存储位置。TOS 的最终文件名由系统生成,可能不包含文件扩展名(例如 .mp4)。因此,请始终以 API 返回的完整 tos:// 地址为准,不要在客户端自行拼接或假设文件名格式。
如果您因网络超时等原因,使用相同的 client_token 重试同一个写回请求,系统会确保任务的幂等性,返回同一个结果地址,不会在您的存储中生成重复的文件。
首次使用此功能前,您需要先授权 AI MediaKit 将文件写入您的 VOD 空间或 TOS 桶。请前往 AI MediaKit 控制台基础配置 > 授权管理页面,根据您的需要,为 AI MediaKit 服务授予相应的权限。这是一个一次性的配置。 以下展示了在不同场景下,如何通过 media_output_destination 参数将处理产物自动存储至您的 VOD 或 TOS。
任务完成后,您通过查询任务信息 API 或事件回调获得的 result.video_url 的值将是形如 vod://space-test/v0cd7ag7007bd77iil7og65hfa66gqsg 这样的地址。 示例 2:将画质增强后的视频存储至 TOS 指定目录
任务完成后,画质增强后的视频将被自动存储至 my-bucket 桶下的 enhanced 目录中。最终返回的资源地址将形如 tos://my-bucket/enhanced/your-output-file.mp4。
示例 3:读取 VOD 视频处理后,再存回 VOD
此示例展示了一个完整的工作流:从一个 VOD 空间读取源视频,进行画质增强处理,然后将结果存储至另一个 VOD 空间。
任务完成后,您通过查询任务信息 API 或事件回调获得的 result.video_url 的值将是形如 vod://space-test/v0cd7ag7007bd77iil7og65hfa66gqsg 这样的地址。 - 仅限异步任务:产物存储至 VOD/TOS 功能仅适用于异步执行的工具。对于同步返回结果的工具(如图像处理工具),此功能不适用。
- 某些工具的产物并非媒体文件(例如,高光分析工具输出的是 JSON 格式的分析结果),因此不支持存储至 VOD 或 TOS。
- 某些工具返回结果中的辅助性产物(如封面图、抽帧小图等)可能仍然以临时链接形式提供,例如高光智剪(短剧)生成的视频封面图。具体某个工具或字段是否支持,请以其对应的 API 文档为准。
-
- 地域限制:存储至 TOS 时,TOS 存储桶必须位于“华北2(北京)”地域 (cn-beijing),暂不支持其他地域。
在使用此功能前,您需要先获取目标 VOD 空间或 TOS 桶的准确名称。
- 获取 VOD 空间名 (space name):
- 在空间管理页面的列表中,找到您想用于存储的 VOD 空间。下图红框处即是您需要填入 vod:// 地址中的名称。
-
- 获取 TOS 桶名 (bucket name):
- 在桶列表页面中,找到您想用于存储的 TOS 桶。下图红框处的桶名称即是您需要填入 tos:// 地址中的名称。
-
任务成功后,您会得到一个 vod:// 或 tos:// 格式的资源地址。这个地址是 AI MediaKit 等火山引擎服务之间识别媒体文件的“内部ID”,并不是一个可直接播放或下载的公开 URL。您可以通过以下方式查看已存储的产物文件,并获取公开访问链接:
- 您可以在列表中找到新存入的视频文件,也可以使用返回地址中的资源 ID (Vid) 进行精确搜索。
- 找到文件后,您可以进行获取播放地址、发布视频、配置 CDN 加速等后续操作。
- 找到文件后,您可以获取文件 URL、配置权限或进行其他操作。
将处理产物存储至 VOD 或 TOS 是否会产生额外费用?
处理产物存储至 VOD 或 TOS 功能本身免费,TOS/VOD 写回过程也不会产生流量费用。AI MediaKit 仅对您使用的各项媒体处理能力(如画质增强、视频剪辑等)进行计费。当文件成功存储至您的 VOD 或 TOS 后,产生的存储费用及其他后续使用费用将由对应的云服务(视频点播或对象存储)根据其标准单独计费。
不可以。media_output_destination 里填写的是保存目录或目录前缀,不是完整文件名。最终文件名由系统根据处理结果自动生成,请直接以任务结果或回调中返回的最终地址为准。
可以。TOS 的目标目录支持使用中文等非 ASCII 字符。例如,您可以将 media_output_destination 设置为 tos://my-bucket/视频项目/待审核/。只要权限和地域配置正确,产物就会被准确地存储到该目录下。