标签:大于 mpeg mpeg4 decode 排查 传递 密文 概述 问题
概述:HLS标准加密问题排查
SubmitTranscodeJobs接口错误提示:
KeyNotFound:出现这种错误提示一般都是使用的加密Service Key 和视频不在同一个区域,例如:华东2的视频,必须使用华东2的KMS生成秘钥。
NoSuchResource:出现这种错误通常代表用户的某种的资源缺失,可以结合message进行排查,如下所示:
1、"can not find cross service token" :表示用户没有通过RAM授权点播操作用户的KMS导致,需要用户先授权。
2、"can not find customer encrypt master key":表示在用户对应区域的KMS中没有拿到响应的加密Service key,可以在神农鼎生成对应区域的Service Key。
3、"can not find customer encrypt info":表示用户传递的密文秘钥不是使用KMS生成或者秘钥生成和视频存储不在同一个区域,需要用户在视频相应区域生成加密秘钥。
4、"can not find customer plaintext":表示用户生成的秘钥解密不到明文秘钥,需要用户使用GenerateDataKey生成加密秘钥。
5、"The specified resource Template does not exist":表示视频对应区域的转码模板数据不存在,这种问题通常是模板添加或者更新接口异常导致,可以联系点播后台进行数据订正。
其他常见问题:
文件未加密:生成的文件未加密,一般都是由于转码模板在设置的时候没有选择HLS加密选项(标准加密、私有加密必须要勾选)
加密转码失败:视频标准加密失败,一般都是由于用户在调用GenerateDataKey生成的秘钥是非AES_128位的,或者秘钥使用自定义字符串生成
解密失败:通常HLS标准加密成功,说明秘钥是没问题的,那么解密失败通常是由于解密接口直接将名称秘钥返回,实际应该是将名称秘钥进行base64decode解码之后返回
MtsHlsUriToken参数重写失效:可能存在以下两点问题
1、对应的域名没有开通CDN的MtsHlsUriToken参数重写功能,需要到CDN神农鼎设置。
2、域名开启了鉴权,MtsHlsUriToken参数重写和鉴权功能是互斥的。
转码失败问题排查:
转封装(原画)失败:通常都是由于格式支持问题导致,例如:wmv、rmvb等格式不支持装封装成mp4;mpeg4不能转封装成m3u8
条件转码导致转码失败:查看用户是否开启对应的条件转码,如果开启则表模板设置的分辨率、码率是否大于源片的分辨率或者码率,如果大于则模板设置是按照源片转码还是不转码,不转码则会以失败的结果返回,这种是正常的转码处理步骤,可建议用户修改条件转码阈值或者移除条件转码限制。
视频转码失败原因及排查步骤:
1、查看源片文件大小是否为0,这种视频通常是没有上传成功但是OSS错误的通知底层触发转码导致。
2、点播神农鼎查看源片地址看是否可以播放,不可播放通常转码都会失败,说明源片存在问题
3、使用ffprobe -show_streams -print_format json -i "文件地址"查看源片是否存在多个音频流,目前转码还不能处理多音轨源片
4、使用ffprobe -show_streams -print_format json -i "文件地址" 或者ffprobe -show_frames -print_format -i "文件地址" 查看文件的音视频流、帧信息,如果存在红色异常提示,基本上可以确定源片封装参数存在问题,例如:源片的NAL数据问题
源片流数据有问题
源片的音视频Codec封装异常:Codec 为data或者binary类型
转码成功但文件异常:
转码视频变形:原因是用户设置转码模板同时设置了宽和高,这样会导致源片的画面比例如果和设置的宽高比例不一致,就发生了形变,解决办法是只设置宽或者高,保持另一边按照源片的画面比例等比输出。
视频转码后时间变长:这种视频一般都是由于源片的pkt_pts_time显示时间过大导致,可以通过ffprobe -show_frames -print_format json -i "源文件地址"查看pkt_pts_time是否异常,一般都是大于源片的真实时长,正常的pkt_pts_time是均匀递增,最大为视频总时长。
视频转封装成m3u8的ts分片大小差别大:一般都是源片的关键帧分布不均匀导致的,可以通过查看ffprobe -show_frames -print_format json -i "源文件地址"命令查看帧信息,看key_frame=1的帧信息中pakt_pts_time是否均匀递增,如果非均匀一般会导致转封装ts切片不均匀。
直播转点播有音频无画面:一般都是用户侧推流的前面几个ts分片全是音频无视频画面导致,而底层转码只会抓取前面几个ts分片的编码信息,如果前面几个ts分片无视频流,则转码器只会读取音频流,从而导致整个视频输出无画面。
其他
转码任务卡住,一直处于转码中:通常发生在直播转点播录制的视频,这种视频限于推流端配置的问题,导致pts_time非均匀增加,而是跳变,这种情况会导致底层转码ffmpeg卡住,无任何转码结果返回,这种视频通常建议用户排查推流端设置问题。?
标签:大于 mpeg mpeg4 decode 排查 传递 密文 概述 问题
原文地址:http://blog.51cto.com/14031893/2330638