Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
View issue level access limits(Press Alt + Right arrow for more information)
Request for new functionality
View staffing
Description
What you would like to accomplish: I would like the Transcoder API to have new job config options that allow it to dynamically determine the elementary stream video dimensions from the input video aspect ratio.
I have videos of various dimensions and frame rates that I want to transcode. I would like to use the same job template for all of these videos. The template includes multiple output variants for an HLS/DASH ABR ladder.
Some of the input videos are in landscape orientation, and some are in portrait. I would like to be able to provide a dimension size value and a dimension sizing behavior option to the Transcoder API. In other words, I want to be able to instruct the Transcoder API to take a provided size value for an elementary stream (e.g., 1080) and then automatically determine EITHER the width OR height depending on the input video's aspect ratio. Below are some examples:
Provided the following elementary stream configurations with these hypothetical options:
sizePixels: 360, sizeBound: 'lower'
sizePixels: 720, sizeBound: 'lower'
sizePixels: 1080, sizeBound: 'lower'
If those same elementary stream configs instead had
sizeBound: 'upper'
:How this might work: Allow users the option to provide
sizePixels
andsizeBound
toCodecSettings
instead ofwidthPixels
andheightPixels
. This would not break any behavior for existing users, and would allow users to opt-in to this alternative sizing behavior if desired. The exact names of these options can be anything, I just made them up for demonstration.If applicable, reasons why alternative solutions are not sufficient: Currently, developers need to fuss with finicky tools like ffmpeg in order to first extract the video dimensions and send a customized ad-hoc job config with each job request. While possible, this is an inferior, error-prone workaround. In my case, I am sending the Transcoder API job request from a Cloud Function, so I would first have to download the entire video file from Cloud Storage into the Cloud Function's memory, then inspect it with ffmpeg, before I can request the job. Not ideal.