Class VideoStream.H264CodecSettings

    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getWidthPixels

        public int getWidthPixels()
         The width of the video in pixels. Must be an even integer.
         When not specified, the width is adjusted to match the specified height
         and input aspect ratio. If both are omitted, the input width is used.
        
         For portrait videos that contain horizontal ASR and rotation metadata,
         provide the width, in pixels, per the horizontal ASR. The API calculates
         the height per the horizontal ASR. The API detects any rotation metadata
         and swaps the requested height and width for the output.
         
        int32 width_pixels = 1;
        Specified by:
        getWidthPixels in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The widthPixels.
      • getHeightPixels

        public int getHeightPixels()
         The height of the video in pixels. Must be an even integer.
         When not specified, the height is adjusted to match the specified width
         and input aspect ratio. If both are omitted, the input height is used.
        
         For portrait videos that contain horizontal ASR and rotation metadata,
         provide the height, in pixels, per the horizontal ASR. The API calculates
         the width per the horizontal ASR. The API detects any rotation metadata
         and swaps the requested height and width for the output.
         
        int32 height_pixels = 2;
        Specified by:
        getHeightPixels in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The heightPixels.
      • getFrameRate

        public double getFrameRate()
         Required. The target video frame rate in frames per second (FPS). Must be
         less than or equal to 120. Will default to the input frame rate if larger
         than the input frame rate. The API will generate an output FPS that is
         divisible by the input FPS, and smaller or equal to the target FPS. See
         [Calculating frame
         rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for
         more information.
         
        double frame_rate = 3 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getFrameRate in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The frameRate.
      • getBitrateBps

        public int getBitrateBps()
         Required. The video bitrate in bits per second. The minimum value is
         1,000. The maximum value is 800,000,000.
         
        int32 bitrate_bps = 4 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getBitrateBps in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The bitrateBps.
      • getPixelFormat

        public String getPixelFormat()
         Pixel format to use. The default is `yuv420p`.
        
         Supported pixel formats:
        
         - `yuv420p` pixel format
         - `yuv422p` pixel format
         - `yuv444p` pixel format
         - `yuv420p10` 10-bit HDR pixel format
         - `yuv422p10` 10-bit HDR pixel format
         - `yuv444p10` 10-bit HDR pixel format
         - `yuv420p12` 12-bit HDR pixel format
         - `yuv422p12` 12-bit HDR pixel format
         - `yuv444p12` 12-bit HDR pixel format
         
        string pixel_format = 5;
        Specified by:
        getPixelFormat in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The pixelFormat.
      • getPixelFormatBytes

        public com.google.protobuf.ByteString getPixelFormatBytes()
         Pixel format to use. The default is `yuv420p`.
        
         Supported pixel formats:
        
         - `yuv420p` pixel format
         - `yuv422p` pixel format
         - `yuv444p` pixel format
         - `yuv420p10` 10-bit HDR pixel format
         - `yuv422p10` 10-bit HDR pixel format
         - `yuv444p10` 10-bit HDR pixel format
         - `yuv420p12` 12-bit HDR pixel format
         - `yuv422p12` 12-bit HDR pixel format
         - `yuv444p12` 12-bit HDR pixel format
         
        string pixel_format = 5;
        Specified by:
        getPixelFormatBytes in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The bytes for pixelFormat.
      • getRateControlMode

        public String getRateControlMode()
         Specify the `rate_control_mode`. The default is `vbr`.
        
         Supported rate control modes:
        
         - `vbr` - variable bitrate
         - `crf` - constant rate factor
         
        string rate_control_mode = 6;
        Specified by:
        getRateControlMode in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The rateControlMode.
      • getRateControlModeBytes

        public com.google.protobuf.ByteString getRateControlModeBytes()
         Specify the `rate_control_mode`. The default is `vbr`.
        
         Supported rate control modes:
        
         - `vbr` - variable bitrate
         - `crf` - constant rate factor
         
        string rate_control_mode = 6;
        Specified by:
        getRateControlModeBytes in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The bytes for rateControlMode.
      • getCrfLevel

        public int getCrfLevel()
         Target CRF level. Must be between 10 and 36, where 10 is the highest
         quality and 36 is the most efficient compression. The default is 21.
         
        int32 crf_level = 7;
        Specified by:
        getCrfLevel in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The crfLevel.
      • getAllowOpenGop

        public boolean getAllowOpenGop()
         Specifies whether an open Group of Pictures (GOP) structure should be
         allowed or not. The default is `false`.
         
        bool allow_open_gop = 8;
        Specified by:
        getAllowOpenGop in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The allowOpenGop.
      • hasGopFrameCount

        public boolean hasGopFrameCount()
         Select the GOP size based on the specified frame count. Must be greater
         than zero.
         
        int32 gop_frame_count = 9;
        Specified by:
        hasGopFrameCount in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        Whether the gopFrameCount field is set.
      • getGopFrameCount

        public int getGopFrameCount()
         Select the GOP size based on the specified frame count. Must be greater
         than zero.
         
        int32 gop_frame_count = 9;
        Specified by:
        getGopFrameCount in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The gopFrameCount.
      • hasGopDuration

        public boolean hasGopDuration()
         Select the GOP size based on the specified duration. The default is
         `3s`. Note that `gopDuration` must be less than or equal to
         [`segmentDuration`](#SegmentSettings), and
         [`segmentDuration`](#SegmentSettings) must be divisible by
         `gopDuration`.
         
        .google.protobuf.Duration gop_duration = 10;
        Specified by:
        hasGopDuration in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        Whether the gopDuration field is set.
      • getGopDuration

        public com.google.protobuf.Duration getGopDuration()
         Select the GOP size based on the specified duration. The default is
         `3s`. Note that `gopDuration` must be less than or equal to
         [`segmentDuration`](#SegmentSettings), and
         [`segmentDuration`](#SegmentSettings) must be divisible by
         `gopDuration`.
         
        .google.protobuf.Duration gop_duration = 10;
        Specified by:
        getGopDuration in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The gopDuration.
      • getGopDurationOrBuilder

        public com.google.protobuf.DurationOrBuilder getGopDurationOrBuilder()
         Select the GOP size based on the specified duration. The default is
         `3s`. Note that `gopDuration` must be less than or equal to
         [`segmentDuration`](#SegmentSettings), and
         [`segmentDuration`](#SegmentSettings) must be divisible by
         `gopDuration`.
         
        .google.protobuf.Duration gop_duration = 10;
        Specified by:
        getGopDurationOrBuilder in interface VideoStream.H264CodecSettingsOrBuilder
      • getEnableTwoPass

        public boolean getEnableTwoPass()
         Use two-pass encoding strategy to achieve better video quality.
         `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
         
        bool enable_two_pass = 11;
        Specified by:
        getEnableTwoPass in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The enableTwoPass.
      • getVbvSizeBits

        public int getVbvSizeBits()
         Size of the Video Buffering Verifier (VBV) buffer in bits. Must be
         greater than zero. The default is equal to `VideoStream.bitrate_bps`.
         
        int32 vbv_size_bits = 12;
        Specified by:
        getVbvSizeBits in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The vbvSizeBits.
      • getVbvFullnessBits

        public int getVbvFullnessBits()
         Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
         Must be greater than zero. The default is equal to 90% of
         `VideoStream.vbv_size_bits`.
         
        int32 vbv_fullness_bits = 13;
        Specified by:
        getVbvFullnessBits in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The vbvFullnessBits.
      • getEntropyCoderBytes

        public com.google.protobuf.ByteString getEntropyCoderBytes()
         The entropy coder to use. The default is `cabac`.
        
         Supported entropy coders:
        
         - `cavlc`
         - `cabac`
         
        string entropy_coder = 14;
        Specified by:
        getEntropyCoderBytes in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The bytes for entropyCoder.
      • getBPyramid

        public boolean getBPyramid()
         Allow B-pyramid for reference frame selection. This may not be supported
         on all decoders. The default is `false`.
         
        bool b_pyramid = 15;
        Specified by:
        getBPyramid in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The bPyramid.
      • getBFrameCount

        public int getBFrameCount()
         The number of consecutive B-frames. Must be greater than or equal to
         zero. Must be less than `VideoStream.gop_frame_count` if set. The default
         is 0.
         
        int32 b_frame_count = 16;
        Specified by:
        getBFrameCount in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The bFrameCount.
      • getAqStrength

        public double getAqStrength()
         Specify the intensity of the adaptive quantizer (AQ). Must be between 0
         and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A
         higher value equals a lower bitrate but smoother image. The default is 0.
         
        double aq_strength = 17;
        Specified by:
        getAqStrength in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The aqStrength.
      • getProfile

        public String getProfile()
         Enforces the specified codec profile. The following profiles are
         supported:
        
         *   `baseline`
         *   `main`
         *   `high` (default)
        
         The available options are
         [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune).
         Note that certain values for this field may cause the
         transcoder to override other fields you set in the `H264CodecSettings`
         message.
         
        string profile = 18;
        Specified by:
        getProfile in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The profile.
      • getProfileBytes

        public com.google.protobuf.ByteString getProfileBytes()
         Enforces the specified codec profile. The following profiles are
         supported:
        
         *   `baseline`
         *   `main`
         *   `high` (default)
        
         The available options are
         [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune).
         Note that certain values for this field may cause the
         transcoder to override other fields you set in the `H264CodecSettings`
         message.
         
        string profile = 18;
        Specified by:
        getProfileBytes in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The bytes for profile.
      • getTune

        public String getTune()
         Enforces the specified codec tune. The available options are
         [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune).
         Note that certain values for this field may cause the
         transcoder to override other fields you set in the `H264CodecSettings`
         message.
         
        string tune = 19;
        Specified by:
        getTune in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The tune.
      • getTuneBytes

        public com.google.protobuf.ByteString getTuneBytes()
         Enforces the specified codec tune. The available options are
         [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune).
         Note that certain values for this field may cause the
         transcoder to override other fields you set in the `H264CodecSettings`
         message.
         
        string tune = 19;
        Specified by:
        getTuneBytes in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The bytes for tune.
      • getPreset

        public String getPreset()
         Enforces the specified codec preset. The default is `veryfast`. The
         available options are
         [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset).
         Note that certain values for this field may cause the
         transcoder to override other fields you set in the `H264CodecSettings`
         message.
         
        string preset = 20;
        Specified by:
        getPreset in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The preset.
      • getPresetBytes

        public com.google.protobuf.ByteString getPresetBytes()
         Enforces the specified codec preset. The default is `veryfast`. The
         available options are
         [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset).
         Note that certain values for this field may cause the
         transcoder to override other fields you set in the `H264CodecSettings`
         message.
         
        string preset = 20;
        Specified by:
        getPresetBytes in interface VideoStream.H264CodecSettingsOrBuilder
        Returns:
        The bytes for preset.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static VideoStream.H264CodecSettings parseFrom​(ByteBuffer data)
                                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static VideoStream.H264CodecSettings parseFrom​(ByteBuffer data,
                                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static VideoStream.H264CodecSettings parseFrom​(com.google.protobuf.ByteString data)
                                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static VideoStream.H264CodecSettings parseFrom​(com.google.protobuf.ByteString data,
                                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static VideoStream.H264CodecSettings parseFrom​(byte[] data)
                                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static VideoStream.H264CodecSettings parseFrom​(byte[] data,
                                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • newBuilderForType

        public VideoStream.H264CodecSettings.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public VideoStream.H264CodecSettings.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected VideoStream.H264CodecSettings.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<VideoStream.H264CodecSettings> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public VideoStream.H264CodecSettings getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder