Video
Name | Type | Description |
---|---|---|
include_if_source_has | array | This array allows for conditionally outputting tracks based on whether or not a specific input track exists. The tracks in the source are referred to by number reference: audio[0] refers to the first audio track. |
include_conditions | array | Include this target output if these conditions are met. |
enabled | boolean | Enable or disable video in output. default: true |
verify | boolean | Enable or disable post transcode verification for this track. default: true |
codec | enum copy h264 h265 prores mpeg1 mpeg2 mpeg4 vp8 vp9 dv25 dv50 dnxhd mjpeg jpeg2000 raw png jpeg | The desired output video codec. |
codec_provider | enum ffmpeg dolby_impact mainconcept_v10 mainconcept_v11 mainconcept_v13 | The desired provider/brand of the video codec. For more details on Dolby Impact, please read our tutorial - https://tutorials.hybrik.com/dolby_impact/ |
pid | integer | The video program ID - only used for MPEG transport streams. maximum: 8190 |
track_group_id | string | This indicates which Group this track belongs to. Multiple tracks with the same content but different bitrates would have the same track_group_id. |
layer_id | string | This indicates which Layer this tracks belongs to. For example, this allows bundling one video layer and multiple audio layers with same bitrates but different languages. |
layer_affinities | array | This indicates which other layers this layer can be combined with. For example, to combine audio and video layers. |
width | number | Width of the output video. minimum: 8 maximum: 8192 |
height | number | Height of the output video. minimum: 8 maximum: 8192 |
width_modulus | integer | If width is calculated automatically (from aspect ratio and height for example), then only allow truncated integer multiples of this value. minimum: 1 maximum: 64 default: 2 |
height_modulus | integer | If height is calculated automatically (from aspect ratio and width for example), then only allow truncated integer multiples of this value. minimum: 1 maximum: 64 default: 2 |
frame_rate | number string | The video frame rate - can be expressed in decimal or fraction notation, examples: 29.97, 30000/1001 |
par | number string | The pixel aspect ratio. Optional. May be expressed in decimal or fraction notation, examples: 0.9, 8/9 |
dar | number string | The display aspect ratio. Optional. May expressed in decimal or fraction notation, examples: 1.33, 4/3 |
ar_max_distortion | number | A small amount of distortion can be allowed in order to minimize letter- or pillar-boxing. The default is 5%. maximum: 1 default: 0.05 |
ar_auto_crop | enum none distorted preserving | If an aspect ratio adjustment needs to occur, setting 'none' here will add full letter/pillar boxes. Selecting 'distorted' will reduce the required padding and cropping, as determined by ar_pad_crop_ratio, by distorting the image with ar_max_distortion. Selecting 'preserving' will do a full aspect ratio correct operation, using the cropping vs. padding ratio from ar_pad_crop_ratio. default: none |
ar_pad_crop_ratio | number | For reducing letter and pillar boxing, the video can instead be slightly or fully cropped. Setting a value of 1 here will never crop, and add full letter/pillar boxes. Setting a value of 0 will fully crop with no letter/pillar boxing. If ar_auto_crop is set to 'distorted', then ar_max_distortion is considered prior to calculating the required cropping is determined by ar_pad_crop_ratio. Currently, only 0.0 and 1.0 are supported. The full range will be supported in a future release. maximum: 1 default: 1.0 |
video_format | enum component pal ntsc secam mac unspecified | Video format flag (metadata only). |
add_vbi_if_needed | boolean | If the video height is 480 or 576, pad the video with 32 top lines without distorting the aspect ratio. |
interlace_mode | enum progressive tff bff | The interlacing mode: progressive, top field first, or bottom field first. |
smart_temporal_conversions | boolean | If source/dest interlacing properties or frame rates differ, automatically apply the best possible conversion. |
smart_chroma_conversions | boolean | If source/dest hd/sd properties or color space/matrix/primary differ, automatically apply the best possible conversion. |
chroma_format | enum yuv411p yuv420p yuv422p yuv420p10le yuv422p10le yuv444p10le yuva444p10le yuv420p12le yuv422p12le yuv444p12le yuva444p12le yuv420p16le yuv422p16le yuv444p16le yuva444p16le yuvj420p yuvj422p rgb24 rgb48be rgba64be rgb48le rgba64le gbrp10le gbrp10be gbrp12le gbrp12be | The pixel format. Note that not all codecs will support all formats. |
ire_range_mode | enum auto full limited | Chroma coordinate reference of the source primaries. The default is determined by video size. |
color_primaries | enum bt601 bt709 bt470m bt470bg smpte170m smpte240m smpte431 smpte432 bt2020 film | Chroma coordinate reference of the source primaries. The default is determined by video size. |
color_trc | enum bt601 bt709 st2084 bt470m gamma22 bt470bg gamma28 smpte170m smpte240m smpte428 linear log log sqrt bt1361 ecg iec61966 2.1 iec61966 2.4 bt2020_10bit bt2020_12bit hlg arib_stdb67 | Color transfer characteristics. The default determined by video size. |
color_matrix | enum rgb bt470bg bt601 bt709 smpte170m smpte240m bt2020c bt2020nc smpte2085 | YUV/YCbCr colorspace type. |
use_broadcast_safe | boolean | This will limit signal values to permitted IRE levels (using 7.5..100 IRE). default: false |
force_source_par | number string | This will override the automatically detected source pixel aspect ratio. Can be omitted, or set using a numeric or fractional designation such as 0.9, 8/9, etc. |
force_source_dar | number string | This will override the automatically detected source display aspect ratio. Can be omitted or set using one of the following formats: 1.33, 4/3, ... |
profile | enum baseline simple main main10 main-intra mainstillpicture main444-8 main444-intra main444-stillpicture main10-intra main422-10 main422-10-intra main444-10 main444-10-intra high high10 high422 high444 MP HP SP 422P apco apcs apcn apch ap4h ap4x dnxhr_lb dnxhr_sq dnxhr_hq dnxhr_hqx dnxhr_444 jpeg2000 p0 p1 cinema2k cinema4k cinema2k_scalable cinema4k_scalable cinema_lts bc_single bc_multi bc_multi_r imf_2k imf_4k imf_8k imf_2k_r imf_4k_r imf_8k_r multiview multiview10 | The profile for your codec. Not all profiles are valid for all codecs. |
level | enum 1.0 1.1 1.2 1.3 2.0 2.1 2.2 3.0 3.1 3.2 4.0 4.1 4.2 5.0 5.1 5.2 6.0 LL ML HL H14 | The codec-dependent level - please reference ISO/IEC 14496-10, ISO/IEC 13818-2 etc. |
mainlevel | integer | The codec-dependent main level - please reference ISO/IEC 15444-1 (J2K) etc. |
sublevel | integer | The codec-dependent sub level - please reference ISO/IEC 15444-1 (J2K) etc. |
preset | enum ultrafast superfast veryfast faster fast medium slow slower veryslow placebo | Codec-dependent preset, applies to h264 and h265 only. |
tune | enum psnr ssim fastdecode zerolatency grain film animation stillimage touhou vmaf | Codec-dependent tune option, applies to vp9, h264 and h265 only. Allowed values depend on codec. |
use_cabac | boolean | This will enable context-adaptive binary arithmetic coding for h.264. If not set, the profile/level combination will determine if CABAC is used. |
refs | integer | The number of h.264 reference frames to used for future frames. If not set, the profile/level combination will determine the proper number of reference frames. maximum: 16 |
slices | integer | The number of h.264 frame slices. |
use_loop_filter | boolean | Enable h264/h265 loop filters. |
x264_options | string | x.264 specific codec options - please reference https://sites.google.com/site/linuxencoding/x264-ffmpeg-mapping for an excellent explanation. |
x265_options | string | x.265 specific codec options - please reference https://x265.readthedocs.io/en/stable/cli.html |
dolby_impact_options | string | Dolby Impact HEVC specific codec options. |
mainconcept_video_options | string | MainConcept specific codec options - please reference the mainconcept codec documentation. |
mainconcept_video_performance_options | object | MainConcept specific codec performance options. |
mainconcept_video_profile | enum VCD SVCD DVD DVD_MPEG1 DVD_DVR DVD_DVR_MPEG1 DVD_PVR DVD_PVR_MPEG1 DTV DVB MMV DVHS ATSC ATSCHI CABLELABS ATSC_C HDV_HD1 HDV_HD2 D10 D10_25 D10_30 D10_40 D10_50 HD_DVD | One of the preset values for profile (e.g. CABLELABS). |
mainconcept_stream_mux_options | string | Provide direct stream instruction to the MainConcept multiplexer. Values are constructed as "prop=val,prop=val". See MainConcept documentation for valid values. |
ffmpeg_args | string | The FFmpeg (target) command line arguments to be used. Note that these will override competing settings in the JSON. |
encoder_info | boolean | Override encoder string inserted by x264 or x265 encoders. |
bitrate_mode | enum cbr cbr_unconstrained crf vbr cq cae | The bitrate mode for the codec. The default value depends on the codec being used. "crf" bitrate mode (Constant Rate Factor) is only valid for x264 and x265 |
bitrate_kb | number | The video bitrate in kilobits per second. For vbr, this is the average bitrate. minimum: 1 maximum: 10000001 |
min_bitrate_kb | number | The minimum video bitrate in kilobits per second. Only valid for crf and vbr. minimum: 1 maximum: 10000001 |
max_bitrate_kb | number | The maximum video bitrate in kilobits per second. Only valid for crf and vbr. minimum: 1 maximum: 10000001 |
vbv_buffer_size_kb | number | The vbv buffer size in kilobits. maximum: 1000000 |
vbv_init_occupancy_kb | number | The vbv init occupancy in kilobits. Important for chunked encoding like HLS. maximum: 1000000 |
max_available_vbv | number | The maximium vbv fullness (0 = 0%, 1 = 100%). maximum: 1 |
min_available_vbv | number | The minimum vbv fillness (0 = 0%, 1 = 100%). maximum: 1 |
vbv_constraints_failure | enum during_pass_1 before_pass_2 after_pass_2 | Specify when during the transcode to fail if VBV constraints can not be met. |
hrd_signaling | enum encoder multiplexer | Add hrd-parameters to h265 encoding if set to encoder, no need to configure codec specific parameters. |
use_closed_gop | boolean | Use closed GOPs - not valid for all codecs. |
first_gop_closed | boolean | First GOP only shall be closed - only valid for Mainconcept MPEG2. |
max_bframes | integer | The maximum number of B frames between I and P frames. maximum: 100 |
idr_interval | anyOf default | Describes a frame interval, as count or seconds. |
iframe_interval | anyOf default | Describes a frame interval, as count or seconds. |
forced_keyframes | object | Allows forcing keyframe insertion at specific frames or times. |
crf | number | The Constant Rate Factor setting for h.264 and h.265. A setting of 18 is considered excellent. A change of plus/minus 6 should half/double the resulting file size. See https://trac.ffmpeg.org/wiki/Encode/H.264 maximum: 63 |
q | number | A setting to determine quality, effect depends on the codec used |
qscale | number | A setting to determine QScale difference between I and P frames. Codec dependent, see https://www.ffmpeg.org/ffmpeg-codecs.html |
qmin | number | The video minimum quantizer scale. minimum: -1 maximum: 69 |
qmax | number | The video maximum quantizer scale. minimum: -1 maximum: 1024 |
dc_precision | integer | The number of bits to use in calculating the DC component of intra-coded blocks. minimum: 8 maximum: 10 |
use_sequence_display_extension | boolean | This will write the sequence display extension (MPEG2 only). |
use_sequence_header_per_gop | boolean | This will write a sequence header for each gop. |
use_intra | boolean | Set to use only I-frames. Default depends on the codec. |
use_intra_vlc | boolean | Set to use intra-vlc tables only (MPEG2 only). |
use_non_linear_quant | boolean | Set to use non-linear quantizer (MPEG2 only). |
use_interlace_encode_mode | boolean | This determines if the codec shall be forced to perform interlaced (field-separated) encodes. Default: "auto". Not to be confused with interlace_mode. |
use_scene_detection | boolean | Enable or disable scene change detection. Disabling will come with a steep penalty on video quality. default: true |
use_low_delay | boolean | Instruct the encoder to use low delay encoding modes, exact meaning varies by codec. |
rtp_payload_size | integer | RTP payload size in bytes. |
afd | number | Set AFD (Active Format Description ) value. This is only supported in MXF outputs. |
vtag | string | Allows overriding the default hev1 or hvc1 tags applied to HEVC content. |
track_name | string | The name of this video track - will be used for mov files and MPEG-DASH (representation::id) for example. May be ignored, depending on your container format. |
closed_captions | object | Object describing the CC parameters for the targeted output. |
mpeg2 | object | A set of MPEG2-specific options for closed captions and telecine. |
mov_atoms | object | Override video track MOV atoms. |
hdr10 | object | Object describing the HDR10 metadata source location and mastering display characteristics. |
dolby_vision | object | Object describing Dolby Vision encoding options. |
image_sequence | object | Object defining the settings to be used when outputting a sequence of images. |
rotation | number string | The video rotation. Optional. May be expressed in decimal, examples: 90.0 |
filters | array | An array of video filters to be applied to the output targets. |
scaler | object | The type of function to be used in scaling operations. |
Example video
{
"uid": "transcode_media",
"kind": "transcode",
"payload": {
"location": {
"storage_provider": "s3",
"path": "s3://my_bucket/my_folder"
},
"targets": [
{
"file_pattern": "{source_basename}_converted.mp4",
"existing_files": "replace",
"container": {
"kind": "mp4"
},
"video": {
"codec": "h264",
"width": 1920,
"height": 1080,
"bitrate_kb": 6000,
"max_bitrate_kb": 8000,
"bitrate_mode": "vbr"
},
"audio": [
{
"codec": "heaac_v2",
"channels": 2,
"sample_rate": 48000
}
]
}
]
}
}