云服务器内容精选

  • 操作步骤 登录MetaStudio控制台。 在“工作台”界面,单击“分身视频制作”下方的“开始创建”。 进入视频制作界面,界面详情如图1所示。操作说明如下所示: 视频素材区域,除了系统预置素材外,角色还可以自定义新增分身数字人,背景、PPT、贴图、视频和音乐还可以从本地导入使用。 从视频素材区域添加到画布区域中的PPT、贴图、视频和数字人支持进行图层管理,如:上移一层、下移一层、置顶、置底、应用到全局、删除等。还支持设置大小,拖动位置。 可以单击画布区域右下方的图标,切换视频的分辨率为横屏“16:9”或竖屏“9:16”。 画布制作完成后,需要制作语音。 支持下述2种方式生成语音。每个场景仅支持选择一种音频生成方式。 文本驱动 在文本输入框中,输入文本内容,以生成音频,如图1所示。 文本示例:今天是9月26日,星期二,天气晴朗,欢迎大家到访。我们精心布置了现场,室内摆放了各类植物和鲜花,场地宽敞明亮,足够大家在室内共同交流和活动。 图1 文本驱动 文本内容的操作说明如表1所示。 表1 操作说明 操作 说明 插入停顿 将鼠标放在需要停顿的文字右侧,单击“插入停顿”。在弹出的提示框中,选择“换气”或者停顿的时间间隔,实现阅读的停顿。 多音字 如果文字存在多个发音,可选中文字,单击“多音字”,在弹出的提示框中,选择正确的发音。 局部语速 选中需要设置语速的文字段,设置局部语速。 取值范围为[0.5x,2x],含义如下所示: 0.5x:音频使用0.5倍速播放,即减速播放。 2x:音频使用2倍速播放,即加速播放。 全局语速 设置全局语速。 取值范围为[0.5x,2x],含义如下所示: 0.5x:音频使用0.5倍速播放,即减速播放。 2x:音频使用2倍速播放,即加速播放。 亲切女声 默认为“亲切女声”。 如需更换声音,可单击“亲切女声”,在弹出的对话框中,选择需要的声音。 无标注的系统声音,均为免费声音,可直接选用。 标注有“第三方”的声音,需要购买激活后才能使用,操作请参考(可选)购买第三方声音。 试听 单击“试听”,可试听语音效果。 图标 单击图标,放大展示“文本驱动”页签,提升用户操作体验。 单击“确定”,可关闭页面。 图标 调整视频播报的音量。 图标 单击图标,在视频中添加字幕。 仅文本驱动的方式,支持开启字幕功能。音频驱动方式,暂不支持。 图标 展示当前视频的分辨率。 图标 第一次单击可收起“文本驱动/视频驱动”板块的配置,第二次单击后恢复展示。 音频驱动 需从本地上传已录制好的音频。音频文件格式需要为WAV、MP3或M4A,大小不能超过100M。 可单击“导入”上传,或直接拖拽本地音频文件至提示区域中,完成上传。单击图标,可试听音频效果。 图2 音频驱动 音频制作完成后,可单击“音量”,调整音频的音量。 上述操作全部完成后,第一个场景的视频内容已制作完成。 如果还需要制作更多场景,可单击“场景”区域的“+”图标,新增场景。制作过程参考第一个场景即可。 如果视频内容是分享PPT,可在“PPT”页签,先从本地导入PPT,再插入需要分享的PPT页。每页PPT会对应生成一个场景,依次设置完成所有场景即可。 所有场景均设置完成后,单击界面右上角的“合成视频”,弹出“合成设置”对话框。 参数设置说明如下所示: 分辨率:根据实际情况,选择视频的分辨率。 导出为:输入导出文件的名称。 单击“确定”,弹出“视频制作任务中心”对话框。 可查看视频合成任务的进度,直至合成成功。 单击“合成成功”状态右侧的图标,进入资产详情页面,如图3所示。 单击“预览”,可以看到合成的视频。预览过程中,可全屏播放,或下载视频到本地。 图3 视频详情 如果用户对合成的视频不满意,可以参考下述步骤,进行二次制作,重新合成。 在左侧导航栏中,选择“工作台”。 在“最近项目”区域,选择“视频项目”页签后,右侧页签选择“视频草稿”,查看视频草稿列表,如图4所示。 图4 视频项目 将鼠标移至卡片的文字描述区域,单击“编辑视频”,如图5所示。 进入视频编辑界面,更新视频内容,重新合成视频。 图5 我的视频
  • 视频制作界面说明 用户启动制作视频时,可以先了解下视频制作界面详情。 视频制作界面如图1所示。各区域详细说明,如表1所示。 用户使用数字人形象创作的视频,都会自动保存在MetaStudio控制台首页“最近项目”区域的“我的视频”页签中。用户可以根据实际情况,进行二次创作。 图1 视频制作界面 表1 界面说明 序号 区域名称 说明 1 视频素材区域 设置视频的场景,包括如下内容: 模板:系统预置视频模板列表。支持基于系统预置模板,一键快速制作数字人视频。 注意:只有管理员可以自定义新增模板。 角色:自动展示系统预置的分身数字人列表,用户可以直接使用已有的数字人去创作生成视频。如果预置的数字人不满足用户需求,单击“定制数字人”,可以定制自己需要的数字人形象。 背景:背景图片列表,可本地导入图片。支持更换背景图。 PPT:PPT文件列表,需要用户从本地导入后使用。 贴图:各类贴图列表,可本地导入素材。支持在当前画面基础上,增加贴图,丰富视频画面。 视频:各类无声音视频列表,可本地导入视频文件。支持添加为背景视频。 音乐:各类音乐列表,可本地导入音频文件。支持添加为背景音乐。 文本:用于在画布中添加文本。 2 画面布局区域 画布区域,可以预览视频制作的效果。 3 音频制作区域 视频的音频制作区域,支持选择下述1种方式生成音频。 文本驱动:通过输入文本的方式生成音频。文本支持插入停顿、调整语速,如果是多音字可选择正确的发音,还可以选择不同的声音,试听生成的音频效果。如果选择“文本驱动”的方式,支持开启字幕展示功能。 音频驱动:从本地上传音频文件,作为视频的语音。如果使用音频驱动,暂不支持生成字幕。 还可以设置音频的音量,和调整画布的横竖屏展示。 4 视频场景区域 如果一个视频包含多场景,可以通过服务定义的场景依次制作,顺序播放。 5 文件设置区域 从左往右依次为: 单击文件名称右侧的图标,可自定义视频草稿的名称。 单击图标,保存视频制作任务。 单击图标,弹出“视频制作任务中心”对话框,可以看到视频制作任务列表,及当前任务的合成进展。 单击“合成视频”,合成数字人视频。 父主题: 视频制作
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求ID。 表5 响应Body参数 参数 参数类型 描述 count Integer 视频制作任务总数。 jobs Array of DigitalHumanVideo objects 视频制作任务列表。 表6 DigitalHumanVideo 参数 参数类型 描述 job_id String 任务ID。 state String 任务的状态。 WAITING:等待 PROCESSING:处理中 SUCCEED:成功 FAILED:失败 CANCELED:取消 start_time String 数字人视频制作开始时间。 end_time String 数字人视频制作结束时间。 duration Float 数字人视频内容时长。 output_asset_config OutputAssetInfo object 输出资产信息。 error_info ErrorResponse object 错误信息。 create_time String 任务创建时间。 lastupdate_time String 任务更新时间。 表7 OutputAssetInfo 参数 参数类型 描述 asset_id String 输出视频资产ID。 asset_name String 输出视频资产名称。 cover_url String 视频封面URL。 preview_video_url String 预览视频下载URL。URL有效期24小时。 说明: 分数数字人视频制作不支持预览。 表8 ErrorResponse 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 401 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 404 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取。 响应消息头中X-Subject-Token的值。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 格式为(YYYYMMDD'T'HHMMSS'Z')。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 X-App-UserId 否 String 第三方用户ID。 说明: *不允许输入中文。
  • 响应示例 状态码: 200 处理成功返回。 { "count" : 1, "jobs" : [ { "job_id" : "26f06524-4f75-4b3a-a853-b649a21aaf66", "state" : "SUCCEED", "start_time" : "2022-01-18T16:29:36Z", "end_time" : "2022-01-18T16:30:36Z", "duration" : 60, "output_asset_config" : { "asset_id" : "942e65a5fd219a2e01fb08d881cfadb9", "asset_name" : "One Day", "cover_url" : "https://digitalhuman.obs.cn-east-3.myhuaweicloud.com:443/0d697589d98091f12f92c0073501cd79/942e65a5fd219a2e01fb08d881cfadb9/20d367508e62d3d4ad608cedbe81bd35.png?AccessKeyId=XCQKTA8IWQPCAUQS4SDA&Expires=1671241457&Signature=zVGMVbI5ji9rr8epD1Cir5OGIRk%3D" }, "error_info" : null, "create_time" : "2022-11-30T06:59:56Z", "lastupdate_time" : "2022-11-30T07:00:09Z" } ] } 状态码: 400 { "error_code" : "MSS.00000003", "error_msg" : "Invalid parameter" } 状态码: 401 { "error_code" : "MSS.00000001", "error_msg" : "Unauthorized" } 状态码: 404 { "error_code" : "MSS.00000002", "error_msg" : "Not Found" } 状态码: 500 { "error_code" : "MSS.00000004", "error_msg" : "Internal Error" }
  • 响应示例 状态码: 400 { "error_code" : "MSS.00000003", "error_msg" : "Invalid parameter" } 状态码: 401 { "error_code" : "MSS.00000001", "error_msg" : "Unauthorized" } 状态码: 500 { "error_code" : "MSS.00000004", "error_msg" : "Internal Error" }
  • 请求示例 PUT https://metastudio.cn-north-4.myhuaweicloud.com/v1/70b76xxxxxx34253880af501cdxxxxxx/digital-human-video-scripts/24bad716-87b1-45e5-8912-6102f7693265 { "script_name" : "大自然的传说", "script_description" : "课件", "model_asset_id" : "a5d295cdb345c11bd9f36bc22ced3a7a", "scene_asset_id" : "7ad01cf66f6cc54e45a2021558b7fbb0", "voice_config" : { "voice_asset_id" : "a5d295cdb345c11bd9f36bc22ced3a7a" }, "video_config" : { "codec" : "H264", "bitrate" : 4000, "frame_rate" : "25", "width" : 1920, "height" : 1080 }, "shoot_scripts" : [ { "sequence_no" : 0, "shoot_script" : { "text_config" : { "text" : "大家好,我是云笙" }, "animation_config" : [ { "animation" : "7affc1c9d10b9779957fce7d4aecbd35" } ], "background_config" : [ { "background_type" : "IMAGE", "background_config" : "978f893e1de4553c183b7a805e6290f5" }, { "background_type" : "AUDIO", "background_config" : "b99ac26b53c555c5b89110256197d467" } ] } } ] }
  • 响应参数 状态码: 200 表23 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求ID。 表24 响应Body参数 参数 参数类型 描述 script_id String 剧本ID audio_files ShootScriptAudioFiles object 用于语音驱动的音频文件上传URL列表。 表25 ShootScriptAudioFiles 参数 参数类型 描述 audio_file_url Array of ShootScriptAudioFileItem objects 用于语音驱动的音频文件上传URL。 表26 ShootScriptAudioFileItem 参数 参数类型 描述 sequence_no Integer 剧本序号。 audio_file_upload_url String 语音驱动音频文件上传URL。创建和更新脚本时返回。单个文件最大100M。支持上传MP3/WAV/M4A文件。 audio_file_download_url String 语音驱动音频文件下载URL。查询脚本详情时返回。 状态码: 400 表27 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 401 表28 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表29 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取。 响应消息头中X-Subject-Token的值。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 格式为(YYYYMMDD'T'HHMMSS'Z')。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 X-App-UserId 否 String 第三方用户ID。 说明: *不允许输入中文。
  • 响应示例 状态码: 200 处理成功返回。 { "job_id" : "26f06524-4f75-4b3a-a853-b649a21aaf66", "state" : "SUCCESS", "start_time" : "2022-01-18T16:29:36Z", "end_time" : "2022-01-18T16:30:36Z", "duration" : 60, "output_asset_config" : { "asset_id" : "942e65a5fd219a2e01fb08d881cfadb9", "asset_name" : "One Day", "cover_url" : "https://digitalhuman.obs.cn-east-3.myhuaweicloud.com:443/0d697589d98091f12f92c0073501cd79/942e65a5fd219a2e01fb08d881cfadb9/20d367508e62d3d4ad608cedbe81bd35.png?AccessKeyId=XCQKTA8IWQPCAUQS4SDA&Expires=1671241457&Signature=zVGMVbI5ji9rr8epD1Cir5OGIRk%3D" }, "error_info" : null, "create_time" : "2022-11-30T06:59:56Z", "lastupdate_time" : "2022-11-30T07:00:09Z", "script_id" : "4b5b6effcf3b4c72a0baccb265111765", "voice_config" : { "voice_asset_id" : "f5e6a13eab4443fa85421191ad061780", "speed" : 100, "pitch" : 100, "volume" : 140 }, "video_config" : { "codec" : "H264", "bitrate" : 5000, "frame_rate" : 30 }, "shoot_scripts" : [ { "sequence_no" : 0, "shoot_script" : { "text_config" : { "text" : "大家好,我是云玲。" } } } ] } 状态码: 400 { "error_code" : "MSS.00000003", "error_msg" : "Invalid parameter" } 状态码: 401 { "error_code" : "MSS.00000001", "error_msg" : "Unauthorized" } 状态码: 404 { "error_code" : "MSS.00000002", "error_msg" : "Not Found" } 状态码: 500 { "error_code" : "MSS.00000004", "error_msg" : "Internal Error" }
  • URI GET /v1/{project_id}/photo-digital-human-videos/{job_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 job_id 是 String 任务ID。 表2 Query参数 参数 是否必选 参数类型 描述 show_script 否 Boolean 是否需要返回剧本参数配置。
  • 响应参数 状态码: 200 表3 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求ID。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 响应示例 状态码: 400 { "error_code" : "MSS.00000003", "error_msg" : "Invalid parameter" } 状态码: 401 { "error_code" : "MSS.00000001", "error_msg" : "Unauthorized" } 状态码: 500 { "error_code" : "MSS.00000004", "error_msg" : "Internal Error" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取。 响应消息头中X-Subject-Token的值。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 格式为(YYYYMMDD'T'HHMMSS'Z')。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 X-App-UserId 否 String 第三方用户ID。 说明: *不允许输入中文。
  • Go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" metastudio "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := metastudio.NewMetaStudioClient( metastudio.MetaStudioClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) request := &model.CancelPhotoDigitalHumanVideoRequest{} response, err := client.CancelPhotoDigitalHumanVideo(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }