2024/06/28 15:54:22
更新转码推流
本文介绍如何更新转码推流。
设置转码推流后,你可以调用 Update 方法更新转码推流,例如更新推流地址、用户视频画面布局、混音音量等配置。
示例一:更新 rtmpUrl
更新转码推流的 CDN 地址。
JSON
{
    "converter": {
        "rtmpUrl": "rtmp://example.agora.io/live/show68_backup"
    },
    "fields": "rtmpUrl"
}
示例二:更新 layout
更新转码推流的自定义布局。
更新时,请求 Body 中的 layout object array 需要全量设置,不能仅设置 object array 中的某个字段。
JSON
{
    "converter": {
        "transcodeOptions": {
            "videoOptions": {
                "layout": [
                    {   "rtcStreamUid": 201,
                        "region": {
                            "xPos": 0,
                            "yPos": 0,
                            "zIndex": 1,
                            "width": 360,
                            "height": 320
                        },
                        "placeholderImageUrl": "http://example.agora.io/host_placeholder.jpg"
                    },
                    {   "rtcStreamUid": 703,
                        "region": {
                            "xPos": 0,
                            "yPos": 320,
                            "zIndex": 1,
                            "width": 360,
                            "height": 320
                        },
                        "placeholderImageUrl": "http://example.agora.io/guest_placehoder.jpg"
                    }
                ]
            }
        }
    },
    "fields": "transcodeOptions.videoOptions.layout"
}
示例三:更新 canvas
更新转码推流的画布。
更新时,请求 Body 中的 canvas object 需要全量设置,不能仅设置 object 中的某个字段。
JSON
{
    "converter": {
        "transcodeOptions": {
            "videoOptions": {
                "canvas": {
                    "width": 360,
                    "height": 640,
                    "color": 0
                }
            }
        }
    },
    "fields": "transcodeOptions.videoOptions.canvas"
}
示例四:更新 canvas 和 layout
更新转码推流的自定义布局和画布。
更新多个字段时,fields 中填写的各字段必须用英文逗号分隔,且逗号后无空格。例如,"fields": "a,b"。
JSON
{
    "converter": {
        "transcodeOptions": {
            "videoOptions": {
                "canvas": {
                    "width": 360,
                    "height": 640,
                    "color": 0
                },
                "layout": [
                    {
                        "rtcStreamUid": 201,
                        "region": {
                            "xPos": 0,
                            "yPos": 0,
                            "zIndex": 1,
                            "width": 360,
                            "height": 320
                        },
                        "fillMode": "fill",
                        "placeholderImageUrl": "http://example/host_placeholder.jpg"
                    }
                ]
            }
        }
    },
    "fields": "transcodeOptions.videoOptions.canvas,transcodeOptions.videoOptions.layout"
}
其他示例
注意事项
- 如果你通过 
Create请求创建一个只转码输出视频(或音频)的 Converter,那么你无法通过Update请求将 Converter 更新成只输出音频(或视频)。这种情况建议你重新创建一个 Converter。 - 如果你通过 
layoutType设置布局类型为垂直布局,那么通过Update请求只能更新rtmpUrl。 Update方法不支持更新 Converter 的如下配置:converter.nameconverter.idleTimeOutconverter.transcodeOptions.rtcChannelconverter.transcodeOptions.audioOptions.codecProfileconverter.transcodeOptions.audioOptions.sampleRateconverter.transcodeOptions.audioOptions.bitrateconverter.transcodeOptions.audioOptions.audioChannelsconverter.transcodeOptions.videoOptions.layoutTypeconverter.transcodeOptions.videoOptions.codecconverter.transcodeOptions.videoOptions.codecProfile
API 参考
你可以参考 Update 方法了解字段详情。