智能横转竖接入

最近更新时间:2025-07-03 16:41:22

我的收藏

介绍

什么是横转竖

横转竖不是单纯的旋转,而是通过识别感兴趣区域 (ROI,Region of Interest),将视频裁剪成一定比例的适合移动设备播放的视频。横转竖提供批量生成短视频的能力,能够将现有的横屏视频资源转换成竖屏视频资源。
转竖屏时会跟随ROI区域(针对赛事视频,一般为球所在的位置)智能裁剪
转竖屏时会跟随ROI区域(针对赛事视频,一般为球所在的位置)智能裁剪


免费体验

1. 打开 体验馆,进入横转竖体验页,在右侧选择点播文件,选择场景类型及画面比例,单击开始处理。
2. 等待处理完成后即可查看结果。
说明:
体验馆功能较简单,仅用于体验基础效果,测试完整效果请使用 API 接入。


输入及输出格式

输入视频文件支持以下格式:
编码标准:MPEG 、H.264、H.265。
封装格式:.mp4、.avi、.mkv、.mov、.mpg。
输出视频文件统一使用 H.264 编码、.mp4 格式。可以使用 Chrome 浏览器预览视频。如果需要转码和转封装格式,可以在本地处理或使用 MPS 提供的音视频转码功能。

接入方式一:API 发起任务

1. 调用 API

您可以直接向腾讯云发起 POST 请求,接口请求域名:mps.tencentcloudapi.com。调用 媒体处理接口 ,选择 AiAnalysisTask 任务,将 Definition 设置为 28(预设智能横转竖模板)。ExtendedParameter 为扩展参数,其值为转义后的 json 字符串,具体参数含义见下文 扩展参数说明 部分。




请求示例

说明:
目前智能横转竖功能支持两种输入来源:腾讯云对象存储(COS)、URL 下载地址。暂不支持 AWS S3。
{
"Action": "ProcessMedia",
"Version": "2019-06-12",
"InputInfo": {
"Type": "URL",
"UrlInputInfo": {
"Url": "https://..." // 替换成需要横转竖的 URL,或者参考“发起媒体处理”接口文档
}
},
"OutputStorage": {
"CosOutputStorage": {
"Bucket": "BucketName",
"Region": "BucketRegion"
},
"Type": "COS"
},
"OutputDir": "/mycos/htv_test/result/",
"AiAnalysisTask": {
"Definition": 28, // 预设横转竖模版 ID
"ExtendedParameter": "{\\"htv\\": {\\"AlgorithmType\\": 1}}"
}
"TaskNotifyConfig": {
"NotifyType": "URL",
"NotifyUrl": "http://callback_url"
}
}

2. API Explorer 快速验证

您也可以通过 API Explorer 实现快速验证,进入页面填写相关参数信息后即可发起 API 在线调用。



注意:
API explorer 会自动转换,ExtendedParameter 填写对应 json 即可,不用转换成字符串。如果是直接调用 API,那么需要对 json 字符串转义。

3. 扩展参数说明

扩展参数可以实现特定的能力。由于媒体处理接口无法解析扩展参数,因此 ExtendedParameter 其值为序列化的 json 字符串。传入智能横转竖的 ExtendedParameter 需要放在 htv 下面。以下是一个序列化前的 json 示例,使用 API 时请注意传入转义后的参数:
{
"htv": {
"AlgorithmType": 3,
"Ratio": "16:9",
"ModelName": "sport",
"FaceDetect": 1,
"FaceDetectConfig": {
"FaceScoreThd": 80,
"FaceAccuracy": "Efficiency",
"FallbackConfig": {
"NoFaceDetect": "Scale",
"DoubleFace": "SplitScreenVertical",
},
},
"OutputPattern": "{sessionId}-{timestamp}"
"BlurWeight": 41,
"SmoothWeight": 0.75, //
}
}

// 转义前(可在API explorer中使用): {"htv": {"AlgorithmType": 3, "FaceDetectConfig": {"FaceScoreThd": 80}, \\"OutputPattern\\": \\"htv-{sessionId}-{timestamp}\\"}}
// 转义后(直接调用API时需传入转义后参数): {\\"htv\\": {\\"AlgorithmType\\": 3, \\"FaceDetectConfig\\": {\\"FaceScoreThd\\": 80}, \\"OutputPattern\\": \\"htv-{sessionId}-{timestamp}\\"}}
名称
类型
描述
AlgorithmType
Integer
指定算法类别:
1:处理速度较快的通用模型。
2:支持多种模型的算法和定制优化。
3:使用精确的人脸检测算法,两个人脸出现时,上下分割显示人脸,尽可能将人脸居中显示。
5:直接缩放视频,居中放在竖屏。使用毛玻璃模糊处理后的图片作为背景。
Ratio
String
视频横竖比,字符串类型,内部进行解析。如果解析失败会取默认值 9:16 的比例进行裁剪。(例如:"9:16",转换成横比竖 9:16 视频,高度取原视频高度)
FaceDetectConfig
Object
人脸检测相关配置。
OutputPattern
String
用于自定义文件名, timestampsessionId为可用替换参数。
例如:"htv-{sessionId}-{timestamp}",则输出文件命名为 htv-xxxx-202412250000,其中xxxx 是任务的真实 sessionId。
如不指定,默认输出文件名为 "htv-{sessionId}"
BlurWeight
Integer
模糊参数,数值越大模糊效果越重。参数数值过大会影响处理速度。
SmoothWeight
Float
0-1 之间的浮点数,控制平滑速度参数。数值越小镜头移动越快。
FaceDetectConfig
名称
类型
描述
FaceScoreThd
Integer
人脸检测算法的识别阈值,仅当人脸识别评分超过该阈值时,才将其视为有效的人脸。
FaceAccuracy
String
可选,人脸检测算法执行次数,默认使用 Balance,其他可选项 Efficiency,Precision。
FallbackConfig
Object
人脸检测的兜底策略,包括无人脸,两个人脸的兜底策略。
FallbackConfig
名称
类型
描述
NoFaceDetect
String
可选值:Scale,ScaleWithoutBlur。默认值 ScaleWithoutBlur。
DoubleFace
String
可选值:Scale,ScaleWithoutBlur,SplitScreenVertical。默认值 SplitScreenVertical。
Scale:缩放居中该帧,背景使用毛玻璃效果处理后的图片替换。
ScaleWithoutBlur:缩放居中该帧,背景使用纯黑替换。
SplitScreenVertical:双人脸默认处理逻辑,上下分屏,两个人脸居中放在上下两个区域。

