转码常见问题
应用发送视频进行转码,音频编码格式为什么变化
在转码过程中,若未指定音频轨道格式,系统默认将其转换为AAC编码格式。
转码是否支持HDR转SDR?为什么使用其他系统的设备录制HDR视频转码会失败
当前转码仅支持HDR vivid至SDR视频的转换,其他HDR格式不支持。可以通过OH_VideoProcessing_IsColorSpaceConversionSupported接口查询当前设备是否支持,具体可以参考:VPE支持规格。
按照原视频的比例缩放设置目标视频的分辨率,为何仍会报告参数错误
需检查设置的目标视频分辨率是否低于240P,目标视频的宽度和高度不能超过源视频的宽度和高度,并且不能设置为奇数值。
视频分辨率的设置方法可参考:获取支持的编解码能力-设置正确的视频宽高。
为什么设置目标分辨率小于源视频分辨率,转码后生成的视频大小反而变大
未设置视频码率时,将采用默认的目标码率。此码率高于源视频的码率,因此转码后生成的视频文件大小反而增大了。
为什么转码前播放的是横向视频,设置分辨率转码后生成的视频播放变为竖向
源视频带有90°的旋转角度,播放的画面是计算旋转角度后的,故用户看到的视频是横向的,因此设置的目标分辨率宽度大于高度。按照设置的目标分辨率进行转码后,得到生成的目标视频。目标视频计算旋转角度后,此时宽度小于高度,播放视频变为竖向。建议通过元数据信息获取视频的宽度、高度,并据此设置目标分辨率的宽度、高度。
调用系统提供的转码能力失败后如何处理
-
需要确认视频与设置的目标视频格式当前转码系统能力是否支持。
当前转码能力支持情况:AVTranscoder支持的格式、AVCodec支持的格式、VPE支持规格。
-
应用在收到error事件后,建议发送原视频;应用在收到complete事件后,建议先调用release再对转码后的视频做发送、上云等操作。