通过阅读本文,您可以了解使用智能生产制作服务时常见的问题及解决方法。
目录
FAQ
视频剪辑时如何将成片输出至VOD中?
在调用接口SubmitMediaProducingJob提交剪辑合成作业时,将参数OutputMediaTarget设置为vod-media,参数OutputMediaConfig中的StorageLocation和FileName字段分别设置为VOD媒资文件存储地址和文件名。示例如下所示:
"OutputMediaConfig": {
"StorageLocation": "outin-8e7*******.oss-cn-shanghai.aliyuncs.com",
"FileName": "vod-output.mp4"
}如何获取合成任务的结果?
在调用接口SubmitMediaProducingJob提交剪辑合成作业后会返回JobId,可以通过调用接口GetMediaProducingJob并传入JobId查询剪辑合成作业,根据返回的Status判断合成任务状态。
一个合成任务需要花费多长时间?
通常情况下,合成时间与视频的总时长相当,如:一个5min的成片,合成耗时也需要5min。但由于任务都需要必要的排队、文件分析、下载,即便再短的成片也需要15s以上完成。基于不同的复杂度,一个15s的短视频,合成耗时在10s~2min内波动是正常现象,如果一次性提交大量任务(几万个),后台会排队执行,如有提速需求,可提工单支持。
影响合成耗时的因素?
剪辑合成需要逐帧处理,一般成片分辨率越大、成片时长越长,合成耗时就越长,如果成片中使用了大量特效、转场,或对素材进行了缩放(如:把4k分辨率素材缩放到480p)也会增加合成耗时。有时对时间线错误的使用也会增加合成耗时,如果合成耗时不符合预期,可提工单找技术同学反馈,或加入我们的钉钉答疑群咨询:84650000851。
为什么视频输出时长与预期不符?
转场导致成片时长缩短:转场(Transition)是从前一个素材到后一个素材的过渡,过渡过程中前后两个素材会同时播放,导致后一个素材需要提前开始,故而会缩短成片时长。若要维持成片时长不变,您可以在对素材进行截取时预留出足够的转场时长。或者使用DLTransition在转场过程中补帧,以保持成片时长不变。
使用AI_TTS导致整体时长延长: 当使用AI_TTS时,输出的音轨素材片段的长度大于视频轨的长度,导致输出时间整体延长。您可以参考素材与素材时长自动对齐方案来解决这个问题。
时间线(timeline)设置不当:没有设置In和Out,仅设置了TimelineIn和TimelineOut会导致默认按照原始素材的时长进行处理,建议设置in = 0,out = timelineOut - timelineIn,化对素材的处理。
为什么我合成的视频在xx秒之后会出现黑屏现象?
视频合成后出现黑屏现象,通常源于您的视频素材持续时长小于轨道长度。例如,当您的视频素材仅有6秒,而音轨长度是12s,这会导致6s之后都是黑屏。为解决这一问题,您可以设置视频轨为主轨道来被其他轨道对齐,或者合理规划其他轨道长度,以确保它们与视频轨的长度相匹配。
为什么调用合成任务OpenAPI时提示“TimelineFormatError”?
检查Timeline格式是否符合定义,同时确保没有JSON语法错误。关于Timeline格式详情,请参见Timeline配置说明。更多Timeline示例,请参见视频/图片混剪。
添加字幕后,输出视频种字幕不显示、出现乱码或显示异常
如果您使用的是小语种(韩语、阿拉伯、蒙古语等),可能会出现由字体渲染引起的问题。您可以尝试提交任务时使用默认字体(阿里巴巴普惠体),如果问题仍未解决,您可以通过钉钉搜索群号84650000851,加入智能媒体服务产品群联系我们。
图文、字幕输出位置与预期不符
确保输出画面尺寸与预览一致。您可以使用0~1之间的相对位置值来调整效果,以保持一致的表现。
如果同一轨道上的素材在时间和位置上重叠,可能会触发防碰撞机制,导致位置发生变化。您可以考虑将这些素材拆分放置在不同的轨道上,以更灵活地安排素材位置和时间。
字幕的FontSize与预览或期望的效果不一致
如果您使用的是Effect Type:Text中的FontSize属性,那么该字号会根据素材尺寸和成片尺寸进行缩放。您可将FontSize修改为FixedFontSize将使字号保持不进行缩放调整。
您可以使用SubtitleTrackClip字幕轨来指定您的字幕内容。如果您指定了字幕字体,在某些字体上,字幕的渲染高度(像素)可能会小于字号。您可以通过调整SizeRequestType=Nominal来使字幕的渲染高度(像素值)等于字号。
指定预览尺寸可确保输出的字号与预览时保持一致。例如,若期望输出720P的成片,可指定预览尺寸参数为FECanvas={"Height":720,"Width":1280}。
提交剪辑任务时遇到“Throttling.User”错误
智能媒体服务IMS的写接口通常限制为30QPS。当客户提交任务的并发量较高时,可能会遭遇限流情况。遇到此类情况时,可以选择暂停1秒后再继续提交任务。
以30QPS计算,一分钟可以提交1800个任务,通常能够满足大部分客户的需求。如果业务需求需要在30 QPS以上持续提交几十分钟的任务(例如在运营活动场景中,需要在半小时内合成几百万个视频),可以通过提交工单来申请提高QPS。
索引状态失败如何处理?
在媒资管理页面,选中需要重新分析的媒资后,单击列表下方的索引分析即可重新发起索引分析任务。
调用合成接口提示权限不足或 Forbidden.SubscriptionRequired,如何处理?
该类报错分为两种情况:
账号权限不足:为 RAM 用户授予 AliyunICEFullAccess 或含 ice:SubmitMediaProducingJob 等 Action 的自定义策略,并确认项目所在地域与调用地域一致。
产品权限未开通:报 Forbidden.SubscriptionRequired 说明尚未订阅对应版本或未购买功能体验包,订阅后重试即可。
剪辑合成任务失败率高,如何系统排查?
建议按以下顺序排查:
检查源文件:使用 ffprobe 等工具确认音视频流完整、metadata 无异常,且格式在支持范围内。
检查存储地域:确保输入输出的 OSS Bucket 与智能媒体服务位于同一地域,部分地域(如广州、成都)暂不支持。
检查 Timeline 参数:对照 Timeline 配置说明校验结构与字段名,确认 MediaId、时长等参数正确。
Timeline 配置有哪些高频错误?
特效轨道不支持重叠:需将每个特效放入单独的轨道,避免 EffectTracks 内特效时间重叠。
报轨道为空(Both video tracks and audio tracks are empty):Timeline 未按规范格式传入,需对照文档修正结构。
MediaId 需传入真实媒资 ID,不能使用变量占位格式;字段名需首字母大写。
转场效果需在视频片段中配置转场参数,而非单独新建转场轨道。
不要混用智能语音产品的 SSML 标签,AudioTrackClips 的 Content、Volume 等参数需符合智能媒体服务文档规范。
一键成片如何控制输出数量、标题样式?
输出视频数量由 OutputConfig.Count 控制(取值 1~100,默认 1),适用于脚本化自动成片与智能图文匹配成片。
字间距异常时,在 SubHeadingConfig 中设置 ModifySpacing 为 true 并适当调小 Spacing 值。
单个标题仅支持一种颜色,需多颜色时可通过 TitleArray 配置多个标题并分别指定颜色。
文案含特殊字符导致生成失败时,需按 SSML 要求对特殊字符转义后重新提交。
高级(AE)模板上传失败的常见原因?
模板包需同时满足:使用 .zip 格式(不支持 rar、7z);包名不含中文或特殊符号;包内含 assets、config.json、datas、ui 四个根目录;当前地域支持高级模板。另需注意,智能媒体服务不支持导出 AE 工程,仅支持导出 Premiere Pro 工程。
合成产生的媒资需要手动清理吗?
通过 API 产生的成片会自动注册为媒资并产生存储与管理计费,不再使用时请调用 DeleteMediaInfos 删除。同时避免两个任务输出到同一个存储地址,防止相互覆盖导致成片异常。
其他高频问题速查
获取成片地址:合成任务为异步任务,提交后调用 GetMediaProducingJob 查询任务状态并获取输出成片地址,也可通过事件回调(消息队列)接收结果,注意勾选对应消息类型。
合成后末尾黑屏:多为视频轨与音频轨长度未对齐,可调整最后一个素材的 ClipId 与 ReferenceClipId 使两轨对齐。
自定义字体:上传字体文件后系统会生成对应的 MediaId,在 customFontList 中传入这些 MediaId 即可使用。
实景抠图输出透明背景:不传背景图参数时可输出带 Alpha 通道的 WEBM 文件;实景抠图需要纯色背景,居家、户外等复杂背景不适用。
直播自动剪辑切片:调用 SubmitLiveEditingJob 接口实现。
回调不实时:事件回调不保证与任务完成时刻严格同步,不建议将业务逻辑完全依赖回调。建议以“轮询任务状态为主、回调为辅”,轮询间隔建议不低于 5 秒。
一键成片除素材外还能定义什么:片头、片尾、标题、字幕、背景音乐、口播文案均可通过时间线或模板参数定义。模板标识在控制台的模板工厂中查看,存储空间的访问域名在对象存储控制台的概览页查看。
如何定位剪辑任务失败的具体原因?
先自行取到报错信息,再对照原因处理,无需等待人工查询。
拿到提交任务时返回的 JobId(控制台任务列表也可查看)。
调用 GetMediaProducingJob 并传入 JobId,先看 Status 判断任务阶段,再读取返回中的报错信息。
按报错内容对应处理:属于账号类(如 Forbidden.SubscriptionRequired、权限不足、账号欠费)先处理账号状态;属于参数类(如 TimelineFormatError、轨道为空、字段类型错误)先修正参数;属于素材类(格式不支持、流信息异常)先校验源文件。
提工单时请同时提供 JobId 与完整请求参数,仅提供“任务失败”无法定位。
任务提交失败,报 VideoTracks 或 AudioTracks 相关的参数错误?
时间线中的 VideoTracks、AudioTracks、ImageTracks、SubtitleTracks 均为数组类型,必须使用 [ ] 包裹。误传为对象 { } 时任务会直接失败。只有一个轨道时也需写成单元素数组,例如 "VideoTracks": [{"VideoTrackClips": [...]}]。
报“Track duration adaptation and material alignment cannot be used at the same time”如何处理?
轨道时长自适应与素材对齐是两项互斥能力,不能在同一任务中同时使用。
轨道时长自适应:由 TrackShortenMode、TrackExpandMode 控制(如 AutoSpeed)。
素材对齐:由 ClipId、ReferenceClipId 控制。
处理方式:在时间线中搜索上述字段,二选一删除。需要自动调速对齐时保留 TrackShortenMode/TrackExpandMode;需要按指定素材对齐时保留 ReferenceClipId。
报“User not authorized to operate on the specified resource”或 403 如何处理?
该报错指向输入文件地址无法被读取,请按顺序排查。
优先使用 https 开头的完整地址传参;部分自拼接的地址格式会在校验环节被拒绝。
确认存储空间与智能媒体服务位于同一地域,且服务关联角色已完成授权。
子账号调用时,确认已获得相应的对象存储读取权限与角色扮演权限。
任务长时间停留在处理中,如何判断是否异常?
先对照耗时预期:合成耗时通常与成片时长相当,再短的成片也需 15 秒以上;一次性提交大量任务时后台会排队。
处理中状态不代表子任务全部正常。批量类任务存在主任务已完成、部分子任务失败的情况,需逐个查询子任务结果,不要只看汇总状态。
若耗时明显超出预期(如短片超过 30 分钟仍未完成),提工单时请提供 JobId 与提交时间。
单个任务产生异常高额费用,如何提前避免?
最常见原因是时间线参数设置不当,导致实际成片时长远超预期(曾出现单任务成片时长达十万秒量级的情况),而剪辑按处理时长计费。建议在批量提交前做两项校验:
校验每个素材的 In、Out 与 TimelineIn、TimelineOut 是否成对设置。只设 TimelineIn/TimelineOut 会按原始素材时长处理。
在业务侧加一道成片时长上限校验,超过预期阈值直接拦住不提交;先用 1~2 个任务试跑并核对账单,再批量放量。
上传的素材提交后失败,对素材有什么要求?
优先使用 MP4、MOV 等常见容器格式的音视频文件,并确认文件可正常播放。提交前建议用 ffprobe 确认音视频流完整、元数据无异常;编码异常、缺少视频流或使用小众容器格式的文件容易在分析阶段失败。图片素材在部分智能成片场景下的效果不如视频素材稳定,如成片未按预期使用全部图片,可先改用视频素材验证。
删除媒资后,存储空间里的文件为何还在?
媒资记录与物理文件是两个层面,删媒资默认不会删除对象存储中的源文件,存储费用也不会自动停止。
需同步删除物理文件时,调用删除接口时显式指定删除物理文件的参数(如 DeletePhysicalFiles 设为 true)。
上传类素材与合成产物的行为不完全一致:通过接口产生的合成成片会自动注册为媒资,删除时可能需要额外清理对象存储中的输出文件。
批量清理建议的顺序:先调用 DeleteMediaInfos 删除媒资记录,再在对象存储侧确认对应目录已清空。
智能媒体服务返回的私有化 OSS 链接默认有效期是多久?
系统默认返回的私有化 OSS 链接有效期一般为 1 小时;如需确认具体的过期时间点,可通过链接中的 expier 参数查询。
媒资库显示有存储占用但无具体文件列表怎么办?
出现该问题通常是因为视频源文件存储在关联的 OSS 存储空间中,而删除时未联动删除 OSS 源文件。排查及解决步骤如下:
确认当前账号下智能媒体服务是否已授权访问对应的 OSS 存储空间。
为智能媒体服务角色赋予 OSS 的删除权限(可在阿里云控制台直接配置,无需代码)。
授权完成后,重新执行删除,系统将联动删除 OSS 中的源文件及转码、剪辑等衍生文件,从而释放存储占用并同步更新媒资库列表。