class Google::Apis::TranscoderV1::H265CodecSettings

H265 codec settings.

Attributes

allow_open_gop[RW]

Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is ‘false`. Corresponds to the JSON property `allowOpenGop` @return [Boolean]

allow_open_gop?[RW]

Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is ‘false`. Corresponds to the JSON property `allowOpenGop` @return [Boolean]

aq_strength[RW]

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. Corresponds to the JSON property ‘aqStrength` @return [Float]

b_frame_count[RW]

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. Corresponds to the JSON property `bFrameCount` @return [Fixnum]

b_pyramid[RW]

Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is ‘false`. Corresponds to the JSON property `bPyramid` @return [Boolean]

b_pyramid?[RW]

Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is ‘false`. Corresponds to the JSON property `bPyramid` @return [Boolean]

bitrate_bps[RW]

Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 800,000,000. Corresponds to the JSON property ‘bitrateBps` @return [Fixnum]

crf_level[RW]

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. Corresponds to the JSON property ‘crfLevel` @return [Fixnum]

enable_two_pass[RW]

Use two-pass encoding strategy to achieve better video quality. ‘VideoStream. rate_control_mode` must be `vbr`. The default is `false`. Corresponds to the JSON property `enableTwoPass` @return [Boolean]

enable_two_pass?[RW]

Use two-pass encoding strategy to achieve better video quality. ‘VideoStream. rate_control_mode` must be `vbr`. The default is `false`. Corresponds to the JSON property `enableTwoPass` @return [Boolean]

frame_rate[RW]

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] (cloud.google.com/transcoder/docs/concepts/frame-rate) for more information. Corresponds to the JSON property ‘frameRate` @return [Float]

gop_duration[RW]

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`. Corresponds to the JSON property `gopDuration` @return [String]

gop_frame_count[RW]

Select the GOP size based on the specified frame count. Must be greater than zero. Corresponds to the JSON property ‘gopFrameCount` @return [Fixnum]

height_pixels[RW]

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. Corresponds to the JSON property ‘heightPixels` @return [Fixnum]

pixel_format[RW]

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 Corresponds to the JSON property `pixelFormat` @return [String]

preset[RW]

Enforces the specified codec preset. The default is ‘veryfast`. The available options are [FFmpeg-compatible](trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message. Corresponds to the JSON property `preset` @return [String]

profile[RW]

Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * ‘main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10- intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` ( default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](x265. readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message. Corresponds to the JSON property `profile` @return [String]

rate_control_mode[RW]

Specify the ‘rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor Corresponds to the JSON property `rateControlMode` @return [String]

tune[RW]

Enforces the specified codec tune. The available options are [FFmpeg- compatible](trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the ‘H265CodecSettings` message. Corresponds to the JSON property `tune` @return [String]

vbv_fullness_bits[RW]

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`. Corresponds to the JSON property `vbvFullnessBits` @return [Fixnum]

vbv_size_bits[RW]

Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to ‘VideoStream.bitrate_bps`. Corresponds to the JSON property `vbvSizeBits` @return [Fixnum]

width_pixels[RW]

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. Corresponds to the JSON property ‘widthPixels` @return [Fixnum]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/transcoder_v1/classes.rb, line 855
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/transcoder_v1/classes.rb, line 860
def update!(**args)
  @allow_open_gop = args[:allow_open_gop] if args.key?(:allow_open_gop)
  @aq_strength = args[:aq_strength] if args.key?(:aq_strength)
  @b_frame_count = args[:b_frame_count] if args.key?(:b_frame_count)
  @b_pyramid = args[:b_pyramid] if args.key?(:b_pyramid)
  @bitrate_bps = args[:bitrate_bps] if args.key?(:bitrate_bps)
  @crf_level = args[:crf_level] if args.key?(:crf_level)
  @enable_two_pass = args[:enable_two_pass] if args.key?(:enable_two_pass)
  @frame_rate = args[:frame_rate] if args.key?(:frame_rate)
  @gop_duration = args[:gop_duration] if args.key?(:gop_duration)
  @gop_frame_count = args[:gop_frame_count] if args.key?(:gop_frame_count)
  @height_pixels = args[:height_pixels] if args.key?(:height_pixels)
  @pixel_format = args[:pixel_format] if args.key?(:pixel_format)
  @preset = args[:preset] if args.key?(:preset)
  @profile = args[:profile] if args.key?(:profile)
  @rate_control_mode = args[:rate_control_mode] if args.key?(:rate_control_mode)
  @tune = args[:tune] if args.key?(:tune)
  @vbv_fullness_bits = args[:vbv_fullness_bits] if args.key?(:vbv_fullness_bits)
  @vbv_size_bits = args[:vbv_size_bits] if args.key?(:vbv_size_bits)
  @width_pixels = args[:width_pixels] if args.key?(:width_pixels)
end