如果转码失败,可能是因为源文件本身问题导致,例如:视频流缺失、metadata存在问题、帧错误、视频头部信息缺失等。通过阅读本文,您可以了解转码异常、转码格式支持及其他常见问题及对应解决方案。
转码异常问题
使用SubmitJobs API提交转码作业,转码失败后如何排查?
确认转码源文件能否在本地正常播放(非常重要),经统计大部分转码失败是因为源文件本身有问题(如:视频流缺失、metadata存在问题、帧错误、视频头部信息缺失等),会触发转码效率监控,导致转码退出。
使用
ffprobe -show_streams -show_format -of json -i [filePath]
命令检查文件meta信息,是否有moov缺失、流异常等问题。使用
ffprobe -show_packets -i [filePath]
命令查看数据码流是否有问题,码流时长与metadata时长是否一致。说明metadata中的时长与实际持续的码流时长不一致可能导致转码失败,对于metadata有问题的文件,建议您先本地使用ffmpeg工具处理,再进行上传转码。
协议不支持。
在错误码表中找到对应的错误码,分析具体失败原因。
如果您添加的文本水印中包含特殊字符,可能会导致水印输出截断或失败,需要在输入前对特殊字符进行转义,或提交工单联系阿里云客服进行兼容处理。
加密转码失败常见错误原因如下:
自定义密钥
加密的明文密钥必须使用GenerateDataKey生成,不能使用自定义字符串生成加密密钥,否则加密转码失败。
加密失败
标准加密转码失败或没有任何加密文件生成,请确认GenerateDataKey生成的密钥类型是否为AES_128密钥,否则加密转码会失败导致不会生成任何加密文件。
解密失败
标准加密文件解密播放失败,请确认是解密接口应该将KMS生成的明文密钥再次base64decode之后给播放器解密播放,不然解密播放会失败。
重复生成
标准加密转码触发都是由用户主动触发,如果重复生成加密文件,请确认是否重复调用 提交转码作业接口。
转码状态一直显示已提交,没有更新。
已提交状态说明转码任务正在准备中(视频下载、视频分析等),单视频过大、比特率、模板设置等都可能导致转码缓慢,请耐心等待。
源视频有两个音频流,转码完成后只剩下一个音频流怎么解决?
提交转码作业时,将参与转码的音频流设置为0,即在Output参数中添加音频流配置"AudioStreamMap":"0:a:0"
。
转码之后,视频的宽高为什么和设置的不一样?
在转码模板中,可以设置横竖屏自适应(LongShortMode)。如果开启了横竖屏自适应,则只需设置宽或高其中的一个,另一个留空(不设置)即可。如果想要输出指定的分辨率,则需要关闭横竖屏自适应。例如:您需要输出竖屏视频,就设置转码模板的宽度,即短边;如果您需要输出横屏,就设置转码模板的高度,即长边。
mp4转码后的m3u8文件播放黑屏,应该如何排查?
请先检查您的源文件视频流是否正常。如果源文件第一个ts没有视频流数据,会导致播放器认为没有画面。如果出现这种情况,可以先将源文件先进行一次mp4转码,再进行m3u8转码,即可正常播放。
视频转码成功后,播放失败,是什么原因导致的?
播放失败可能是因为HTTPS证书过期或配置错误,只能使用HTTP协议进行播放。
源文件为HDR,转SDR后过曝或亮度过暗?
亮度过曝是因为模板未配置自适应导致的,请提交工单联系阿里云客服后台配置自适应;过暗时由于非HDR源文件使用了HDR模板转码导致的,需要在转码前识别源文件是否为HDR文件,再确定要不要进行SDR转码。
媒体处理能判断moov box位置吗?没有moov的文件怎么办?
转码后默认会将moov box放置在mp4文件头部,不支持自定义配置。没有moov的文件暂时无法处理,会导致转码失败。
视频转为音频后时长与源视频不一致?
当前MPS转码逻辑为了保证时长的一致性,会根据输入文件中音频流时长最短的来计时转码。如果源文件中部分切片时间戳不连续,会导致无法获取视频流的媒体信息,影响对于转码时长的估计,产生时长偏差的问题。
转码时设置的音频码率未生效?
如果转码前后的音频编码器一致且转码后的音频码率大于转码前的音频码率,音频码率将会被重置,设置的音频码率不会生效。更多参数信息,请参见提交转码作业。
当API返回数据为空时,应该怎么办?
如果遇到返回数据为空或资源不存在的问题,请检查您的UID、请求区域、资源ID是否正确。
为什么我的作业一直失败?
作业失败有多种原因,请留意返回错误信息。如果您收到预处理失败的错误,说明我们无法解码您的源文件。
基础问题
什么是转码资源?
转码资源是媒体处理执行转码作业的计算节点,一个转码资源同一时间可执行一个转码作业。目前推出的是共享型转码资源。媒体转码为每个用户设置了共享型转码资源的配额,用户最多能同时处理的作业数量不超过该限额。在系统繁忙时,能同时处理的作业数量可能小于共享型转码资源限额。
什么是转码预置模板?
预置模板是一种内置转码模板,其中包含您希望媒体转码在转码过程中应用的各种设置,例如转码输出文件的格式、分辨率和编解码器。媒体处理会智能分析视频特征,推荐该视频适配各种播放终端及网络带宽条件的预置码模板。您创建作业时,可以指定推荐使用的预置模板。在提交转码作业时,若指定不在推荐范围内的预置模板则会返回错误。请参见预置模板详情。
如果你们提供的转码预置模板都不适合,我该怎么办?
您可以创建您自己的自定义转码模板。要了解有关自定义转码模板的更多信息,请参见自定义转码模板。
如何将我的媒体文件上传到OSS?
您可以通过媒体处理控制台或OSS控制台进行文件上传。详细操作,请参见上传视频 。
媒体处理能处理多大的媒体文件?
媒体处理支持不超过100 GB的输入文件。如果您需要处理更大的媒体文件,请提交工单联系我们。
是否可以使用CDN来分发媒体文件?
我们推荐使用阿里云CDN服务来分发您的内容,您可以将存储转码输出内容的OSS Bucket作为阿里云CDN的原站,缩短用户查看媒体文件的延迟,提高用户访问的响应速度,解决网络带宽小、用户访问量大、网点分布不均等问题。更多信息,请参见CDN产品详情页面。具体操作,请参见配置加速域名。
一个转码作业需要多长时间才能完成?
许多因素都会影响到转码速度,例如输入文件时长、分辨率以及比特率、转码模板设置等。一般的作业时长为输入文件时长的0.5倍到2倍之间。如果收到大量作业,它们将被排序处理。
能否实时查询转码进度?
目前不提供实时查询转码进度的接口,您可根据转码进度百分比判断转码进度。
转码进度0%:说明转码任务在准备中(视频下载、视频分析等)。
转码进度20%:说明已经开始执行转码,请您耐心等待。
转码进度100%:说明转码任务已完成。
媒体处理的输入和输出文件是一一对应的吗?能否为一个作业创建多个输出?
每一个转码作业都对应一个输入文件、一个转码模板和一个转码输出文件。媒体转码支持一次提交多个输出,系统会为每个输出创建一个作业。
媒体处理可以同时处理几个作业?
每个用户都有默认的转码资源限制,转码资源分配给管道使用,各管道相互独立。每个管道同时处理的作业数量最多不超过分配给该管道的资源限额。详细说明请参见使用限制。
什么是转码资源?
转码资源是媒体处理执行转码作业的计算节点,一个转码资源同一时间可执行一个转码作业。目前推出的是共享型转码资源。媒体转码为每个用户设置了共享型转码资源的配额,用户最多能同时处理的作业数量不超过该限额。在系统繁忙时,能同时处理的作业数量可能小于共享型转码资源限额。
什么是转码预置模板?
预置模板是一种内置转码模板,其中包含您希望媒体转码在转码过程中应用的各种设置,例如转码输出文件的格式、分辨率和编解码器。媒体处理会智能分析视频特征,推荐该视频适配各种播放终端及网络带宽条件的预置码模板。您创建作业时,可以指定推荐使用的预置模板。在提交转码作业时,若指定不在推荐范围内的预置模板则会返回错误。请参见预置模板详情。
如果你们提供的转码预置模板都不适合,我该怎么办?
您可以创建您自己的自定义转码模板。要了解有关自定义转码模板的更多信息,请参见自定义转码模板。
是否可以提供为我专用的转码器?
媒体处理不支持转码器定制和独占服务。
是否支持实时编码?
媒体处理目前是基于文件的转码服务,暂不支持实时转码。
媒体处理支持在哪些地域使用?
详细信息,请参见服务地域。
媒体处理创建消息主题出现“Only one topic can be created!”错误。
目前媒体处理每个用户只能开一个管道,无法创建多管道,所以会出现Only one topic can be created!这个错误。开启管道或添加管道,请参见创建管道。
媒体处理服务中AliyunAudioCodec中Profile字段的说明。
媒体处理中的音频编解码配置类型中支持以下五种Profile:
aac_low
aac_he
aac_he_v2
aac_ld
aac_eld
格式支持
媒体处理支持的输入格式
容器格式
3GP、AVI、FLV、MP4、M3U8、MPG、ASF、WMV、MKV、MOV、TS、WebM等。
视频编码格式
H.264/AVC、H.263、 H.263+、MPEG-1、MPEG-2、MPEG-4、MJPEG、VP8、VP9、Quicktime、RealVideo、Windows Media Video等。
音频编码格式
AAC、AC-3、ADPCM、AMR、DSD、MP1、MP2、MP3、PCM、RealAudio、Windows Media Audio
媒体处理支持的输出格式
我们建议为P设备输出FLV 文件,为Android设备输出MP4文件,为IOS设备输出TS(M3U8)文件。视频编码格式默认为H.264/AVC,音频编码格式默认为AAC。
媒体处理格式支持详细列表
媒体转码支持格式的完整列表,请参见格式支持。
创建MP4文件时,是否支持边播边下?
我们将MP3的MOOV原子定位于文件的开头,从而使您的播放器能够立即开始播放,无需等到整个文件下载完成。
媒体处理是否支持立体声格式?
从媒体处理输出的已转码音频支持双通道AAC、MP3格式。
安全性
我的媒体文件是否安全?
所有的媒体资源都存储于您自己的OSS Bucket中。您可以通过RAM来授予媒体处理转码访问您特定Bucket中指定的文件。
是否支持加密媒体文件?
媒体处理服务暂不支持加密的输入文件。