Class ZegoVideoConfig


  • public class ZegoVideoConfig
    extends java.lang.Object
    Video config. Configure parameters used for publishing stream, such as bitrate, frame rate, and resolution. Developers should note that the width and height resolution of the mobile and desktop are opposite. For example, 360p, the resolution of the mobile is 360x640, and the desktop is 640x360. When using external capture, the capture and encoding resolution of RTC cannot be set to 0*0, otherwise, there will be no video data in the publishing stream in the entire engine life cycle.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      int bitrate
      Bit rate in kbps.
      int captureHeight
      Capture resolution height, control the height of camera image acquisition.
      int captureWidth
      Capture resolution width, control the width of camera image acquisition.
      ZegoVideoCodecID codecID
      The codec id to be used, the default value is [default].
      int encodeHeight
      Encode resolution height, control the image height of the encoder when publishing stream.
      int encodeWidth
      Encode resolution width, control the image width of the encoder when publishing stream.
      int fps
      Frame rate, control the frame rate of the camera and the frame rate of the encoder.
      int keyFrameInterval
      Video keyframe interval, in seconds.
    • Constructor Summary

      Constructors 
      Constructor Description
      ZegoVideoConfig()
      Create default video configuration(360p, 15fps, 600000bps) 360p, 15fps, 600kbps
      ZegoVideoConfig​(ZegoVideoConfigPreset preset)
      Create video configuration with preset enumeration values
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void setCaptureResolution​(int width, int height)
      Capture resolution, control the resolution of camera image acquisition.
      void setCodecID​(ZegoVideoCodecID codecID)
      The codec id to be used, the default value is [default].
      void setEncodeResolution​(int width, int height)
      Encode resolution, control the image resolution of the encoder when publishing stream.
      void setVideoBitrate​(int bitrate)
      Bit rate in kbps.
      void setVideoFPS​(int fps)
      Frame rate, control the frame rate of the camera and the frame rate of the encoder.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • captureWidth

        public int captureWidth
        Capture resolution width, control the width of camera image acquisition. SDK requires this member to be set to an even number. Only the camera is not started and the custom video capture is not used, the setting is effective. For performance reasons, the SDK scales the video frame to the encoding resolution after capturing from camera and before rendering to the preview view. Therefore, the resolution of the preview image is the encoding resolution. If you need the resolution of the preview image to be this value, Please call [setCapturePipelineScaleMode] first to change the capture pipeline scale mode to [Post]
      • captureHeight

        public int captureHeight
        Capture resolution height, control the height of camera image acquisition. SDK requires this member to be set to an even number. Only the camera is not started and the custom video capture is not used, the setting is effective. For performance reasons, the SDK scales the video frame to the encoding resolution after capturing from camera and before rendering to the preview view. Therefore, the resolution of the preview image is the encoding resolution. If you need the resolution of the preview image to be this value, Please call [setCapturePipelineScaleMode] first to change the capture pipeline scale mode to [Post]
      • encodeWidth

        public int encodeWidth
        Encode resolution width, control the image width of the encoder when publishing stream. SDK requires this member to be set to an even number. The settings before and after publishing stream can be effective
      • encodeHeight

        public int encodeHeight
        Encode resolution height, control the image height of the encoder when publishing stream. SDK requires this member to be set to an even number. The settings before and after publishing stream can be effective
      • fps

        public int fps
        Frame rate, control the frame rate of the camera and the frame rate of the encoder. Only the camera is not started, the setting is effective. Publishing stream set to 60 fps, playing stream to take effect need contact technical support
      • bitrate

        public int bitrate
        Bit rate in kbps. The settings before and after publishing stream can be effective. The SDK will automatically set the bit rate suitable for the scenario selected by the developer. If the bit rate manually set by the developer exceeds the reasonable range, the SDK will automatically process the bit rate according to the reasonable range. If you need to configure a high bit rate due to business needs, please contact ZEGO Business.
      • codecID

        public ZegoVideoCodecID codecID
        The codec id to be used, the default value is [default]. Settings only take effect before publishing stream
      • keyFrameInterval

        public int keyFrameInterval
        Video keyframe interval, in seconds. Required: No. Default value: 2 seconds. Value range: [2, 5]. Caution: The setting is only valid before pushing.
    • Constructor Detail

      • ZegoVideoConfig

        public ZegoVideoConfig​(ZegoVideoConfigPreset preset)
        Create video configuration with preset enumeration values
      • ZegoVideoConfig

        public ZegoVideoConfig()
        Create default video configuration(360p, 15fps, 600000bps) 360p, 15fps, 600kbps
    • Method Detail

      • setCaptureResolution

        public void setCaptureResolution​(int width,
                                         int height)
        Capture resolution, control the resolution of camera image acquisition. SDK requires the width and height to be set to even numbers. Only the camera is not started and the custom video capture is not used, the setting is effective. For performance reasons, the SDK scales the video frame to the encoding resolution after capturing from camera and before rendering to the preview view. Therefore, the resolution of the preview image is the encoding resolution. If you need the resolution of the preview image to be this value, Please call [setCapturePipelineScaleMode] first to change the capture pipeline scale mode to [Post]
      • setEncodeResolution

        public void setEncodeResolution​(int width,
                                        int height)
        Encode resolution, control the image resolution of the encoder when publishing stream. SDK requires the width and height to be set to even numbers. The settings before and after publishing stream can be effective
      • setVideoFPS

        public void setVideoFPS​(int fps)
        Frame rate, control the frame rate of the camera and the frame rate of the encoder. Only the camera is not started, the setting is effective. Publishing stream set to 60 fps, playing stream to take effect need contact technical support
      • setVideoBitrate

        public void setVideoBitrate​(int bitrate)
        Bit rate in kbps. The settings before and after publishing stream can be effective. The SDK will automatically set the bit rate suitable for the scenario selected by the developer. If the bit rate manually set by the developer exceeds the reasonable range, the SDK will automatically process the bit rate according to the reasonable range. If you need to configure a high bit rate due to business needs, please contact ZEGO Business.
      • setCodecID

        public void setCodecID​(ZegoVideoCodecID codecID)
        The codec id to be used, the default value is [default]. Settings only take effect before publishing stream