com.aliyun.svideosdk.multirecorder.config

## Class AliyunVideoRecorderConfig.Builder

- java.lang.Object
- - com.aliyun.svideosdk.multirecorder.config.AliyunVideoRecorderConfig.Builder

- Enclosing class:
    AliyunVideoRecorderConfig

      public static class AliyunVideoRecorderConfig.Builder
      extends java.lang.Object

- - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `AliyunVideoRecorderConfig` | `build()`
    `AliyunVideoRecorderConfig.Builder` | `crf(int crf)` 设置 crf（编码质量因子）值，默认
    `AliyunVideoRecorderConfig.Builder` | `encoderFps(int encoderFps)` 设置编码帧率，必须在[，]之间，否则将为无效的值，将使用内置默认值30。 编码帧率只会影响编码的码率，并不能决定实际输出的视频帧率，实际视频帧率受摄像头采集帧率和渲染性能的影响，根据实际情况而定。
    `AliyunVideoRecorderConfig.Builder` | `fps(int fps)` 设置录制采集帧率，必须在[，]之间，否则将为无效的值，将使用默认值 30.
    `AliyunVideoRecorderConfig.Builder` | `gop(int gop)` 设置Gop大小，这里的gop单位是帧数，即两个I帧之间间隔多少帧，而实际上硬编码器内部是以时间为gop单位的，即两个I帧间隔多少秒，因此 实际输出视频的Gop是用该值除以编码帧率计算而出。举例编码帧率设置为25fps，该接口设置125，则实际视频的gop值是5秒，也就是5秒一个I帧。 如果设置的gop小于帧率值，则内部给到编码器的gop为1，如果大于25，则取整计算。
    `AliyunVideoRecorderConfig.Builder` | `outputPath(java.lang.String outputPath)` 设置输出文件路径
    `AliyunVideoRecorderConfig.Builder` | `videoBitrate(int videoBitrate)` 视频码率，有效的码率值必须在[200, 20000]之间，即最小是200Kbps，最大是20Mbps 单位：kbps，如果超过当前分辨率的使用码率值，有的编码器 不会无限增加码率，比如720P的码率值4M应该就足够使用了，可能会出现设置10M码率，输出的视频码率依然只有4M左右，具体根据不同编码器行为而定。
    `AliyunVideoRecorderConfig.Builder` | `videoCodecs(VideoCodecs videoCodecs)` 设置编码器类型
    `AliyunVideoRecorderConfig.Builder` | `videoHeight(int videoHeight)` 设置输出视频的高，必须 >0
    `AliyunVideoRecorderConfig.Builder` | `videoQuality(VideoQuality videoQuality)` 设置视频质量，该接口影响的是生成视频的码率
    `AliyunVideoRecorderConfig.Builder` | `videoWidth(int videoWidth)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### videoWidth

          public AliyunVideoRecorderConfig.Builder videoWidth(int videoWidth)

    - #### videoHeight

          public AliyunVideoRecorderConfig.Builder videoHeight(int videoHeight)

      设置输出视频的高，必须 >0
      Parameters:
        `videoHeight` - 视频高度
      Throws:
        `视频高度没有大于0则抛异常`

    - #### outputPath

          public AliyunVideoRecorderConfig.Builder outputPath(java.lang.String outputPath)

      设置输出文件路径
      Parameters:
        `outputPath` -
      Throws:
        `路径为空会抛异常`

    - #### fps

          public AliyunVideoRecorderConfig.Builder fps(int fps)

      设置录制采集帧率，必须在[，]之间，否则将为无效的值，将使用默认值 30. 该帧率只做参考，不同相机的采集和处理能力不同，以视频的实际输出帧率为准。
      Parameters:
        `fps` - 采集帧率

    - #### videoCodecs

          public AliyunVideoRecorderConfig.Builder videoCodecs(VideoCodecs videoCodecs)

      设置编码器类型
      Parameters:
        `videoCodec` - 编码器类型
      See Also:
        `videoCodecs`

    - #### crf

          public AliyunVideoRecorderConfig.Builder crf(int crf)

      设置 crf（编码质量因子）值，默认
      Parameters:
        `crf` - 必须在[，]之间, 越界时使用临界值。

    - #### encoderFps

          public AliyunVideoRecorderConfig.Builder encoderFps(int encoderFps)

      设置编码帧率，必须在[，]之间，否则将为无效的值，将使用内置默认值30。 编码帧率只会影响编码的码率，并不能决定实际输出的视频帧率，实际视频帧率受摄像头采集帧率和渲染性能的影响，根据实际情况而定。
      Parameters:
        `encoderFps` - 编码帧率

    - #### videoQuality

          public AliyunVideoRecorderConfig.Builder videoQuality(VideoQuality videoQuality)

      设置视频质量，该接口影响的是生成视频的码率
      Parameters:
        `videoQuality` - 质量等级
      See Also:
        `VideoQuality`

    - #### gop

          public AliyunVideoRecorderConfig.Builder gop(int gop)

      设置Gop大小，这里的gop单位是帧数，即两个I帧之间间隔多少帧，而实际上硬编码器内部是以时间为gop单位的，即两个I帧间隔多少秒，因此 实际输出视频的Gop是用该值除以编码帧率计算而出。举例编码帧率设置为25fps，该接口设置125，则实际视频的gop值是5秒，也就是5秒一个I帧。 如果设置的gop小于帧率值，则内部给到编码器的gop为1，如果大于25，则取整计算。
      Parameters:
        `gop` - 合法的区间[0,9000] 大于等于0，且小于等于9000 0的情况下，在有的手机上可以做到全I帧，而也有一些手机做不到全I帧

    - #### videoBitrate

          public AliyunVideoRecorderConfig.Builder videoBitrate(int videoBitrate)

      视频码率，有效的码率值必须在[200, 20000]之间，即最小是200Kbps，最大是20Mbps 单位：kbps，如果超过当前分辨率的使用码率值，有的编码器 不会无限增加码率，比如720P的码率值4M应该就足够使用了，可能会出现设置10M码率，输出的视频码率依然只有4M左右，具体根据不同编码器行为而定。
      Parameters:
        `videoBitrate` -

    - #### build

          public AliyunVideoRecorderConfig build()