数据万象
常见问题中心 > 数据万象 > 媒体处理 > 转码时如何设置分辨率
创建视频转码任务时,如何设置分辨率参数才能实现想要的效果?本文介绍了设置转码参数的配置方法,并提供了常见场景的参数组合,以便用户结合自己的需求去使用视频转码功能。


分辨率相关参数

创建转码任务时,可以使用 转码模版 指定分辨率相关参数,也可以直接在 转码任务 中指定分辨率相关参数。分辨率相关参数如下:
目标分辨率宽和高:Video.Width 和 Video.Height。
长短边自适应:Video.LongShortMode(以输入视频的长边作为宽,短边作为高)。
分辨率调整方式:TransConfig.AdjDarMethod(有保持源宽高比、直接缩放、裁剪缩放、补黑边四种方式)。
检查源分辨率小于目标分辨率:TransConfig.IsCheckReso(检查源视频分辨率是否小于目标分辨率)和 TransConfig.ResoAdjMethod(源视频分辨率小于目标分辨率时的处理方式)。


参数配置步骤

配置参数时可以参考以下步骤:

步骤一:设置分辨率宽和高

分辨率宽和高的具体参数说明如下:
参数
说明
宽:Video.Width 高:Video.Height
宽高都为空时,采用源视频的分辨率。不希望改变原视频分辨率时,选择此设置。
一边为空时,另一边按源视频分辨率等比缩放。如果输入视频的大小不同,又不希望改变原宽高比时,选择此设置。
宽高都不为空时,按指定的宽和高进行转码。需要将视频限制在固定的宽和高时,选择此设置。
模版参数设置如下:



如果不需要改变视频分辨率,则选择【保留原视频分辨率】,不需要输入宽和高。
如果需要设置宽/高,请选择【使用自定义分辨率】,其设置效果如下:





步骤二:是否按照长短边设置分辨率(可选)

说明:
步骤二是可选的:如果选择【保留源视频分辨率】(指定分辨率的宽和高都是空),则不需要此步骤。
如果输入视频中可能有竖版视频,需要开启长短边自适应。长短边自适应参数说明如下:
参数
说明
Video.LongShortMode
开启后,自动识别宽对应输入视频的长边,高对应输入视频的短边。

模版参数设置如下:




如果输入视频中可能有竖版视频(竖版视频是指视频画面的高>宽),则需要开启长短边自适应(控制台选择【按长短边设置】),设置效果如下:



注意:
1. 竖屏显示的视频不代表里面的视频内容就是竖版,可能是横版视频居中显示在屏幕中间,上下是播放器自动填充的黑边,这种视频本身还是横版。
2. 竖屏显示的视频可能视频内容是横版的,视频信息中加了旋转角度90使画面效果展示为竖版。



步骤三:设置分辨率调整方式(可选)

说明:
步骤三可选:仅当指定分辨率的宽和高都不为空时(按指定的宽和高进行转码),才需要此步骤。
如果同时设置了宽和高,在源视频宽高比和指定宽高比不一样时,推荐使用分辨率调整参数指定调整方式。分辨率调整方式参数说明如下:
参数
说明
TransConfig.AdjDarMethod
默认是保持源宽高比:按照源视频宽/高比进行缩放;如果源视频宽高比和设置的分辨率宽高比不一样,则显示宽高比(SAR: sample_aspect_ratio)和源视频保持一致,实际的分辨率(DAR: display_aspect_ratio)和参数设置的分辨率保持一致。API 接口为 none
直接缩放:按照设置的宽、高进行强制拉伸。API 接口为 scale
裁剪缩放:按照源视频宽高比进行缩放,超出的区域剪裁去掉。API 接口为 crop
补黑边:按照源视频宽高比进行缩放,宽高比不一致的区域填充黑边。API 接口为 pad
模版参数设置如下:




分辨率调整方式支持保持源宽高比、直接缩放、裁剪缩放、补黑边四种,其设置效果如下:




注意:
AdjDarMethod 默认是保持源视频宽高比,此方式会设置 SAR 和源视频宽高比保持一致(源视频 SAR 有效的情况下),但实际视频分辨率是和设置的宽高一致。
当使用播放器播放输出视频时,如果播放器支持解析 SAR,则播放时的画面是和源视频比例一样的;如果播放器不解析 SAR,则播放画面比例和指定的宽高比一样,可能产生画面变形。
查看输出视频的分辨率时,宽高和指定分辨率宽高一样。



步骤四:检测源视频分辨率是否小于目标分辨率(可选)

说明:
步骤四是可选的:如果选择【保留源视频分辨率】(指定分辨率的宽和高都是空),则不需要此步骤。
如果输入视频的尺寸不一,转码处理时只想把大尺寸视频变小,不想把小尺寸视频放大,建议开启检测。检测参数说明如下:
参数
说明
TransConfig.IsCheckReso
默认关闭,即:不检查源分辨率和目标分辨率的小大关系
选择开启后,当检测到源视频分辨率小于设置的分辨率时,可以指定处理方式 ResoAdjMethod。具体的分辨率比较逻辑如下:
如果仅设置了宽,检查源视频的宽 < 设置的宽。
如果仅设置了高,检查源视频的高 < 设置的高。
如果同时设置了宽和高,检查源视频的宽 < 设置的宽 并且 源视频的高 < 设置的宽。
TransConfig.ResoAdjMethod
开启 IsCheckReso,支持以下两种处理方式:
使用原视频分辨率(默认):设置的分辨率失效,按照源视频的分辨率转码
返回转码失败:停止转码

模版参数设置如下:




检测到源视频分辨率 < 目标分辨率时,可以选择【使用源视频分辨率】或【返回转码失败】,避免小视频被放大。视频分辨率设置效果如下:






常见场景

场景一:所有视频转码成720p规格

具体场景:如果输入视频的画面比例不一样,且既有横版视频又有竖版视频,希望将所有视频转码处理为720p的规格,其中输入的小视频不做额外处理。
推荐设置:分辨率宽设为空、高设为720px +开启长短边自适应 + 开启检测视频分辨率、 源视频分辨率小于设置的分辨率设为返回转码失败。



场景二:强制指定视频宽高为1280*720

具体场景:需要将所有视频转码成一个固定的宽高以便后续添加画面特效,并且不能丢失画面内容,且需要兼容所有播放器来播放。
推荐设置:分辨率宽设为1280px 、高设为720px + 开启长短边自适应 + 设置分辨率调整方式设为补黑边 + 默认关闭检测视频分辨率。