4. 查询任务结果

任务回调:在使用 ProcessMedia 发起媒体处理任务时,可以通过 TaskNotifyConfig 参数设置回调信息。当任务处理完成后,会通过配置的回调信息回调任务结果,您可以通过 ParseNotification 解析事件通知结果。下方列出了相关数据结构以供参考。
调用 DescribeTaskDetail 接口查询任务结果:
若您是直接使用 API 关联模板发起任务,即按上文接入方式一发起的任务, ProcessMedia 返回的 TaskId 中会包含“WorkflowTask”(例如:24000022-WorkflowTask-b20a8exxxxxxx1tt110253),此时您需要解析 DescribeTaskDetail 接口 -> WorkflowTask ->AiAnalysisResultSet字段获取任务结果。下方列出了 相关数据结构 以供参考;
若您在使用 ProcessMedia 发起任务时,不是按照上文接入方式一所述的在AiAnalysisTask -> Definition 中关联模板 ID,而是在 ScheduleId 字段中填入编排 ID(下文自动触发任务 描述了如何创建编排),则返回的 taskid 中会包含“ScheduleTask” (例如:24000022-ScheduleTask-774f101xxxxxxx1tt110253),此时您需要解析 DescribeTaskDetail 接口 -> ScheduleTask -> ActivityResultSet 字段获取任务结果;
若您从控制台发起任务,即按下文接入方式二发起的任务,在控制台任务管理列表中会显示任务 ID和任务结果,您也可以解析 DescribeTaskDetail 接口 -> ScheduleTask -> ActivityResultSet 字段获取任务结果。
控制台查询任务:进入控制台 点播任务管理,任务列表中会展示刚发起的任务。



当子任务状态为“成功”时,您可以进入 COS Bucket > 输出 Bucket 中,找到您的输出目录,目录下htv-开头的文件即为智能横转竖处理后的输出视频。




相关数据结构

AiAnalysisTaskHorizontalToVerticalResult
智能横转竖结果类型。
被如下接口引用:DescribeTaskDetail, ParseNotification。
名称
类型
描述
Status
String
任务状态,有 PROCESSING,SUCCESS 和 FAIL 三种。
ErrCode
Integer
错误码,0:成功,其他值:失败。
Message
String
错误信息。
Input
AiAnalysisTaskHorizontalToVerticalInput
智能横转竖任务输入。
Output
AiAnalysisTaskHorizontalToVerticalOutput
智能横转竖任务输出。 注意:此字段可能返回 null,表示取不到有效值。
AiAnalysisTaskHorizontalToVerticalInput
智能横转竖任务输入类型。
被如下接口引用:DescribeTaskDetail, ParseNotification。
名称
类型
描述
Definition
Integer
视频智能横转竖模板 ID。
AiAnalysisTaskHorizontalToVerticalOutput
智能横转竖结果信息。
被如下接口引用:DescribeTaskDetail, ParseNotification。
名称
类型
描述
Path
String
视频智能横转竖列表。
OutputStorage
TaskOutputStorage
智能横转竖视频的存储位置。 注意:此字段可能返回 null,表示取不到有效值。

接入方式二:控制台发起任务(零代码)

1. 创建任务

1.1 进入 媒体处理控制台,依次点击创建任务 > 快速创建点播处理任务。



1.2 首先指定输入视频文件,目前智能横转竖功能支持两种输入来源:腾讯云对象存储(COS)、URL下载地址。暂不支持 AWS S3。
1.3 然后,在步骤“处理输入文件”处,加入智能分析节点。



在弹出的智能分析设置抽屉中,选择预设智能横转竖模板(模板ID:28)
说明:
若您期望给自定义智能分析模板开启智能横转竖功能,可以联系我们并同步模板 ID,腾讯云媒体处理开发人员将为您配置并启动智能横转竖功能。



1.4 最后,指定输出视频保存路径后,即可单击创建发起任务。




2. 查询任务结果

参考上文 查询任务结果

3. 自动触发任务(可选能力)

若您希望实现:在 COS 桶中上传了视频文件,自动按照预设参数进行智能横转竖处理。您可以:
3.1 在创建任务时单击保存此编排,在弹出的窗口中配置触发 Bucket、触发目录等参数。



3.2 然后进入点播编排列表,找到刚创建好的编排,在启动处开启按钮即可。后续在触发目录下新增的视频文件,将自动按照该编排预设的流程和参数发起任务,并将处理后的视频文件保存到编排配置的输出路径中。
注意:
启用编排成功后,需要3~5分钟才会生效。