AI MediaKit 的音视频裁剪工具,可以从一个较长的媒体文件中精确提取出您需要的任意时间段,生成一个全新的媒体文件。无论是从一场完整的直播录像中剪辑出精彩高光时刻,还是从一段录音中截取核心对话,都可以通过一次简单的 API 调用完成。
AI MediaKit 为视频和音频的裁剪分别提供了独立的 API,但它们遵循完全相同的异步任务流程,并使用同一个 API 查询任务结果。
裁剪工具根据您指定的开始和结束时间点(单位:秒),从原始文件中“切”出目标片段。
本场景将演示如何从一段完整的视频录像中,裁剪出 第 15 分 30 秒 到 第 16 分钟 之间的精彩片段。
- 获取访问凭证:在开始之前,访问 AI MediaKit 控制台 API Key 管理页面,创建并获取 AI MediaKit API Key(用于媒体处理功能鉴权)。
- 准备视频文件:准备一个待裁剪的视频文件,并将其上传至公网可访问的服务器或视频点播服务中,以获取可供 API 调用的 URL。
音视频裁剪是一个异步任务:
- 成功调用视频裁剪 POST /api/v1/tools/trim-video API 后,API 将返回一个任务 ID。
- 您可以轮询 GET /api/v1/tasks/{task_id} API,直到任务状态status 变为 completed;或者使用事件回调自动接收任务状态变化。
- 任务完成后,解析 result 字段,即可在 video_url 字段处获取最终裁剪视频的下载地址。
说明
需替换参数:
- 将 {Your_API_Key} 替换为您的有效 API Key。
- 将 video_url 替换为您真实的视频文件地址。
- start_time 和 end_time 指定了裁剪的起始和结束时间点,类型为数字,单位是秒。本例中 930 代表 15 分 30 秒,960 代表 16 分钟。
请求成功后,您会收到如下包含 task_id 的响应,请保存此 ID 用于后续查询。
由于视频合成需要一定处理时间,您需要轮询查询任务信息 API,直到任务状态 status 变为 completed。 说明
需替换参数:将 URL 末尾的 {task_id} 替换为第 1 步返回的任务 ID。
当任务成功完成后,您将收到如下响应。result 字段是一个 JSON 对象,您可以直接从其下的 video_url 字段获取视频的下载地址(默认输出为 MP4 格式,有效期为 24 小时)。
说明
音频裁剪说明:裁剪音频的流程与上述完全一致。唯一的区别在于,您需要调用音频裁剪 POST /api/v1/tools/trim-audio API,并将参数名从 video_url 换成 audio_url。
在提交任务前,我们建议您在业务逻辑中增加校验步骤:
- 检查时间有效性:确保 end_time 晚于 start_time。
- 比对文件时长:确保 start_time 和 end_time 都在原始文件的总时长范围之内。
将无效的参数提前拦截,可以避免不必要的 API 调用和任务失败。
- 输出视频格式:视频裁剪任务默认输出的视频格式 mp4。
- 输出视频分辨率:默认与原始视频文件的分辨率保持一致。
- 输出音频格式:音频裁剪任务默认输出的音频格式为 m4a。
处理耗时与视频时长和分辨率正相关。视频越长、分辨率越大,耗时越长。平均 RTF(处理耗时/原片时长)为 1。