All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tencentcloudapi.trtc.v20190722.models.RecordParams Maven / Gradle / Ivy

/*
 * Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.tencentcloudapi.trtc.v20190722.models;

import com.tencentcloudapi.common.AbstractModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;

public class RecordParams extends AbstractModel{

    /**
    * 录制模式:
1:单流录制,分别录制房间的订阅UserId的音频和视频,将录制文件上传至云存储;
2:混流录制,将房间内订阅UserId的音视频混录成一个音视频文件,将录制文件上传至云存储;
    */
    @SerializedName("RecordMode")
    @Expose
    private Long RecordMode;

    /**
    * 房间内持续没有主播的状态超过MaxIdleTime的时长,自动停止录制,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。
    */
    @SerializedName("MaxIdleTime")
    @Expose
    private Long MaxIdleTime;

    /**
    * 录制的媒体流类型:
0:录制音频+视频流(默认);
1:仅录制音频流;
2:仅录制视频流,
    */
    @SerializedName("StreamType")
    @Expose
    private Long StreamType;

    /**
    * 指定订阅流白名单或者黑名单。
    */
    @SerializedName("SubscribeStreamUserIds")
    @Expose
    private SubscribeStreamUserIds SubscribeStreamUserIds;

    /**
    * 输出文件的格式,上传到云点播时此参数无效,存储到云点播时请关注TencentVod内的MediaType参数。0:(默认)输出文件为hls格式。1:输出文件格式为hls+mp4(hls录制完成后转mp4文件)。
    */
    @SerializedName("OutputFormat")
    @Expose
    private Long OutputFormat;

    /**
    * 单流录制模式下,用户的音视频是否合并,0:单流音视频不合并(默认)。1:单流音视频合并成一个ts。混流录制此参数无需设置,默认音视频合并。
    */
    @SerializedName("AvMerge")
    @Expose
    private Long AvMerge;

    /**
     * Get 录制模式:
1:单流录制,分别录制房间的订阅UserId的音频和视频,将录制文件上传至云存储;
2:混流录制,将房间内订阅UserId的音视频混录成一个音视频文件,将录制文件上传至云存储; 
     * @return RecordMode 录制模式:
1:单流录制,分别录制房间的订阅UserId的音频和视频,将录制文件上传至云存储;
2:混流录制,将房间内订阅UserId的音视频混录成一个音视频文件,将录制文件上传至云存储;
     */
    public Long getRecordMode() {
        return this.RecordMode;
    }

    /**
     * Set 录制模式:
1:单流录制,分别录制房间的订阅UserId的音频和视频,将录制文件上传至云存储;
2:混流录制,将房间内订阅UserId的音视频混录成一个音视频文件,将录制文件上传至云存储;
     * @param RecordMode 录制模式:
1:单流录制,分别录制房间的订阅UserId的音频和视频,将录制文件上传至云存储;
2:混流录制,将房间内订阅UserId的音视频混录成一个音视频文件,将录制文件上传至云存储;
     */
    public void setRecordMode(Long RecordMode) {
        this.RecordMode = RecordMode;
    }

    /**
     * Get 房间内持续没有主播的状态超过MaxIdleTime的时长,自动停止录制,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。 
     * @return MaxIdleTime 房间内持续没有主播的状态超过MaxIdleTime的时长,自动停止录制,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。
     */
    public Long getMaxIdleTime() {
        return this.MaxIdleTime;
    }

    /**
     * Set 房间内持续没有主播的状态超过MaxIdleTime的时长,自动停止录制,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。
     * @param MaxIdleTime 房间内持续没有主播的状态超过MaxIdleTime的时长,自动停止录制,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。
     */
    public void setMaxIdleTime(Long MaxIdleTime) {
        this.MaxIdleTime = MaxIdleTime;
    }

    /**
     * Get 录制的媒体流类型:
0:录制音频+视频流(默认);
1:仅录制音频流;
2:仅录制视频流, 
     * @return StreamType 录制的媒体流类型:
0:录制音频+视频流(默认);
1:仅录制音频流;
2:仅录制视频流,
     */
    public Long getStreamType() {
        return this.StreamType;
    }

    /**
     * Set 录制的媒体流类型:
0:录制音频+视频流(默认);
1:仅录制音频流;
2:仅录制视频流,
     * @param StreamType 录制的媒体流类型:
0:录制音频+视频流(默认);
1:仅录制音频流;
2:仅录制视频流,
     */
    public void setStreamType(Long StreamType) {
        this.StreamType = StreamType;
    }

    /**
     * Get 指定订阅流白名单或者黑名单。 
     * @return SubscribeStreamUserIds 指定订阅流白名单或者黑名单。
     */
    public SubscribeStreamUserIds getSubscribeStreamUserIds() {
        return this.SubscribeStreamUserIds;
    }

    /**
     * Set 指定订阅流白名单或者黑名单。
     * @param SubscribeStreamUserIds 指定订阅流白名单或者黑名单。
     */
    public void setSubscribeStreamUserIds(SubscribeStreamUserIds SubscribeStreamUserIds) {
        this.SubscribeStreamUserIds = SubscribeStreamUserIds;
    }

    /**
     * Get 输出文件的格式,上传到云点播时此参数无效,存储到云点播时请关注TencentVod内的MediaType参数。0:(默认)输出文件为hls格式。1:输出文件格式为hls+mp4(hls录制完成后转mp4文件)。 
     * @return OutputFormat 输出文件的格式,上传到云点播时此参数无效,存储到云点播时请关注TencentVod内的MediaType参数。0:(默认)输出文件为hls格式。1:输出文件格式为hls+mp4(hls录制完成后转mp4文件)。
     */
    public Long getOutputFormat() {
        return this.OutputFormat;
    }

    /**
     * Set 输出文件的格式,上传到云点播时此参数无效,存储到云点播时请关注TencentVod内的MediaType参数。0:(默认)输出文件为hls格式。1:输出文件格式为hls+mp4(hls录制完成后转mp4文件)。
     * @param OutputFormat 输出文件的格式,上传到云点播时此参数无效,存储到云点播时请关注TencentVod内的MediaType参数。0:(默认)输出文件为hls格式。1:输出文件格式为hls+mp4(hls录制完成后转mp4文件)。
     */
    public void setOutputFormat(Long OutputFormat) {
        this.OutputFormat = OutputFormat;
    }

    /**
     * Get 单流录制模式下,用户的音视频是否合并,0:单流音视频不合并(默认)。1:单流音视频合并成一个ts。混流录制此参数无需设置,默认音视频合并。 
     * @return AvMerge 单流录制模式下,用户的音视频是否合并,0:单流音视频不合并(默认)。1:单流音视频合并成一个ts。混流录制此参数无需设置,默认音视频合并。
     */
    public Long getAvMerge() {
        return this.AvMerge;
    }

    /**
     * Set 单流录制模式下,用户的音视频是否合并,0:单流音视频不合并(默认)。1:单流音视频合并成一个ts。混流录制此参数无需设置,默认音视频合并。
     * @param AvMerge 单流录制模式下,用户的音视频是否合并,0:单流音视频不合并(默认)。1:单流音视频合并成一个ts。混流录制此参数无需设置,默认音视频合并。
     */
    public void setAvMerge(Long AvMerge) {
        this.AvMerge = AvMerge;
    }

    public RecordParams() {
    }

    /**
     * NOTE: Any ambiguous key set via .set("AnyKey", "value") will be a shallow copy,
     *       and any explicit key, i.e Foo, set via .setFoo("value") will be a deep copy.
     */
    public RecordParams(RecordParams source) {
        if (source.RecordMode != null) {
            this.RecordMode = new Long(source.RecordMode);
        }
        if (source.MaxIdleTime != null) {
            this.MaxIdleTime = new Long(source.MaxIdleTime);
        }
        if (source.StreamType != null) {
            this.StreamType = new Long(source.StreamType);
        }
        if (source.SubscribeStreamUserIds != null) {
            this.SubscribeStreamUserIds = new SubscribeStreamUserIds(source.SubscribeStreamUserIds);
        }
        if (source.OutputFormat != null) {
            this.OutputFormat = new Long(source.OutputFormat);
        }
        if (source.AvMerge != null) {
            this.AvMerge = new Long(source.AvMerge);
        }
    }


    /**
     * Internal implementation, normal users should not use it.
     */
    public void toMap(HashMap map, String prefix) {
        this.setParamSimple(map, prefix + "RecordMode", this.RecordMode);
        this.setParamSimple(map, prefix + "MaxIdleTime", this.MaxIdleTime);
        this.setParamSimple(map, prefix + "StreamType", this.StreamType);
        this.setParamObj(map, prefix + "SubscribeStreamUserIds.", this.SubscribeStreamUserIds);
        this.setParamSimple(map, prefix + "OutputFormat", this.OutputFormat);
        this.setParamSimple(map, prefix + "AvMerge", this.AvMerge);

    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy