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 copyh264h265proresmpeg1mpeg2mpeg4vp8vp9dv25dv50dnxhdmjpegjpeg2000rawpngjpeg | The desired output video codec. |
| codec_provider | enum ffmpegdolby_impactmainconcept_v10mainconcept_v11mainconcept_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: 8maximum: 8192 |
| height | number | Height of the output video. minimum: 8maximum: 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: 1maximum: 64default: 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: 1maximum: 64default: 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: 1default: 0.05 |
| ar_auto_crop | enum nonedistortedpreserving | 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: 1default: 1.0 |
| video_format | enum componentpalntscsecammacunspecified | 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 progressivetffbff | 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 yuv411pyuv420pyuv422pyuv420p10leyuv422p10leyuv444p10leyuva444p10leyuv420p12leyuv422p12leyuv444p12leyuva444p12leyuv420p16leyuv422p16leyuv444p16leyuva444p16leyuvj420pyuvj422prgb24rgb48bergba64bergb48lergba64legbrp10legbrp10begbrp12legbrp12be | The pixel format. Note that not all codecs will support all formats. |
| ire_range_mode | enum autofulllimited | Chroma coordinate reference of the source primaries. The default is determined by video size. |
| color_primaries | enum bt601bt709bt470mbt470bgsmpte170msmpte240msmpte431smpte432bt2020film | Chroma coordinate reference of the source primaries. The default is determined by video size. |
| color_trc | enum bt601bt709st2084bt470mgamma22bt470bggamma28smpte170msmpte240msmpte428linearloglog sqrtbt1361 ecgiec61966 2.1iec61966 2.4bt2020_10bitbt2020_12bithlgarib_stdb67 | Color transfer characteristics. The default determined by video size. |
| color_matrix | enum rgbbt470bgbt601bt709smpte170msmpte240mbt2020cbt2020ncsmpte2085 | 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 baselinesimplemainmain10main-intramainstillpicturemain444-8main444-intramain444-stillpicturemain10-intramain422-10main422-10-intramain444-10main444-10-intrahighhigh10high422high444MPHPSP422Papcoapcsapcnapchap4hap4xdnxhr_lbdnxhr_sqdnxhr_hqdnxhr_hqxdnxhr_444jpeg2000p0p1cinema2kcinema4kcinema2k_scalablecinema4k_scalablecinema_ltsbc_singlebc_multibc_multi_rimf_2kimf_4kimf_8kimf_2k_rimf_4k_rimf_8k_rmultiviewmultiview10 | The profile for your codec. Not all profiles are valid for all codecs. |
| level | enum 1.01.11.21.32.02.12.23.03.13.24.04.14.25.05.15.26.0LLMLHLH14 | 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 ultrafastsuperfastveryfastfasterfastmediumslowslowerveryslowplacebo | Codec-dependent preset, applies to h264 and h265 only. |
| tune | enum psnrssimfastdecodezerolatencygrainfilmanimationstillimagetouhouvmaf | 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 VCDSVCDDVDDVD_MPEG1DVD_DVRDVD_DVR_MPEG1DVD_PVRDVD_PVR_MPEG1DTVDVBMMVDVHSATSCATSCHICABLELABSATSC_CHDV_HD1HDV_HD2D10D10_25D10_30D10_40D10_50HD_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 cbrcbr_unconstrainedcrfvbrcqcae | 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: 1maximum: 10000001 |
| min_bitrate_kb | number | The minimum video bitrate in kilobits per second. Only valid for crf and vbr. minimum: 1maximum: 10000001 |
| max_bitrate_kb | number | The maximum video bitrate in kilobits per second. Only valid for crf and vbr. minimum: 1maximum: 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_1before_pass_2after_pass_2 | Specify when during the transcode to fail if VBV constraints can not be met. |
| hrd_signaling | enum encodermultiplexer | 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: -1maximum: 69 |
| qmax | number | The video maximum quantizer scale. minimum: -1maximum: 1024 |
| dc_precision | integer | The number of bits to use in calculating the DC component of intra-coded blocks. minimum: 8maximum: 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
}
]
}
]
}
}