@@ -19,6 +19,7 @@ package google.cloud.video.transcoder.v1beta1;
1919import "google/api/field_behavior.proto" ;
2020import "google/api/resource.proto" ;
2121import "google/protobuf/duration.proto" ;
22+ import "google/protobuf/timestamp.proto" ;
2223
2324option go_package = "google.golang.org/genproto/googleapis/cloud/video/transcoder/v1beta1;transcoder" ;
2425option java_multiple_files = true ;
@@ -115,6 +116,15 @@ message Job {
115116// Output only. List of failure details. This property may contain additional
116117// information about the failure when `failure_reason` is present.
117118repeated FailureDetail failure_details = 11 [(google.api.field_behavior ) =OUTPUT_ONLY ];
119+
120+ // Output only. The time the job was created.
121+ google.protobuf.Timestamp create_time = 12 [(google.api.field_behavior ) =OUTPUT_ONLY ];
122+
123+ // Output only. The time the transcoding started.
124+ google.protobuf.Timestamp start_time = 13 [(google.api.field_behavior ) =OUTPUT_ONLY ];
125+
126+ // Output only. The time the transcoding finished.
127+ google.protobuf.Timestamp end_time = 14 [(google.api.field_behavior ) =OUTPUT_ONLY ];
118128}
119129
120130// Transcoding job template resource.
@@ -283,7 +293,7 @@ message Manifest {
283293DASH = 2 ;
284294 }
285295
286- // The name of the generated file. The default is `"master "` with the
296+ // The name of the generated file. The default is `"manifest "` with the
287297// extension suffix corresponding to the `Manifest.type`.
288298string file_name = 1 ;
289299
@@ -556,11 +566,15 @@ message VideoStream {
556566// Enforce specified codec preset. The default is `"veryfast"`.
557567string preset = 4 ;
558568
559- // Required. The height of video in pixels. Must be an even integer.
560- int32 height_pixels = 5 [(google.api.field_behavior ) =REQUIRED ];
569+ // The height of the video in pixels. Must be an even integer.
570+ // When not specified, the height is adjusted to match the specified width and
571+ // input aspect ratio. If both are omitted, the input height is used.
572+ int32 height_pixels = 5 ;
561573
562- // Required. The width of video in pixels. Must be an even integer.
563- int32 width_pixels = 6 [(google.api.field_behavior ) =REQUIRED ];
574+ // The width of the video in pixels. Must be an even integer.
575+ // When not specified, the width is adjusted to match the specified height and
576+ // input aspect ratio. If both are omitted, the input width is used.
577+ int32 width_pixels = 6 ;
564578
565579// Pixel format to use. The default is `"yuv420p"`.
566580//
@@ -633,9 +647,30 @@ message VideoStream {
633647// Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
634648int32 b_frame_count = 19 ;
635649
636- // Required. The video frame rate in frames per second. Must be less than or equal to
637- // 120. Will default to the input frame rate if larger than the input frame
638- // rate.
650+ // Required. The target video frame rate in frames per second (FPS). Must be less than
651+ // or equal to 120. Will default to the input frame rate if larger than the
652+ // input frame rate. The API will generate an output FPS that is divisible by
653+ // the input FPS, and smaller or equal to the target FPS.
654+ //
655+ // The following table shows the computed video FPS given the target FPS (in
656+ // parenthesis) and input FPS (in the first column):
657+ //
658+ // | | (30) | (60) | (25) | (50) |
659+ // |--------|--------|--------|------|------|
660+ // | 240 | Fail | Fail | Fail | Fail |
661+ // | 120 | 30 | 60 | 20 | 30 |
662+ // | 100 | 25 | 50 | 20 | 30 |
663+ // | 50 | 25 | 50 | 20 | 30 |
664+ // | 60 | 30 | 60 | 20 | 30 |
665+ // | 59.94 | 29.97 | 59.94 | 20 | 30 |
666+ // | 48 | 24 | 48 | 20 | 30 |
667+ // | 30 | 30 | 30 | 20 | 30 |
668+ // | 25 | 25 | 25 | 20 | 30 |
669+ // | 24 | 24 | 24 | 20 | 30 |
670+ // | 23.976 | 23.976 | 23.976 | 20 | 30 |
671+ // | 15 | 15 | 15 | 20 | 30 |
672+ // | 12 | 12 | 12 | 20 | 30 |
673+ // | 10 | 10 | 10 | 20 | 30 |
639674double frame_rate = 20 [(google.api.field_behavior ) =REQUIRED ];
640675
641676// Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and