All CPU codecs from the following table is the FFMpeg based video codecs. GPU codecs is a custom implementation of Medialooks team.
Auto Select
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 | |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N |
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
Apple ProRes (Legacy, SW)
Apple ProRes (iCodec Pro, SW)
DNxHD (Avid, SW)
DV / DVCPRO HD (SW)
FLV / Sorenson Spark (H.263, SW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
HuffYUV (Lossless, SW)
JPEG 2000 (OpenJPEG, SW)
MJPEG (Motion JPEG, SW)
MPEG-1 Video (SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
QuickTime Animation (RLE, SW)
VP8 (Google, SW)
VP9 (Google, SW)
WMV8 (Windows Media Video 8, SW)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
ADPCM IMA QuickTime
ADPCM Microsoft
ALAC (Apple Lossless)
E-AC-3 (Dolby Digital Plus)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Ogg Vorbis
PCM 16-bit Signed LE
PCM 24-bit Signed LE
PCM 24-bit D-Cinema
PCM 32-bit Signed LE
PCM 32-bit Float LE
No Audio (Disabled)
AAC (Audio File, ADTS)
Configuration Parameter: adts
Extensions: aac
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| write_id3v2 | option_fixed | Enable ID3v2 tag writing (default false) Supported values: false, true. | |
| write_apetag | option_fixed | Enable APE tag writing (default false) Supported values: false, true. | |
| write_mpeg2 | option_fixed | Set MPEG version to MPEG-2 (default false) Supported values: false, true. | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
No Video (Disabled)
Audio codecs
AAC (Advanced Audio Coding)
AC-3 (Audio File)
Configuration Parameter: ac3
Extensions: ac3
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
No Video (Disabled)
Audio codecs
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
ASF (Advanced Streaming Format)
Configuration Parameter: asf
Extensions: asf,wmv,wma
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| packet_size | int | Packet size (from 100 to 65536) (default 3200) | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
DV / DVCPRO HD (SW)
FLV / Sorenson Spark (H.263, SW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
HuffYUV (Lossless, SW)
MJPEG (Motion JPEG, SW)
MPEG-1 Video (SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
VP8 (Google, SW)
VP9 (Google, SW)
WMV8 (Windows Media Video 8, SW)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
ADPCM Microsoft
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Ogg Vorbis
PCM 16-bit Signed LE
PCM 24-bit Signed LE
PCM 32-bit Signed LE
PCM 32-bit Float LE
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
AVI (Audio Video Interleaved)
Configuration Parameter: avi
Extensions: avi
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| reserve_index_space | int | 0 | Reserve space (in bytes) at the beginning of the file for each stream index Range: minimum 0.0; maximum 2147483647. |
| write_channel_mask | option_fixed | Write the channel layout mask into the audio stream header. This option is enabled by default. Disabling the channel mask can be useful in specific scenarios, e.g. when merging multiple audio streams into one for compatibility with software that only supports a single audio stream in AVI Supported values: false, true. | |
| flipped_raw_rgb | option_fixed | Raw RGB bitmaps are stored bottom-up (default false) Supported values: false, true. | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
DPX (Digital Picture eXchange, SW)
FFV1 (Lossless, SW)
FLV / Sorenson Spark (H.263, SW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
Hap (Vidvox, SW)
HuffYUV (Lossless, SW)
JPEG 2000 (OpenJPEG, SW)
MJPEG (Motion JPEG, SW)
MPEG-1 Video (SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
PNG (Image Sequence, SW)
Uncompressed 4:2:2 8-bit (SW)
Uncompressed 4:2:2 10-bit (SW)
VP8 (Google, SW)
VP9 (Google, SW)
WMV8 (Windows Media Video 8, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
ADPCM Microsoft
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Ogg Vorbis
PCM 16-bit Signed LE
PCM 24-bit Signed LE
PCM 32-bit Signed LE
PCM 32-bit Float LE
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
DV (Digital Video)
Configuration Parameter: dv
Extensions: dv
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
DV (Digital Video)
Audio codecs
PCM 16-bit Signed LE
No Audio (Disabled)
Video codec attributes
DV (Digital Video)
| Name | Type | Default | Description |
|---|---|---|---|
| dv_format | option_fixed | dvsd | DV format Supported values: dvsd, dv25. |
| top | int | Field order for interlaced files (-1 - auto, 0 - bottom first, 1 - top first) Range: minimum -1; maximum 1. |
DVB-Compatible Streaming (MPEG-TS DVB)
Configuration Parameter: dvb
Extensions: udp://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| embed_scte35 | bool | false | Enable embedding SCTE-35 triggers into MPEG transport stream |
| service_name | string | MService001 | Set Service Name |
| service_provider | string | Medialooks | Set Service Provider |
| transport_stream_id | int | 1 | Set the transport_stream_id. This identifies a transponder in DVB. Default is 0x0001 Range: minimum 1; maximum 65535. |
| original_network_id | int | 1 | Set the original_network_id. This is unique identifier of a network in DVB. Its main use is in the unique identification of a service through the path Original_Network_ID, Transport_Stream_ID. Default is 0x0001 Range: minimum 1; maximum 65535. |
| muxrate | int | 1 | Set a constant muxrate. Default is VBR Range: minimum 0; maximum 2147483647. |
| service_id | int | 1 | Set service_id field Range: minimum 1; maximum 65535. |
| service_type | option_fixed | digital_tv | Service type Supported values: digital_tv, mpeg2_digital_hdtv, advanced_codec_digital_sdtv, advanced_codec_digital_hdtv, hevc_digital_hdtv, digital_radio, teletext, advanced_codec_digital_radio.digital_tv: Digital Television.digital_radio: Digital Radio.teletext: Teletext.advanced_codec_digital_radio: Advanced Codec Digital Radio.mpeg2_digital_hdtv: MPEG2 Digital HDTV.advanced_codec_digital_sdtv: Advanced Codec Digital SDTV.advanced_codec_digital_hdtv: Advanced Codec Digital HDTV.hevc_digital_hdtv: HEVC Digital Television Service. |
| pmt_start_pid | int | 192 | Set the first pid of the PMT Range: minimum 32; maximum 8186. |
| start_pid | int | 1024 | Set the first pid Range: minimum 32; maximum 8186. |
| pes_payload_size | int | 0 | Set minimum PES packet payload in bytes. Default is 0: each audio frame is sent in its own PES packet Range: minimum 0.0; maximum 2147483647. |
| mpegts_flags | flags | +system_b | MPEG-TS muxing flags Reemit PAT/PMT before writing the next packetReemit PAT and PMT at each video frameUse LATM packetization for AACConform to System B (DVB) instead of System A (ATSC) Supported values: resend_headers, latm, pat_pmt_at_frames, system_b, initial_discontinuity, nit, omit_rai.initial_discontinuity: Mark initial packets as discontinuousnit: Enable NIT transmissionomit_rai: Disable writing of random access indicator |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| tables_version | int | 0 | Set PAT, PMT, SDT and NIT version (default 0, valid values are from 0 to 31, inclusively). This option allows updating stream structure so that standard consumer may detect the change |
| rc_buffers | int | 8 | Rate-Control buffers |
| rc_sync_msec | int | 1 | Rate-Control precision (in msec, minimum 1 msec) |
| rc_max_underflow_msec | int | 30 | Rate-Control max underflow time, after this time the clock corrected (in msec) |
| pcr_period | int | 20 | Override the PCR retransmission interval in milliseconds. The SDK preset default is 20 ms. Set -1 for automatic selection: 20 ms for CBR streams, or the highest multiple of the frame duration below 100 ms for VBR streams. Range: minimum -1; maximum 2147483647. |
| pat_period | double | 0.1 | PAT/PMT retransmission time limit in seconds (default 100 msec) |
| sdt_period | double | 0.5 | SDT retransmission time limit in seconds (default 500 msec, no transmit -1) Range: minimum -1.0. |
| nit_period | double | 9.0 | NIT retransmission time limit in seconds (default 9 s, no transmit -1) Range: minimum -1.0. |
| tdt_period | double | 25.0 | TDT retransmission time limit in seconds (default 25 s, no transmit -1) Range: minimum -1.0. |
| eit_period | double | 1.5 | EIT present/following retransmission time limit in seconds (default 1.5 s, no transmit -1) Range: minimum -1.0. |
| flush_packets | int | -1 | Enable flushing of the I/O context after each packet Range: minimum -1; maximum 1. |
| max_delay | int | 700000 | Set maximum multiplexing PTS/PCR delay in microseconds Range: minimum 0. |
| start_pcr | double | 0.0 | Set the start PCR value in second Range: minimum 0; maximum 2147483647. |
| muxer.buffer_min | int | 5 | Set number of packets that should be accumulated in the multiplexer queue before processing begins Range: minimum 0. |
| muxer.buffer_max | int | 10 | Set maximum multiplexer packets queue size Range: minimum 0. |
| cc_language | string | und | ISO 639-2 language of one configured digital caption service advertised in PMT when embed_cc is enabled. Empty or invalid values use und. No automatic service detection or caption encoding conversion. Supported video: H.264, MPEG-2 and MPEG-4; no descriptor in M2TS/BDAV; unsupported video codecs produce a warning |
| cc_service | int | 1 | CEA-708 caption service number advertised in PMT Range: minimum 1; maximum 63. |
| cc_korean_code | bool | true | Korean extension per KCS.KO-07.0093 (2013), section 4.2, Table 4.7: false for KS X 1001, true for Unicode when cc_language=kor. For other languages the A/65 reserved bit remains 1. Signalling only; caption bytes are not converted |
| cc_easy_reader | bool | false | CEA-708 caption service easy-reader flag |
| cc_wide_aspect | bool | true | CEA-708 caption service wide-aspect-ratio flag |
| scte35_pid | int | -1 | Set SCTE-35 stream PID. Use -1 for automatic PID assignment |
| mpegts_m2ts_mode | option_fixed | Enable M2TS mode. auto enables it when the file extension is .m2ts (FFmpeg default auto). Supported values: auto, false, true. | |
| mpegts_copyts | option_fixed | Do not offset DTS/PTS by max_delay; auto and false offset them (FFmpeg default auto). Supported values: auto, false, true. | |
| omit_video_pes_length | option_fixed | Omit the PES packet length for video packets (default true) Supported values: false, true. | |
| dvb | option_fixed | DVB compatible MPEG-TS (NIT on, PAT/PMT not forced at video frames). The writer sets true for this format (SDK default true). Supported values: false, true. | |
| buffer_size | int | System data size (in bytes) (from -1 to INT_MAX) (default -1) | |
| bitrate | string | Bits to send per second (from 0 to I64_MAX) (default 0) | |
| burst_bits | string | Max length of bursts in bits (when using bitrate) (from 0 to I64_MAX) (default 0) | |
| localport | int | Local port (from -1 to INT_MAX) (default -1) | |
| local_port | int | Local port (from -1 to INT_MAX) (default -1) | |
| localaddr | string | Local address | |
| udplite_coverage | int | choose UDPLite head size which should be validated by checksum (from 0 to INT_MAX) (default 0) | |
| pkt_size | int | Maximum UDP packet size. The writer adds pkt_size=1316 to a DVB UDP URL that has no pkt_size, and the URL value overrides this property: set it in the URL, e.g. udp://239.0.0.1:1234?pkt_size=1316 Range: minimum -1; maximum 2147483647. | |
| reuse | option_fixed | explicitly allow reusing UDP sockets (default auto) Supported values: auto, false, true. | |
| reuse_socket | option_fixed | explicitly allow reusing UDP sockets (default auto) Supported values: auto, false, true. | |
| broadcast | option_fixed | explicitly allow or disallow broadcast destination (default false) Supported values: false, true. | |
| ttl | int | Time to live (multicast only) (from 0 to 255) (default 16) | |
| dscp | int | DSCP class for outgoing packets (from -1 to 63) (default -1) | |
| connect | option_fixed | set if connect() should be called on socket (default false) Supported values: false, true. | |
| sources | string | Source list | |
| block | string | Block list | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
DVB-Compatible Streaming (MPEG-TS over RTP)
Configuration Parameter: dvb
Protocol: rtp://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| cc_language | string | und | ISO 639-2 language of one configured digital caption service advertised in PMT when embed_cc is enabled. Empty or invalid values use und. No automatic service detection or caption encoding conversion. Supported video: H.264, MPEG-2 and MPEG-4; no descriptor in M2TS/BDAV; unsupported video codecs produce a warning |
| cc_service | int | 1 | CEA-708 caption service number advertised in PMT Range: minimum 1; maximum 63. |
| cc_korean_code | bool | true | Korean extension per KCS.KO-07.0093 (2013), section 4.2, Table 4.7: false for KS X 1001, true for Unicode when cc_language=kor. For other languages the A/65 reserved bit remains 1. Signalling only; caption bytes are not converted |
| cc_easy_reader | bool | false | CEA-708 caption service easy-reader flag |
| cc_wide_aspect | bool | true | CEA-708 caption service wide-aspect-ratio flag |
| embed_scte35 | bool | false | Enable embedding SCTE-35 triggers into MPEG transport stream |
| service_name | string | MService001 | Set Service Name |
| service_provider | string | Medialooks | Set Service Provider |
| transport_stream_id | int | 1 | Set the transport_stream_id. This identifies a transponder in DVB. Default is 0x0001 Range: minimum 1; maximum 65535. |
| original_network_id | int | 1 | Set the original_network_id. This is unique identifier of a network in DVB. Its main use is in the unique identification of a service through the path Original_Network_ID, Transport_Stream_ID. Default is 0x0001 Range: minimum 1; maximum 65535. |
| muxrate | int | 1 | Set a constant muxrate. Default is VBR Range: minimum 0; maximum 2147483647. |
| service_id | int | 1 | Set service_id field Range: minimum 1; maximum 65535. |
| service_type | option_fixed | digital_tv | Service type Supported values: digital_tv, mpeg2_digital_hdtv, advanced_codec_digital_sdtv, advanced_codec_digital_hdtv, hevc_digital_hdtv, digital_radio, teletext, advanced_codec_digital_radio.digital_tv: Digital Television.digital_radio: Digital Radio.teletext: Teletext.advanced_codec_digital_radio: Advanced Codec Digital Radio.mpeg2_digital_hdtv: MPEG2 Digital HDTV.advanced_codec_digital_sdtv: Advanced Codec Digital SDTV.advanced_codec_digital_hdtv: Advanced Codec Digital HDTV.hevc_digital_hdtv: HEVC Digital Television Service. |
| pmt_start_pid | int | 192 | Set the first pid of the PMT Range: minimum 32; maximum 8186. |
| start_pid | int | 1024 | Set the first pid Range: minimum 32; maximum 8186. |
| pes_payload_size | int | 0 | Set minimum PES packet payload in bytes. Default is 0: each audio frame is sent in its own PES packet Range: minimum 0.0; maximum 2147483647. |
| mpegts_flags | flags | +system_b | MPEG-TS muxing flags Supported values: resend_headers, latm, pat_pmt_at_frames, system_b, initial_discontinuity, nit, omit_rai.resend_headers: Reemit PAT/PMT before writing the next packetpat_pmt_at_frames: Reemit PAT and PMT at each video framelatm: Use LATM packetization for AACsystem_b: Conform to System B (DVB) instead of System A (ATSC)initial_discontinuity: Mark initial packets as discontinuousnit: Enable NIT transmissionomit_rai: Disable writing of random access indicator |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| tables_version | int | 0 | Set PAT, PMT, SDT and NIT version (default 0, valid values are from 0 to 31, inclusively). This option allows updating stream structure so that standard consumer may detect the change |
| rc_buffers | int | 8 | Rate-Control buffers |
| rc_sync_msec | int | 1 | Rate-Control precision (in msec, minimum 1 msec) |
| rc_max_underflow_msec | int | 30 | Rate-Control max underflow time, after this time the clock corrected (in msec) |
| pcr_period | int | 20 | Override the PCR retransmission interval in milliseconds. The SDK preset default is 20 ms. Set -1 for automatic selection: 20 ms for CBR streams, or the highest multiple of the frame duration below 100 ms for VBR streams. Range: minimum -1; maximum 2147483647. |
| pat_period | double | 0.1 | PAT/PMT retransmission time limit in seconds (default 100 msec) |
| sdt_period | double | 0.5 | SDT retransmission time limit in seconds (default 500 msec, no transmit -1) Range: minimum -1.0. |
| nit_period | double | 9.0 | NIT retransmission time limit in seconds (default 9 s, no transmit -1) Range: minimum -1.0. |
| tdt_period | double | 25.0 | TDT retransmission time limit in seconds (default 25 s, no transmit -1) Range: minimum -1.0. |
| eit_period | double | 1.5 | EIT present/following retransmission time limit in seconds (default 1.5 s, no transmit -1) Range: minimum -1.0. |
| flush_packets | int | -1 | Enable flushing of the I/O context after each packet Range: minimum -1; maximum 1. |
| max_delay | int | 700000 | Set maximum multiplexing PTS/PCR delay in microseconds Range: minimum 0. |
| start_pcr | double | 0.0 | Set the start PCR value in second Range: minimum 0; maximum 2147483647. |
| muxer.buffer_min | int | 5 | Set number of packets that should be accumulated in the multiplexer queue before processing begins Range: minimum 0. |
| muxer.buffer_max | int | 10 | Set maximum multiplexer packets queue size Range: minimum 0. |
| mpegts_m2ts_mode | option_fixed | Enable M2TS mode. auto enables it when the file extension is .m2ts (FFmpeg default auto). Supported values: auto, false, true. | |
| mpegts_copyts | option_fixed | Do not offset DTS/PTS by max_delay; auto and false offset them (FFmpeg default auto). Supported values: auto, false, true. | |
| omit_video_pes_length | option_fixed | Omit the PES packet length for video packets (default true) Supported values: false, true. | |
| ttl | int | Time to live (multicast only) (from -1 to 255) (default -1) | |
| buffer_size | int | Send/Receive buffer size (in bytes) (from -1 to INT_MAX) (default -1) | |
| rtcp_port | int | Custom rtcp port (from -1 to INT_MAX) (default -1) | |
| rtcpport | int | Custom rtcp port (from -1 to INT_MAX) (default -1) | |
| local_rtpport | int | Local rtp port (from -1 to INT_MAX) (default -1) | |
| localrtpport | int | Local rtp port (from -1 to INT_MAX) (default -1) | |
| local_rtcpport | int | Local rtcp port (from -1 to INT_MAX) (default -1) | |
| localrtcpport | int | Local rtcp port (from -1 to INT_MAX) (default -1) | |
| connect | option_fixed | Connect socket (default false) Supported values: false, true. | |
| write_to_source | option_fixed | Send packets to the source address of the latest received packet (default false) Supported values: false, true. | |
| pkt_size | int | Maximum packet size (from -1 to INT_MAX) (default -1) | |
| dscp | int | DSCP class (from -1 to INT_MAX) (default -1) | |
| timeout | string | set timeout (in microseconds) of socket I/O operations (from -1 to I64_MAX) (default -1) | |
| sources | string | Source list | |
| block | string | Block list | |
| fec | string | FEC | |
| localaddr | string | Local address | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
DVD Video (VOB Files)
Configuration Parameter: vob
Extensions: vob
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| muxrate | int | 0 | The combined rate of all video and audio elementary stream packets common to one program. This rate also includes the VBI and sub-picture private stream data, which MPEG treats as a private stream type Range: minimum 0; maximum 1677721200. |
| preload | int | 500000 | Initial demux-decode delay in microseconds Range: minimum 0.0; maximum 2147483647. |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
MPEG-1 Video (SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
No Video (Disabled)
Audio codecs
Default format codec
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
FLV (Flash Video)
Configuration Parameter: flv
Extensions: flv
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| flvflags | flags | FLV muxer flags (default 0) Supported values: aac_seq_header_detect, no_sequence_end, no_metadata, no_duration_filesize, add_keyframe_index.aac_seq_header_detect: Put AAC sequence header based on stream datano_sequence_end: disable sequence end for FLVno_metadata: disable metadata for FLVno_duration_filesize: disable duration and filesize zero value metadata for FLVadd_keyframe_index: Add keyframe index metadata | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
FLV / Sorenson Spark (H.263, SW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
No Video (Disabled)
Audio codecs
AAC (Advanced Audio Coding)
PCM 16-bit Signed LE
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
GXF (General eXchange Format)
Configuration Parameter: gxf
Extensions: gxf
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
MPEG-2 Video PAL
MPEG-2 Video NTSC
Audio codecs
PCM 16-bit Signed LE
No Audio (Disabled)
HLS Streaming (Apple HTTP Live Streaming)
Configuration Parameter: hls
Extensions: m3u8
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| embed_scte35 | bool | false | Enable embedding SCTE-35 triggers into HLS stream |
| start_number | int64 | 0 | Start the playlist sequence number (#EXT-X-MEDIA-SEQUENCE) from the specified number when hls_start_number_source value is generic. (This is the default case.) Unless hls_flags single_file is set, it also specifies starting sequence numbers of segment and subtitle filenames. Default value is 0 Range: minimum 0.0. |
| hls_time | double | 2.0 | Set the target segment length. Default value is 2. Duration must be a time duration specification. Segment will be cut on the next key frame after this time has passed Range: minimum 0.0. |
| hls_init_time | double | 0.0 | Set the initial target segment length. Default value is 0. Duration must be a time duration specification. Segment will be cut on the next key frame after this time has passed on the first m3u8 list. After the initial playlist is filled, ffmpeg will cut segments at duration equal to hls_time Range: minimum 0.0. |
| hls_list_size | int | 5 | Set the maximum number of playlist entries. If set to 0 the list file will contain all the segments. Default value is 5 Range: minimum 0.0; maximum 2147483647. |
| hls_delete_threshold | int | 1 | Set the number of unreferenced segments to keep on disk before hls_flags delete_segments deletes them. Increase this to allow continue clients to download segments which were recently referenced in the playlist. Default value is 1, meaning segments older than hls_list_size+1 will be deleted Range: minimum 1.0; maximum 2147483647. |
| hls_vtt_options | string | Set hls vtt list of options for the container format used for hls | |
| hls_allow_cache | int | -1 | Explicitly set whether the client MAY (1) or MUST NOT (0) cache media segments Range: minimum -2147483648; maximum 2147483647. |
| hls_base_url | string | Append baseurl to every entry in the playlist. Useful to generate playlists with absolute paths. Note that the playlist sequence number must be unique for each segment and it is not to be confused with the segment filename sequence number which can be cyclic, for example if the wrap option is specified | |
| hls_segment_filename | string | Set the segment filename. Unless the hls_flags option is set with ‘single_file’, filename is used as a string format with the segment number appended | |
| hls_segment_size | int | 0 | Maximum size per segment file (in bytes) Range: minimum 0.0; maximum 2147483647. |
| hls_key_info_file | string | Use the information in key_info_file for segment encryption. The first line of key_info_file specifies the key URI written to the playlist. The key URL is used to access the encryption key during playback. The second line specifies the path to the key file used to obtain the key during the encryption process. The key file is read as a single packed array of 16 octets in binary format. The optional third line specifies the initialization vector (IV) as a hexadecimal string to be used instead of the segment sequence number (default) for encryption. Changes to key_info_file will result in segment encryption with the new key/IV and an entry in the playlist for the new key URI/IV if hls_flags periodic_rekey is enabled | |
| hls_enc | option_fixed | Enable (1) or disable (0) the AES128 encryption. When enabled every segment generated is encrypted and the encryption key is saved as playlist name.key Supported values: false, true. | |
| hls_enc_key | string | Specify a 16-octet key to encrypt the segments, by default it is randomly generated | |
| hls_enc_key_url | string | If set, keyurl is prepended instead of baseurl to the key filename in the playlist | |
| hls_enc_iv | string | Specify the 16-octet initialization vector for every segment instead of the autogenerated ones | |
| hls_subtitle_path | string | Set path of hls subtitles | |
| hls_segment_type | option | mpegts | Set hls segment files type Supported values: mpegts, fmp4.mpegts: Output segment files in MPEG-2 Transport Stream format. This is compatible with all HLS versionsfmp4: Output segment files in fragmented MP4 format, similar to MPEG-DASH. fmp4 files may be used in HLS version 7 and above |
| segment_type | option_fixed | Output segment files in MPEG-2 Transport Stream format. This is compatible with all HLS versionsOutput segment files in fragmented MP4 format, similar to MPEG-DASH. fmp4 files may be used in HLS version 7 and above Supported values: mpegts, fmp4. | |
| hls_fmp4_init_filename | string | init.mp4 | Set filename for the fragment files header file, default filename is init.mp4. When strftime is enabled, filename is expanded to the segment filename with localtime |
| hls_flags | flags | Set flags affecting HLS playlist and media file generation Supported values: single_file, temp_file, delete_segments, round_durations, discont_start, omit_endlist, split_by_time, append_list, program_date_time, second_level_segment_index, second_level_segment_duration, second_level_segment_size, periodic_rekey, independent_segments, iframes_only.single_file: If this flag is set, the muxer will store all segments in a single MPEG-TS file, and will use byte ranges in the playlist. HLS playlists generated with this way will have the version number 4temp_file: Write segment data to filename.tmp and rename to filename only once the segment is completedelete_segments: Segment files removed from the playlist are deleted after a period of time equal to the duration of the segment plus the duration of the playlistround_durations: Round the duration info in the playlist file segment info to integer values, instead of using floating point. If there are no other features requiring higher HLS versions be used, then this will allow ffmpeg to output a HLS version 2 m3u8discont_start: Add the #EXT-X-DISCONTINUITY tag to the playlist, before the first segment’s informationomit_endlist: Do not append the EXT-X-ENDLIST tag at the end of the playlistsplit_by_time: Allow segments to start on frames other than key frames. This improves behavior on some players when the time between key frames is inconsistent, but may make things worse on others, and can cause some oddities during seeking. This flag should be used with the hls_time optionappend_list: Append new segments into the end of old segment list, and remove the #EXT-X-ENDLIST from the old segment listprogram_date_time: Generate EXT-X-PROGRAM-DATE-TIME tagssecond_level_segment_index: Make it possible to use segment indexes as %%d in the hls_segment_filename option expression besides date/time values when strftime option is on. To get fixed width numbers with trailing zeroes, %%0xd format is available where x is the required widthsecond_level_segment_duration: Make it possible to use segment duration (calculated in microseconds) as %%t in hls_segment_filename option expression besides date/time values when strftime is on. To get fixed width numbers with trailing zeroes, %%0xt format is available where x is the required widthsecond_level_segment_size: Make it possible to use segment sizes (counted in bytes) as %%s in hls_segment_filename option expression besides date/time values when strftime is on. To get fixed width numbers with trailing zeroes, %%0xs format is available where x is the required widthperiodic_rekey: The file specified by hls_key_info_file will be checked periodically and detect updates to the encryption info. Be sure to replace this file atomically, including the file containing the AES encryption keyindependent_segments: Add the #EXT-X-INDEPENDENT-SEGMENTS tag to playlists that has video segments and when all the segments of that playlist are guaranteed to start with a key frameiframes_only: add EXT-X-I-FRAMES-ONLY, whenever applicable | |
| flags | flags | If this flag is set, the muxer will store all segments in a single MPEG-TS file, and will use byte ranges in the playlist. HLS playlists generated with this way will have the version number 4Write segment data to filename.tmp and rename to filename only once the segment is completeSegment files removed from the playlist are deleted after a period of time equal to the duration of the segment plus the duration of the playlistRound the duration info in the playlist file segment info to integer values, instead of using floating point. If there are no other features requiring higher HLS versions be used, then this will allow ffmpeg to output a HLS version 2 m3u8Add the #EXT-X-DISCONTINUITY tag to the playlist, before the first segment’s informationDo not append the EXT-X-ENDLIST tag at the end of the playlistAllow segments to start on frames other than key frames. This improves behavior on some players when the time between key frames is inconsistent, but may make things worse on others, and can cause some oddities during seeking. This flag should be used with the hls_time optionAppend new segments into the end of old segment list, and remove the #EXT-X-ENDLIST from the old segment listGenerate EXT-X-PROGRAM-DATE-TIME tagsMake it possible to use segment indexes as %%d in the hls_segment_filename option expression besides date/time values when strftime option is on. To get fixed width numbers with trailing zeroes, %%0xd format is available where x is the required widthMake it possible to use segment duration (calculated in microseconds) as %%t in hls_segment_filename option expression besides date/time values when strftime is on. To get fixed width numbers with trailing zeroes, %%0xt format is available where x is the required widthMake it possible to use segment sizes (counted in bytes) as %%s in hls_segment_filename option expression besides date/time values when strftime is on. To get fixed width numbers with trailing zeroes, %%0xs format is available where x is the required widthThe file specified by hls_key_info_file will be checked periodically and detect updates to the encryption info. Be sure to replace this file atomically, including the file containing the AES encryption keyAdd the #EXT-X-INDEPENDENT-SEGMENTS tag to playlists that has video segments and when all the segments of that playlist are guaranteed to start with a key frame Supported values: single_file, temp_file, delete_segments, round_durations, discont_start, omit_endlist, split_by_time, append_list, program_date_time, second_level_segment_index, second_level_segment_duration, second_level_segment_size, periodic_rekey, independent_segments, iframes_only.iframes_only: add EXT-X-I-FRAMES-ONLY, whenever applicable | |
| hls_playlist_type | option | Set the HLS playlist type Supported values: event, vod.event: Emit #EXT-X-PLAYLIST-TYPE:EVENT in the m3u8 header. This forces hls_list_size to 0; the playlist can only be appended tovod: Emit #EXT-X-PLAYLIST-TYPE:VOD in the m3u8 header. This forces hls_list_size to 0; the playlist must not change | |
| pl_type | option_fixed | Emit #EXT-X-PLAYLIST-TYPE:EVENT in the m3u8 header. This forces hls_list_size to 0; the playlist can only be appended toEmit #EXT-X-PLAYLIST-TYPE:VOD in the m3u8 header. This forces hls_list_size to 0; the playlist must not change Supported values: event, vod. | |
| method | string | Use the given HTTP method to create the hls files (default: PUT) | |
| hls_start_number_source | option | generic | Start the playlist sequence number (#EXT-X-MEDIA-SEQUENCE) according to the specified source. Unless hls_flags single_file is set, it also specifies source of starting sequence numbers of segment and subtitle filenames. In any case, if hls_flags append_list is set and read playlist sequence number is greater than the specified start sequence number, then that value will be used as start value Supported values: generic, epoch, datetime, epoch_us.generic: start_number value (default)epoch: seconds since epochdatetime: current datetime as YYYYMMDDhhmmssepoch_us: microseconds since epoch |
| start_sequence_source_type | option_fixed | start_number value (default)seconds since epochcurrent datetime as YYYYMMDDhhmmss Supported values: generic, epoch, datetime, epoch_us.epoch_us: microseconds since epoch | |
| http_user_agent | string | Override User-Agent field in HTTP header. Applicable only for HTTP output | |
| var_stream_map | string | Specify a map string defining how to group the audio, video and subtitle streams into different variant streams. The variant stream groups are separated by space. Expected string format is like this "a:0,v:0 a:1,v:1 ....". Here a:, v:, s: are the keys to specify audio, video and subtitle streams respectively. Allowed values are 0 to 9 (limited just based on practical usage) | |
| cc_stream_map | string | Map string which specifies different closed captions groups and their attributes. The closed captions stream groups are separated by space. The closed captions groups configured using this option are mapped to different variant streams by providing the same ccgroup name in the var_stream_map string | |
| master_pl_name | string | Create HLS master playlist with the given name | |
| master_pl_publish_rate | int | 0 | Publish master play list repeatedly every after specified number of segment intervals Range: minimum 0.0; maximum 4294967295. |
| http_persistent | option_fixed | Use persistent HTTP connections. Applicable only for HTTP output Supported values: false, true. | |
| timeout | string | Set timeout for socket I/O operations. Applicable only for HTTP output | |
| scte35_pid | int | -1 | Set SCTE-35 stream PID. Use -1 for automatic PID assignment |
| hls_segment_options | string | set segments files format options of hls | |
| hls_fmp4_init_resend | option_fixed | resend fragment mp4 init file after refresh m3u8 every time (default false) Supported values: false, true. | |
| strftime | option_fixed | set filename expansion with strftime at segment creation (default false) Supported values: false, true. | |
| strftime_mkdir | option_fixed | create last directory component in strftime-generated filename (default false) Supported values: false, true. | |
| ignore_io_errors | option_fixed | Ignore IO errors for stable long-duration runs with network output (default false) Supported values: false, true. | |
| headers | string | set custom HTTP headers, can override built in default headers | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
Icecast Streaming (Ogg / Opus / MP3)
Configuration Parameter: icecast
Extensions: icecast://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| ice_genre | string | Set the stream genre | |
| ice_name | string | Set the stream name | |
| ice_description | string | Set the stream description | |
| ice_url | string | Set the stream website URL | |
| ice_public | bool | false | Set if the stream should be public. The default is false (not public) |
| user_agent | string | Override the User-Agent header. If not specified a string of the form "Lavf/<version>" will be used | |
| password | string | Set the Icecast mountpoint password | |
| content_type | string | Set the stream content type. This must be set if it is different from audio/mpeg | |
| legacy_icecast | bool | false | This enables support for Icecast versions less 2.4.0, that do not support the HTTP PUT method but the SOURCE method |
| tls | bool | false | Establish a TLS (HTTPS) connection to Icecast |
| metadata_update_url | string | Set the Icecast metadata update url | |
| metadata_update_credentials | string | Set the Icecast metadata update credentials (login:password) | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
FLAC (Free Lossless)
MP3 (LAME, MPEG Audio Layer 3)
Opus (libopus)
Ogg Vorbis
No Audio (Disabled)
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
IIS Live Smooth Streaming
Configuration Parameter: ismv
Extensions: http://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| brand | string | Override major brand | |
| empty_hdlr_name | option_fixed | write zero-length name string in hdlr atoms within mdia and minf atoms (default false) Supported values: false, true. | |
| encryption_key | string | The media encryption key (hex) | |
| encryption_kid | string | The media encryption key identifier (hex) | |
| encryption_scheme | string | Configures the encryption scheme, allowed values are none, cenc-aes-ctr | |
| frag_duration | int | Maximum fragment duration (from 0 to INT_MAX) (default 0) | |
| frag_interleave | int | Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0) | |
| frag_size | int | Maximum fragment size (from 0 to INT_MAX) (default 0) | |
| fragment_index | int | Fragment number of the next fragment. Range: minimum 1; maximum 2147483647. | |
| iods_audio_profile | int | iods audio profile atom. (from -1 to 255) (default -1) | |
| iods_video_profile | int | iods video profile atom. (from -1 to 255) (default -1) | |
| ism_lookahead | int | Number of lookahead entries for ISM files (from 0 to 255) (default 0) | |
| movflags | flags | MOV muxer flags (default 0) Supported values: cmaf, dash, default_base_moof, delay_moov, disable_chpl, empty_moov, faststart, frag_custom, frag_discont, frag_every_frame, frag_keyframe, global_sidx, isml, negative_cts_offsets, omit_tfhd_offset, prefer_icc, rtphint, separate_moof, skip_sidx, skip_trailer, use_metadata_tags, write_colr, write_gama, hybrid_fragmented.cmaf: Write CMAF compatible fragmented MP4dash: Write DASH compatible fragmented MP4default_base_moof: Set the default-base-is-moof flag in tfhd atomsdelay_moov: Delay writing the initial moov until the first fragment is cut, or until the first fragment flushdisable_chpl: Disable Nero chapter atomempty_moov: Make the initial moov atom emptyfaststart: Run a second pass to put the index (moov atom) at the beginning of the filefrag_custom: Flush fragments on caller requestsfrag_discont: Signal that the next fragment is discontinuous from earlier onesfrag_every_frame: Fragment at every framefrag_keyframe: Fragment at video keyframesglobal_sidx: Write a global sidx index at the start of the fileisml: Create a live smooth streaming feed (for pushing to a publishing point)negative_cts_offsets: Use negative CTS offsets (reducing the need for edit lists)omit_tfhd_offset: Omit the base data offset in tfhd atomsprefer_icc: If writing colr atom prioritise usage of ICC profile if it exists in stream packet side datartphint: Add RTP hint tracksseparate_moof: Write separate moof/mdat atoms for each trackskip_sidx: Skip writing of sidx atomskip_trailer: Skip writing the mfra/tfra/mfro trailer for fragmented filesuse_metadata_tags: Use mdta atom for metadata.write_colr: Write colr atom even if the color info is unspecified (Experimental, may be renamed or changed, do not use from scripts)write_gama: Write deprecated gama atomhybrid_fragmented: For recoverability, write a fragmented file that is converted to non-fragmented at the end. | |
| moov_size | int | maximum moov size so it can be placed at the begin (from 0 to INT_MAX) (default 0) | |
| min_frag_duration | int | Minimum fragment duration (from 0 to INT_MAX) (default 0) | |
| mov_gamma | double | gamma value for gama atom (from 0 to 10) (default 0) | |
| movie_timescale | int | set movie timescale (from 0 to INT_MAX) (default 0) | |
| rtpflags | flags | RTP muxer flags (default 0) Supported values: latm, rfc2190, skip_rtcp, h264_mode0, send_bye.latm: Use MP4A-LATM packetization instead of MPEG4-GENERIC for AACrfc2190: Use RFC 2190 packetization instead of RFC 4629 for H.263skip_rtcp: Don't send RTCP sender reportsh264_mode0: Use mode 0 for H.264 in RTPsend_bye: Send RTCP BYE packets when finishing | |
| skip_iods | option_fixed | Skip writing iods atom. (default true) Supported values: false, true. | |
| use_editlist | option_fixed | use edit list (default auto) Supported values: auto, false, true. | |
| use_stream_ids_as_track_ids | option_fixed | use stream ids as track ids (default false) Supported values: false, true. | |
| video_track_timescale | int | set timescale of all video tracks (from 0 to INT_MAX) (default 0) | |
| write_btrt | option_fixed | force or disable writing btrt (default auto) Supported values: auto, false, true. | |
| write_prft | option | Write producer reference time box with specified time source (from 0 to 2) (default 0) Supported values: pts, wallclock.pts: 2: ptswallclock: 1: wallclock | |
| write_tmcd | option_fixed | force or disable writing tmcd (default auto) Supported values: auto, false, true. | |
| chunked_post | option_fixed | use chunked transfer-encoding for posts (default true) Supported values: false, true. | |
| http_proxy | string | set HTTP proxy to tunnel through | |
| headers | string | set custom HTTP headers, can override built in default headers | |
| content_type | string | set a specific content type for the POST messages | |
| multiple_requests | option_fixed | use persistent connections (default false) Supported values: false, true. | |
| post_data | string | set custom HTTP post data | |
| auth_type | option | HTTP authentication type (from 0 to 1) (default none) Supported values: none, basic.none: 0: No auth method set, autodetectbasic: 1: HTTP basic authentication | |
| send_expect_100 | option_fixed | Force sending an Expect: 100-continue header for POST (default auto) Supported values: auto, false, true. | |
| location | string | The actual location of the data received | |
| method | string | Override the HTTP method or set the expected HTTP method from a client | |
| listen | int | listen on HTTP (from 0 to 2) (default 0) | |
| resource | string | The resource requested by a client | |
| reply_code | int | The http status code to return to a client (from INT_MIN to 599) (default 200) | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (x265, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
AAC (Advanced Audio Coding)
Direct Stream Copy (No Re-Encoding)
Image Sequence (Still Frames)
Configuration Parameter: image2
Extensions: dpx,png,jpg,tiff,tga,j2c
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| create_folder | bool | true | Create folder for image sequence |
Video codecs
DPX (Digital Picture eXchange, SW)
MJPEG (Motion JPEG, SW)
PNG (Image Sequence, SW)
Audio codecs
WAV (Wave Audio File)
No Audio (Disabled)
Video codec attributes
MJPEG (Motion JPEG, SW)
| Name | Type | Default | Description |
|---|---|---|---|
| huffman | option | Huffman table strategy (from 0 to 1) (default optimal) Supported values: default, optimal.default: 0: defaultoptimal: 1: optimal | |
| force_duplicated_matrix | option_fixed | Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (default false) Supported values: false, true. | |
| mpv_flags | flags | Flags common for all mpegvideo-based encoders. (default 0) Supported values: skip_rd, strict_gop, qp_rd, cbp_rd, naq.skip_rd: RD optimal MB level residual skippingstrict_gop: Strictly enforce gop sizeqp_rd: Use rate distortion optimization for qp selectioncbp_rd: use rate distortion optimization for CBPnaq: normalize adaptive quantization | |
| luma_elim_threshold | int | single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (from INT_MIN to INT_MAX) (default 0) | |
| chroma_elim_threshold | int | single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (from INT_MIN to INT_MAX) (default 0) | |
| quantizer_noise_shaping | int | FFmpeg quantizer_noise_shaping option. (from 0 to INT_MAX) (default 0) | |
| error_rate | int | Simulate errors in the bitstream to test error concealment. (from 0 to INT_MAX) (default 0) | |
| qsquish | double | how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (from 0 to 99) (default 0) | |
| rc_qmod_amp | double | experimental quantizer modulation (from -FLT_MAX to FLT_MAX) (default 0) | |
| rc_qmod_freq | int | experimental quantizer modulation (from INT_MIN to INT_MAX) (default 0) | |
| rc_eq | string | Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. | |
| rc_init_cplx | double | initial complexity for 1-pass encoding (from -FLT_MAX to FLT_MAX) (default 0) | |
| rc_buf_aggressivity | double | currently useless (from -FLT_MAX to FLT_MAX) (default 1) | |
| border_mask | double | increase the quantizer for macroblocks close to borders (from -FLT_MAX to FLT_MAX) (default 0) | |
| lmin | int | minimum Lagrange factor (VBR) (from 0 to INT_MAX) (default 236) | |
| lmax | int | maximum Lagrange factor (VBR) (from 0 to INT_MAX) (default 3658) | |
| skip_threshold | int | Frame skip threshold (from INT_MIN to INT_MAX) (default 0) | |
| skip_factor | int | Frame skip factor (from INT_MIN to INT_MAX) (default 0) | |
| skip_exp | int | Frame skip exponent (from INT_MIN to INT_MAX) (default 0) | |
| skip_cmp | option | Frame skip compare function (from INT_MIN to INT_MAX) (default dctmax) Supported values: sad, sse, satd, dct, psnr, bit, rd, zero, vsad, vsse, nsse, dct264, dctmax, chroma, msad.sad: 0: Sum of absolute differences, fastsse: 1: Sum of squared errorssatd: 2: Sum of absolute Hadamard transformed differencesdct: 3: Sum of absolute DCT transformed differencespsnr: 4: Sum of squared quantization errors, low qualitybit: 5: Number of bits needed for the blockrd: 6: Rate distortion optimal, slowzero: 7: Zerovsad: 8: Sum of absolute vertical differencesvsse: 9: Sum of squared vertical differencesnsse: 10: Noise preserving sum of squared differencesdct264: 14: dct264dctmax: 13: dctmaxchroma: 256: chromamsad: 15: Sum of absolute differences, median predicted | |
| noise_reduction | int | Noise reduction (from INT_MIN to INT_MAX) (default 0) | |
| ps | int | RTP payload size in bytes (from INT_MIN to INT_MAX) (default 0) | |
| global_quality | int | MJPEG quantizer in FFmpeg lambda units (quantizer multiplied by 118). Requires flags=+qscale. (from 118 to 3658) | |
| flags | flags | Set qscale to use global_quality. Supported values: qscale, global_header, bitexact.global_header: global_headerbitexact: bitexact |
PNG (Image Sequence, SW)
| Name | Type | Default | Description |
|---|---|---|---|
| dpi | int | Set image resolution (in dots per inch) (from 0 to 65536) (default 0) | |
| dpm | int | Set image resolution (in dots per meter) (from 0 to 65536) (default 0) | |
| pred | option | Prediction method (from 0 to 5) (default paeth) Supported values: none, sub, up, avg, paeth, mixed.none: 0: nonesub: 1: subup: 2: upavg: 3: avgpaeth: 4: paethmixed: 5: mixed | |
| compression_level | int | PNG/zlib compression level: -1 automatic, 0 uncompressed, 9 maximum compression. (from -1 to 9) |
Audio codec attributes
WAV (Wave Audio File)
| Name | Type | Default | Description |
|---|---|---|---|
| wav_path | string | MWriter only (legacy FFmpeg encoder): target WAV file; by default the image sequence name with the .wav extension |
MKV (Matroska)
Configuration Parameter: matroska
Extensions: mkv
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| reserve_index_space | int | 0 | Reserve a given amount of space (in bytes) at the beginning of the file for the index (cues) Range: minimum 0.0; maximum 2147483647. |
| cluster_size_limit | int | -1 | Store at most the provided amount of bytes in a cluster. If not specified, the limit is set automatically to a sensible hardcoded fixed value Range: minimum -1.0; maximum 2147483647. |
| cluster_time_limit | int | -1 | Store at most the provided number of milliseconds in a cluster. If not specified, the limit is set automatically to a sensible hardcoded fixed value Range: minimum -1.0. |
| dash | option_fixed | Create a WebM file conforming to WebM DASH specification. By default it is set to false Supported values: false, true. | |
| dash_track_number | int | 1 | Track number for the DASH stream. By default it is set to 1 Range: minimum 1; maximum 2147483647. |
| live | option_fixed | Write files assuming it is a live stream. By default it is set to false Supported values: false, true. | |
| allow_raw_vfw | option_fixed | Allow raw VFW mode. By default it is set to false Supported values: false, true. | |
| write_crc32 | option_fixed | Write a CRC32 element inside every Level 1 element. By default it is set to true. This option is ignored for WebM Supported values: false, true. | |
| cues_to_front | option_fixed | move Cues (the index) to the front by shifting data if necessary (default false) Supported values: false, true. | |
| flipped_raw_rgb | option_fixed | store raw RGB bitmaps in VFW mode in bottom-up mode (default false) Supported values: false, true. | |
| default_mode | option | control how a track's FlagDefault is inferred (from 0 to 2) (default passthrough) Supported values: infer, infer_no_subs, passthrough.infer: 0: for each track type, mark each track of disposition default as default; if none exists, mark the first track as defaultinfer_no_subs: 1: for each track type, mark each track of disposition default as default; for audio and video: if none exists, mark the first track as defaultpassthrough: 2: use the disposition flag as-is | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
AV1 (NVIDIA NVENC, HW)
Apple ProRes (Legacy, SW)
Apple ProRes (iCodec Pro, SW)
DV / DVCPRO HD (SW)
FFV1 (Lossless, SW)
FLV / Sorenson Spark (H.263, SW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
HuffYUV (Lossless, SW)
JPEG XS (SVT, SW)
MJPEG (Motion JPEG, SW)
MPEG-1 Video (SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
VP8 (Google, SW)
VP9 (Google, SW)
WMV8 (Windows Media Video 8, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
ALAC (Apple Lossless)
MP2 (MPEG Audio Layer 2)
PCM 16-bit Signed LE
PCM 24-bit Signed LE
PCM 32-bit Signed LE
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
MOV (QuickTime File Format)
Configuration Parameter: mov
Extensions: mov
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| movflags | flags | MOV muxer flags Add RTP hint tracksMake the initial moov atom emptyStart a new fragment at each video keyframeFragment at every frameWrite separate moof/mdat atoms for each trackFlush fragments on caller requestsCreate a live smooth streaming feed (for pushing to a publishing point)Run a second pass to put the index (moov atom) at the beginning of the fileOmit the base data offset in tfhd atomsDisable Nero chapter atomSet the default-base-is-moof flag in tfhd atomsWrite DASH compatible fragmented MP4Signal that the next fragment is discontinuous from earlier onesDelay writing the initial moov until the first fragment is cut, or until the first fragment flushWrite a global sidx index at the start of the fileWrite colr atom (Experimental, may be renamed or changed, do not use from scripts)Write deprecated gama atomUse mdta atom for metadata.Skip writing the mfra/tfra/mfro trailer for fragmented filesUse negative CTS offsets (reducing the need for edit lists) Supported values: rtphint, empty_moov, frag_keyframe, frag_every_frame, separate_moof, frag_custom, isml, faststart, omit_tfhd_offset, disable_chpl, default_base_moof, dash, frag_discont, delay_moov, global_sidx, write_colr, write_gama, use_metadata_tags, skip_trailer, negative_cts_offsets, cmaf, prefer_icc, skip_sidx, hybrid_fragmented.cmaf: Write CMAF compatible fragmented MP4prefer_icc: If writing colr atom prioritise usage of ICC profile if it exists in stream packet side dataskip_sidx: Skip writing of sidx atomhybrid_fragmented: For recoverability, write a fragmented file that is converted to non-fragmented at the end. | |
| moov_size | int | 0 | Reserves space for the moov atom at the beginning of the file instead of placing the moov atom at the end. If the space reserved is insufficient, muxing will fail Range: minimum 0.0; maximum 2147483647. |
| rtpflags | flags | RTP muxer flags Use MP4A-LATM packetization instead of MPEG4-GENERIC for AACUse RFC 2190 packetization instead of RFC 4629 for H.263Don't send RTCP sender reportsUse mode 0 for H.264 in RTPSend RTCP BYE packets when finishing Supported values: latm, rfc2190, skip_rtcp, h264_mode0, send_bye. | |
| skip_iods | option_fixed | Skip writing iods atom Supported values: false, true. | |
| iods_audio_profile | int | -1 | Specify iods number for the audio profile atom (from -1 to 255), default is -1 |
| iods_video_profile | int | -1 | Specify iods number for the video profile atom (from -1 to 255), default is -1 |
| frag_duration | int | 0 | Create fragments that are duration microseconds long Range: minimum 0.0; maximum 2147483647. |
| min_frag_duration | int | 0 | Do not create fragments that are shorter than duration microseconds long Range: minimum 0.0; maximum 2147483647. |
| frag_size | int | 0 | Create fragments that contain up to size bytes of payload data Range: minimum 0.0; maximum 2147483647. |
| ism_lookahead | int | 0 | Specify number of lookahead entries for ISM files (from 0 to 255), default is 0 |
| video_track_timescale | int | 0 | Set the timescale used for video tracks. Range is 0 to INT_MAX. If set to 0, the timescale is automatically set based on the native stream time base. Default is 0 |
| brand | string | Override major brand | |
| use_editlist | option_fixed | Use edit list (default value is auto) Supported values: auto, false, true. | |
| fragment_index | int | 1 | Fragment number of the next fragment Range: minimum 1.0; maximum 2147483647. |
| mov_gamma | double | 0.000000 | Specify gamma value for gama atom (as a decimal number from 0 to 10), default is 0.0, must be set together with + movflags |
| frag_interleave | int | 0 | Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead. It is set to 0 by default Range: minimum 0.0; maximum 2147483647. |
| encryption_scheme | string | Configures the encryption scheme, allowed values are none, cenc-aes-ctr | |
| encryption_key | string | Set the media encryption key in hexadecimal format | |
| encryption_kid | string | Set the media encryption key identifier in hexadecimal format | |
| use_stream_ids_as_track_ids | option_fixed | Use stream ids as track ids Supported values: false, true. | |
| write_tmcd | option_fixed | Force or disable writing tmcd Supported values: auto, false, true. | |
| display_rotation | double | Set video rotation metadata. Rotation is a decimal number specifying the amount in degree by which the video should be rotated counter-clockwise before being displayed | |
| empty_hdlr_name | option_fixed | write zero-length name string in hdlr atoms within mdia and minf atoms (default false) Supported values: false, true. | |
| movie_timescale | int | set movie timescale (from 0 to INT_MAX) (default 0) | |
| write_btrt | option_fixed | force or disable writing btrt (default auto) Supported values: auto, false, true. | |
| write_prft | option | Write producer reference time box with specified time source (from 0 to 2) (default 0) Supported values: pts, wallclock.pts: 2: ptswallclock: 1: wallclock | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
Apple ProRes (Legacy, SW)
Apple ProRes (iCodec Pro, SW)
DPX (Digital Picture eXchange, SW)
DV / DVCPRO HD (SW)
FFV1 (Lossless, SW)
FLV / Sorenson Spark (H.263, SW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
Hap (Vidvox, SW)
HuffYUV (Lossless, SW)
JPEG XS (SVT, SW)
MJPEG (Motion JPEG, SW)
MPEG-1 Video (SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
PNG (Image Sequence, SW)
QuickTime Animation (RLE, SW)
Uncompressed 4:2:2 8-bit (SW)
Uncompressed 4:2:2 10-bit (SW)
WMV8 (Windows Media Video 8, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
ADPCM IMA QuickTime
ADPCM Microsoft
ALAC (Apple Lossless)
E-AC-3 (Dolby Digital Plus)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Ogg Vorbis
PCM 16-bit Signed LE
PCM 24-bit Signed LE
PCM 32-bit Signed LE
PCM 32-bit Float LE
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
MOV DNxHD (QuickTime with DNxHD)
Configuration Parameter: mov_dnxhd
Extensions: mov
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| movflags | flags | MOV muxer flags Fragment at video keyframesThis data is usually written at the end of the file, but it can be moved to the start for better playback by adding +faststart to the movflags Supported values: frag_keyframe, faststart, cmaf, dash, default_base_moof, delay_moov, disable_chpl, empty_moov, frag_custom, frag_discont, frag_every_frame, global_sidx, isml, negative_cts_offsets, omit_tfhd_offset, prefer_icc, rtphint, separate_moof, skip_sidx, skip_trailer, use_metadata_tags, write_colr, write_gama, hybrid_fragmented.cmaf: Write CMAF compatible fragmented MP4dash: Write DASH compatible fragmented MP4default_base_moof: Set the default-base-is-moof flag in tfhd atomsdelay_moov: Delay writing the initial moov until the first fragment is cut, or until the first fragment flushdisable_chpl: Disable Nero chapter atomempty_moov: Make the initial moov atom emptyfrag_custom: Flush fragments on caller requestsfrag_discont: Signal that the next fragment is discontinuous from earlier onesfrag_every_frame: Fragment at every frameglobal_sidx: Write a global sidx index at the start of the fileisml: Create a live smooth streaming feed (for pushing to a publishing point)negative_cts_offsets: Use negative CTS offsets (reducing the need for edit lists)omit_tfhd_offset: Omit the base data offset in tfhd atomsprefer_icc: If writing colr atom prioritise usage of ICC profile if it exists in stream packet side datartphint: Add RTP hint tracksseparate_moof: Write separate moof/mdat atoms for each trackskip_sidx: Skip writing of sidx atomskip_trailer: Skip writing the mfra/tfra/mfro trailer for fragmented filesuse_metadata_tags: Use mdta atom for metadata.write_colr: Write colr atom even if the color info is unspecified (Experimental, may be renamed or changed, do not use from scripts)write_gama: Write deprecated gama atomhybrid_fragmented: For recoverability, write a fragmented file that is converted to non-fragmented at the end. | |
| moov_size | int | 0 | Reserves space for the moov atom at the beginning of the file instead of placing the moov atom at the end. If the space reserved is insufficient, muxing will fail Range: minimum 0.0; maximum 2147483647. |
| skip_iods | int | Skip writing iods atom Range: minimum 0.0; maximum 1.0. | |
| iods_audio_profile | int | -1 | Specify iods number for the audio profile atom (from -1 to 255), default is -1 |
| iods_video_profile | int | -1 | Specify iods number for the video profile atom (from -1 to 255), default is -1 |
| frag_duration | int | 0 | Create fragments that are duration microseconds long Range: minimum 0.0; maximum 2147483647. |
| min_frag_duration | int | 0 | Specify the minimum fragment duration (in microseconds) Range: minimum 0.0; maximum 2147483647. |
| frag_size | int | 0 | Create fragments that contain up to size bytes of payload data Range: minimum 0.0; maximum 2147483647. |
| display_rotation | double | Set video rotation metadata. Rotation is a decimal number specifying the amount in degree by which the video should be rotated counter-clockwise before being displayed | |
| brand | string | Override major brand | |
| empty_hdlr_name | option_fixed | write zero-length name string in hdlr atoms within mdia and minf atoms (default false) Supported values: false, true. | |
| encryption_key | string | The media encryption key (hex) | |
| encryption_kid | string | The media encryption key identifier (hex) | |
| encryption_scheme | string | Configures the encryption scheme, allowed values are none, cenc-aes-ctr | |
| frag_interleave | int | Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0) | |
| fragment_index | int | Fragment number of the next fragment. Range: minimum 1; maximum 2147483647. | |
| ism_lookahead | int | Number of lookahead entries for ISM files (from 0 to 255) (default 0) | |
| mov_gamma | double | gamma value for gama atom (from 0 to 10) (default 0) | |
| movie_timescale | int | set movie timescale (from 0 to INT_MAX) (default 0) | |
| rtpflags | flags | RTP muxer flags (default 0) Supported values: latm, rfc2190, skip_rtcp, h264_mode0, send_bye.latm: Use MP4A-LATM packetization instead of MPEG4-GENERIC for AACrfc2190: Use RFC 2190 packetization instead of RFC 4629 for H.263skip_rtcp: Don't send RTCP sender reportsh264_mode0: Use mode 0 for H.264 in RTPsend_bye: Send RTCP BYE packets when finishing | |
| use_editlist | option_fixed | use edit list (default auto) Supported values: auto, false, true. | |
| use_stream_ids_as_track_ids | option_fixed | use stream ids as track ids (default false) Supported values: false, true. | |
| video_track_timescale | int | set timescale of all video tracks (from 0 to INT_MAX) (default 0) | |
| write_btrt | option_fixed | force or disable writing btrt (default auto) Supported values: auto, false, true. | |
| write_prft | option | Write producer reference time box with specified time source (from 0 to 2) (default 0) Supported values: pts, wallclock.pts: 2: ptswallclock: 1: wallclock | |
| write_tmcd | option_fixed | force or disable writing tmcd (default auto) Supported values: auto, false, true. | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
DNxHD 1080 60p
DNxHD 1080 59p
DNxHD 1080 50p
DNxHD 1080 59i
DNxHD 1080 25p
DNxHD 1080 24p
DNxHD 1080 23p
DNxHD 1080 29p
DNxHD 720 59p
DNxHD 720 50p
DNxHR LB 4K_DCI 60p
DNxHR LB 4K_DCI 59p
DNxHR LB 4K_DCI 50p
DNxHR LB 4K_DCI 30p
DNxHR LB 4K_DCI 29p
DNxHR LB 4K_DCI 25p
DNxHR LB 4K_DCI 24p
DNxHR LB 4K_DCI 23p
DNxHR LB 4K_UHD 60p
DNxHR LB 4K_UHD 59p
DNxHR LB 4K_UHD 50p
DNxHR LB 4K_UHD 30p
DNxHR LB 4K_UHD 29p
DNxHR LB 4K_UHD 25p
DNxHR LB 4K_UHD 24p
DNxHR LB 4K_UHD 23p
DNxHR LB 2K_DCI 60p
DNxHR LB 2K_DCI 59p
DNxHR LB 2K_DCI 50p
DNxHR LB 2K_DCI 30p
DNxHR LB 2K_DCI 29p
DNxHR LB 2K_DCI 25p
DNxHR LB 2K_DCI 24p
DNxHR LB 2K_DCI 23p
DNxHR SQ 4K_DCI 60p
DNxHR SQ 4K_DCI 59p
DNxHR SQ 4K_DCI 50p
DNxHR SQ 4K_DCI 30p
DNxHR SQ 4K_DCI 29p
DNxHR SQ 4K_DCI 25p
DNxHR SQ 4K_DCI 24p
DNxHR SQ 4K_DCI 23p
DNxHR SQ 4K_UHD 60p
DNxHR SQ 4K_UHD 59p
DNxHR SQ 4K_UHD 50p
DNxHR SQ 4K_UHD 30p
DNxHR SQ 4K_UHD 29p
DNxHR SQ 4K_UHD 25p
DNxHR SQ 4K_UHD 24p
DNxHR SQ 4K_UHD 23p
DNxHR SQ 2K_DCI 60p
DNxHR SQ 2K_DCI 59p
DNxHR SQ 2K_DCI 50p
DNxHR SQ 2K_DCI 30p
DNxHR SQ 2K_DCI 29p
DNxHR SQ 2K_DCI 25p
DNxHR SQ 2K_DCI 24p
DNxHR SQ 2K_DCI 23p
DNxHR HQ 4K_DCI 60p
DNxHR HQ 4K_DCI 59p
DNxHR HQ 4K_DCI 50p
DNxHR HQ 4K_DCI 30p
DNxHR HQ 4K_DCI 29p
DNxHR HQ 4K_DCI 25p
DNxHR HQ 4K_DCI 24p
DNxHR HQ 4K_DCI 23p
DNxHR HQ 4K_UHD 60p
DNxHR HQ 4K_UHD 59p
DNxHR HQ 4K_UHD 50p
DNxHR HQ 4K_UHD 30p
DNxHR HQ 4K_UHD 29p
DNxHR HQ 4K_UHD 25p
DNxHR HQ 4K_UHD 24p
DNxHR HQ 4K_UHD 23p
DNxHR HQ 2K_DCI 60p
DNxHR HQ 2K_DCI 59p
DNxHR HQ 2K_DCI 50p
DNxHR HQ 2K_DCI 30p
DNxHR HQ 2K_DCI 29p
DNxHR HQ 2K_DCI 25p
DNxHR HQ 2K_DCI 24p
DNxHR HQ 2K_DCI 23p
No Video
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
ADPCM IMA QuickTime
ADPCM Microsoft
ALAC (Apple Lossless)
E-AC-3 (Dolby Digital Plus)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Ogg Vorbis
PCM 16-bit Signed LE
PCM 24-bit Signed LE
PCM 32-bit Signed LE
PCM 32-bit Float LE
No Audio (Disabled)
Video codec attributes
DNxHD 1080 60p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 440M | Set bitrate (in bits/s). Possible values: 440M, 290M, 90M Supported values: 440M, 290M, 90M. |
DNxHD 1080 59p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 440M | Set bitrate (in bits/s). Possible values: 440M, 290M, 90M Supported values: 440M, 290M, 90M. |
DNxHD 1080 50p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 365M | Set bitrate (in bits/s). Possible values: 365M, 240M, 75M Supported values: 365M, 240M, 75M. |
DNxHD 1080 59i
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 220M | Set bitrate (in bits/s). Possible values: 220M, 145M, 185M, 120M Supported values: 220M, 145M, 185M, 120M. |
DNxHD 1080 25p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 185M | Set bitrate (in bits/s). Possible values: 185M, 120M, 36M Supported values: 185M, 120M, 36M. |
DNxHD 1080 24p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 175M | Set bitrate (in bits/s). Possible values: 175M, 115M, 36M Supported values: 175M, 115M, 36M. |
DNxHD 1080 23p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 175M | Set bitrate (in bits/s). Possible values: 175M, 115M, 36M Supported values: 175M, 115M, 36M. |
DNxHD 1080 29p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 220M | Set bitrate (in bits/s). Possible values: 220M, 145M, 45M Supported values: 220M, 145M, 45M. |
DNxHD 720 59p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 220M | Set bitrate (in bits/s). Possible values: 220M, 145M Supported values: 220M, 145M. |
DNxHD 720 50p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 60M | Set bitrate (in bits/s). Possible values: 90M, 60M Supported values: 90M, 60M. |
DNxHR LB 4K_DCI 60p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 383M | Set bitrate (in bits/s). Possible values: 383M, 95M, 24M Supported values: 383M, 95M, 24M. |
DNxHR LB 4K_DCI 59p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 383M | Set bitrate (in bits/s). Possible values: 383M, 95M, 24M Supported values: 383M, 95M, 24M. |
DNxHR LB 4K_DCI 50p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 319M | Set bitrate (in bits/s). Possible values: 319M, 79M, 20M Supported values: 319M, 79M, 20M. |
DNxHR LB 4K_DCI 30p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 192M | Set bitrate (in bits/s). Possible values: 192M, 48M, 12M Supported values: 192M, 48M, 12M. |
DNxHR LB 4K_DCI 29p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 191M | Set bitrate (in bits/s). Possible values: 191M, 47M, 12M Supported values: 191M, 47M, 12M. |
DNxHR LB 4K_DCI 25p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 160M | Set bitrate (in bits/s). Possible values: 160M, 40M, 10M Supported values: 160M, 40M, 10M. |
DNxHR LB 4K_DCI 24p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 153M | Set bitrate (in bits/s). Possible values: 153M, 38M, 9M Supported values: 153M, 38M, 9M. |
DNxHR LB 4K_DCI 23p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 153M | Set bitrate (in bits/s). Possible values: 153M, 38M, 9M Supported values: 153M, 38M, 9M. |
DNxHR LB 4K_UHD 60p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 359M | Set bitrate (in bits/s). Possible values: 359M, 74M, 22M Supported values: 359M, 74M, 22M. |
DNxHR LB 4K_UHD 59p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 359M | Set bitrate (in bits/s). Possible values: 359M, 74M, 22M Supported values: 359M, 74M, 22M. |
DNxHR LB 4K_UHD 50p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 299M | Set bitrate (in bits/s). Possible values: 299M, 74M, 18M Supported values: 299M, 74M, 18M. |
DNxHR LB 4K_UHD 30p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 180M | Set bitrate (in bits/s). Possible values: 180M, 45M, 11M Supported values: 180M, 45M, 11M. |
DNxHR LB 4K_UHD 29p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 179M | Set bitrate (in bits/s). Possible values: 179M, 44M, 11M Supported values: 179M, 44M, 11M. |
DNxHR LB 4K_UHD 25p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 150M | Set bitrate (in bits/s). Possible values: 150M, 37M, 9M Supported values: 150M, 37M, 9M. |
DNxHR LB 4K_UHD 24p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 144M | Set bitrate (in bits/s). Possible values: 144M, 36M, 9M Supported values: 144M, 36M, 9M. |
DNxHR LB 4K_UHD 23p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 143M | Set bitrate (in bits/s). Possible values: 143M, 35M, 9M Supported values: 143M, 35M, 9M. |
DNxHR LB 2K_DCI 60p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 96M | Set bitrate (in bits/s). Possible values: 96M, 24M, 6M Supported values: 96M, 24M, 6M. |
DNxHR LB 2K_DCI 59p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 96M | Set bitrate (in bits/s). Possible values: 96M, 24M, 6M Supported values: 96M, 24M, 6M. |
DNxHR LB 2K_DCI 50p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 80M | Set bitrate (in bits/s). Possible values: 80M, 20M, 5M Supported values: 80M, 20M, 5M. |
DNxHR LB 2K_DCI 30p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 48M | Set bitrate (in bits/s). Possible values: 48M, 12M, 3M Supported values: 48M, 12M, 3M. |
DNxHR LB 2K_DCI 29p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 48M | Set bitrate (in bits/s). Possible values: 48M, 12M, 3M Supported values: 48M, 12M, 3M. |
DNxHR LB 2K_DCI 25p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 40M | Set bitrate (in bits/s). Possible values: 40M, 10M, 2M Supported values: 40M, 10M, 2M. |
DNxHR LB 2K_DCI 24p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 39M | Set bitrate (in bits/s). Possible values: 39M, 9M, 2M Supported values: 39M, 9M, 2M. |
DNxHR LB 2K_DCI 23p
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 39M | Set bitrate (in bits/s). Possible values: 39M, 9M, 2M Supported values: 39M, 9M, 2M. |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
MP3 (LAME, MPEG Audio Layer 3)
Configuration Parameter: mp3
Extensions: mp3
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| id3v2_version | option_fixed | 4 | Select ID3v2 version: 0 disables the tag, 3 writes ID3v2.3, 4 writes ID3v2.4. Versions 1 and 2 are not supported. Supported values: 0, 3, 4.Range: minimum 0; maximum 4. |
| write_id3v1 | int | 0 | Enable ID3v1 writing. ID3v1 tags are written in UTF-8 which may not be supported by most software Range: minimum 0.0; maximum 1.0. |
| write_xing | option_fixed | Write the Xing header containing file duration. (default true) Supported values: false, true. | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
No Video (Disabled)
Audio codecs
MP3 (LAME, MPEG Audio Layer 3)
Direct Stream Copy (No Re-Encoding)
MP4 (MPEG-4 Part 14)
Configuration Parameter: mp4
Extensions: mp4
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| embed_tc | bool | false | Enable embedding Time Code into elementary video stream (for H.264 video only) |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| movflags | flags | MOV muxer flags Add RTP hint tracksMake the initial moov atom emptyFragment at video keyframesFragment at every frameWrite separate moof/mdat atoms for each trackFlush fragments on caller requestsCreate a live smooth streaming feed (for pushing to a publishing point)Run a second pass to put the index (moov atom) at the beginning of the fileOmit the base data offset in tfhd atomsDisable Nero chapter atomSet the default-base-is-moof flag in tfhd atomsWrite DASH compatible fragmented MP4Signal that the next fragment is discontinuous from earlier onesDelay writing the initial moov until the first fragment is cut, or until the first fragment flushWrite a global sidx index at the start of the fileWrite colr atom (Experimental, may be renamed or changed, do not use from scripts)Write deprecated gama atomUse mdta atom for metadata.Skip writing the mfra/tfra/mfro trailer for fragmented filesUse negative CTS offsets (reducing the need for edit lists) Supported values: rtphint, empty_moov, frag_keyframe, frag_every_frame, separate_moof, frag_custom, isml, faststart, omit_tfhd_offset, disable_chpl, default_base_moof, dash, frag_discont, delay_moov, global_sidx, write_colr, write_gama, use_metadata_tags, skip_trailer, negative_cts_offsets, cmaf, prefer_icc, skip_sidx, hybrid_fragmented.cmaf: Write CMAF compatible fragmented MP4prefer_icc: If writing colr atom prioritise usage of ICC profile if it exists in stream packet side dataskip_sidx: Skip writing of sidx atomhybrid_fragmented: For recoverability, write a fragmented file that is converted to non-fragmented at the end. | |
| moov_size | int | Reserves space for the moov atom at the beginning of the file instead of placing the moov atom at the end. If the space reserved is insufficient, muxing will fail Range: minimum 0.0; maximum 2147483647. | |
| rtpflags | flags | RTP muxer flags Use MP4A-LATM packetization instead of MPEG4-GENERIC for AACUse RFC 2190 packetization instead of RFC 4629 for H.263Don't send RTCP sender reportsUse mode 0 for H.264 in RTPSend RTCP BYE packets when finishing Supported values: latm, rfc2190, skip_rtcp, h264_mode0, send_bye. | |
| skip_iods | option_fixed | Skip writing iods atom Supported values: false, true. | |
| iods_audio_profile | int | -1 | Specify iods number for the audio profile atom (from -1 to 255), default is -1 |
| iods_video_profile | int | -1 | Specify iods number for the video profile atom (from -1 to 255), default is -1 |
| frag_duration | int | 0 | Create fragments that are duration microseconds long Range: minimum 0.0; maximum 2147483647. |
| min_frag_duration | int | 0 | Do not create fragments that are shorter than duration microseconds long Range: minimum 0.0; maximum 2147483647. |
| frag_size | int | 0 | Create fragments that contain up to size bytes of payload data Range: minimum 0.0; maximum 2147483647. |
| ism_lookahead | int | 0 | Specify number of lookahead entries for ISM files (from 0 to 255), default is 0 |
| video_track_timescale | int | 0 | Set the timescale used for video tracks. Range is 0 to INT_MAX. If set to 0, the timescale is automatically set based on the native stream time base. Default is 0 |
| brand | string | Override major brand | |
| use_editlist | option_fixed | Use edit list (default value is auto) Supported values: auto, false, true. | |
| fragment_index | int | 1 | Fragment number of the next fragment. Range: minimum 1.0; maximum 2147483647. |
| mov_gamma | double | 0.0 | gamma value for gama atom Range: minimum 0.0; maximum 10.0. |
| frag_interleave | int | 0 | Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) Range: minimum 0.0; maximum 2147483647. |
| encryption_scheme | string | Configures the encryption scheme, allowed values are none, cenc-aes-ctr | |
| encryption_key | string | Set the media encryption key in hexadecimal format | |
| encryption_kid | string | Set the media encryption key identifier in hexadecimal format | |
| use_stream_ids_as_track_ids | option_fixed | Use stream ids as track ids Supported values: false, true. | |
| write_tmcd | option_fixed | Specify on to force writing a timecode track, off to disable it and auto to write a timecode track only for mov and mp4 output (default) Supported values: auto, false, true. | |
| display_rotation | double | Set video rotation metadata. Rotation is a decimal number specifying the amount in degree by which the video should be rotated counter-clockwise before being displayed | |
| empty_hdlr_name | option_fixed | write zero-length name string in hdlr atoms within mdia and minf atoms (default false) Supported values: false, true. | |
| movie_timescale | int | set movie timescale (from 0 to INT_MAX) (default 0) | |
| write_btrt | option_fixed | force or disable writing btrt (default auto) Supported values: auto, false, true. | |
| write_prft | option | Write producer reference time box with specified time source (from 0 to 2) (default 0) Supported values: pts, wallclock.pts: 2: ptswallclock: 1: wallclock | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
AV1 (NVIDIA NVENC, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
JPEG XS (SVT, SW)
MJPEG (Motion JPEG, SW)
MPEG-1 Video (SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Ogg Vorbis
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
MPEG Program Stream (PS)
Configuration Parameter: mpeg
Extensions: mpg,mpeg
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| ignore_pts | option_fixed | true | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| muxrate | int | 0 | Set user-defined mux rate expressed as a number of bits/s. If not specied the automatically computed mux rate is employed. Default value is 0 Range: minimum 0; maximum 1677721200. |
| preload | int | Set initial demux-decode delay in microseconds Range: minimum 0.0; maximum 2147483647. | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
MPEG-1 Video (SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
MPEG Transport Stream (TS File)
Configuration Parameter: mpegts
Extensions: ts,m2t,m2ts,mts
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| embed_scte35 | bool | false | Enable embedding SCTE-35 triggers into MPEG transport stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| mpegts_transport_stream_id | int | 1 | Set the transport_stream_id field. This identifies a transponder in DVB. Default is 0x0001 Range: minimum 1.0; maximum 65535.0. |
| mpegts_original_network_id | int | 65281 | Set the original_network_id. This is unique identifier of a network in DVB. Its main use is in the unique identification of a service through the path Original_Network_ID, Transport_Stream_ID Range: minimum 1.0; maximum 65535.0. |
| mpegts_service_id | int | 1 | Set the service_id, also known as program in DVB. Default is 0x0001 Range: minimum 1.0; maximum 65535.0. |
| mpegts_service_type | option | digital_tv | Set service_type field. Digital Television serviceDigital Radio serviceTeletext serviceAdvanced Codec Digital Radio serviceMPEG2 Digital HDTV serviceAdvanced Codec Digital SDTV serviceAdvanced Codec Digital HDTV serviceHEVC Digital Television service Supported values: digital_tv, digital_radio, teletext, advanced_codec_digital_radio, mpeg2_digital_hdtv, advanced_codec_digital_sdtv, advanced_codec_digital_hdtv, hevc_digital_hdtv. |
| mpegts_pmt_start_pid | int | 4096 | Set the first PID for PMTs. Default is 0x1000, minimum is 0x0020, maximum is 0x1ffa. This option has no effect in m2ts mode where the PMT PID is fixed 0x0100 Range: minimum 32; maximum 8186. |
| mpegts_start_pid | int | 256 | Set the first PID for elementary streams. Default is 0x0100, minimum is 0x0020, maximum is 0x1ffa. This option has no effect in m2ts mode where the elementary stream PIDs are fixed Range: minimum 32; maximum 8186. |
| mpegts_m2ts_mode | option_fixed | Enable M2TS mode. auto enables it when the file extension is .m2ts (FFmpeg default auto). Supported values: auto, false, true. | |
| muxrate | int | Set a constant muxrate (in bits/s). Default is VBR Range: minimum 0; maximum 2147483647. | |
| pes_payload_size | int | Set minimum PES packet payload in bytes. Default is 2930 Range: minimum 0.0; maximum 2147483647. | |
| mpegts_flags | flags | Set mpegts flags. Accepts the following options Reemit PAT/PMT before writing the next packetUse LATM packetization for AACReemit PAT and PMT at each video frameConform to System B (DVB) instead of System A (ATSC)Mark initial packets as discontinuous Supported values: resend_headers, latm, pat_pmt_at_frames, system_b, initial_discontinuity, nit, omit_rai.nit: Enable NIT transmissionomit_rai: Disable writing of random access indicator | |
| mpegts_copyts | option_fixed | Do not offset DTS/PTS by max_delay; auto and false offset them (FFmpeg default auto). Supported values: auto, false, true. | |
| tables_version | int | 0 | Set PAT, PMT, SDT and NIT version (default 0, valid values are from 0 to 31, inclusively). This option allows updating stream structure so that standard consumer may detect the change |
| omit_video_pes_length | option_fixed | Omit the PES packet length for video packets Supported values: false, true. | |
| pcr_period | int | 20 | Override the PCR retransmission interval in milliseconds. The SDK preset default is 20 ms. Set -1 for automatic selection: 20 ms for CBR streams, or the highest multiple of the frame duration below 100 ms for VBR streams. Range: minimum -1; maximum 2147483647. |
| pat_period | double | PAT/PMT retransmission time limit in seconds Range: minimum 0.0. | |
| sdt_period | double | SDT retransmission time limit in seconds Range: minimum 0.0. | |
| cc_language | string | und | ISO 639-2 language of one configured digital caption service advertised in PMT when embed_cc is enabled. Empty or invalid values use und. No automatic service detection or caption encoding conversion. Supported video: H.264, MPEG-2 and MPEG-4; no descriptor in M2TS/BDAV; unsupported video codecs produce a warning |
| cc_service | int | 1 | CEA-708 caption service number advertised in PMT Range: minimum 1; maximum 63. |
| cc_korean_code | bool | true | Korean extension per KCS.KO-07.0093 (2013), section 4.2, Table 4.7: false for KS X 1001, true for Unicode when cc_language=kor. For other languages the A/65 reserved bit remains 1. Signalling only; caption bytes are not converted |
| cc_easy_reader | bool | false | CEA-708 caption service easy-reader flag |
| cc_wide_aspect | bool | true | CEA-708 caption service wide-aspect-ratio flag |
| scte35_pid | int | -1 | Set SCTE-35 stream PID. Use -1 for automatic PID assignment |
| nit_period | string | NIT retransmission time limit in seconds (default 3) | |
| tdt_period | string | TDT retransmission time limit in seconds (default 10) | |
| eit_period | string | EIT present/following retransmission time limit in seconds (default 0.5) | |
| dvb | option_fixed | DVB compatible MPEG-TS (NIT on, PAT/PMT not forced at video frames). Supported values: false, true. | |
| start_pcr | double | Set the start PCR value in seconds (from 0 to INT_MAX) (default 0) | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
MPEG-DASH Streaming (Adaptive HTTP)
Configuration Parameter: dash
Extensions: mpd
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| adaptation_sets | string | Adaptation sets. Syntax: id=0,streams=0,1,2 id=1,streams=3,4 and so on | |
| window_size | int | 0 | Number of segments kept in the manifest Range: minimum 0.0; maximum 2147483647. |
| extra_window_size | int | 5 | Number of segments kept outside of the manifest before removing from disk Range: minimum 0.0; maximum 2147483647. |
| seg_duration | string | Segment duration (in seconds, fractional value can be set) | |
| frag_duration | string | Fragment duration (in seconds, fractional value can be set) | |
| frag_type | option | none | Set type of interval for fragments One fragment per segmentFragment at every frameFragment at specific time intervalsFragment at keyframes and following P-Frame reordering (Video only, experimental) Supported values: none, every_frame, duration, pframes. |
| remove_at_exit | bool | false | Enable or disable removal of all segments when finished. This is disabled by default |
| use_template | bool | true | Enable or disable use of SegmentTemplate instead of SegmentList in the manifest. This is enabled by default |
| use_timeline | bool | true | Enable or disable use of SegmentTimeline within the SegmentTemplate manifest section. This is enabled by default |
| single_file | bool | false | Enable or disable storing all segments in one file, accessed using byte ranges. The name of the single file can be specified with the single_file_name option, if not specified assume the basename of the manifest file with the output format extension. This is disabled by default. |
| single_file_name | string | DASH-templated name to use for the manifest baseURL element. Imply that the single_file option is set to true. In the template, $ext$ is replaced with the file name extension specific for the segment format | |
| init_seg_name | string | init-stream$RepresentationID$.$ext$ | DASH-templated name to use for the initialization segment. Default is init-stream$RepresentationID$.$ext$. $ext$ is replaced with the file name extension specific for the segment format |
| media_seg_name | string | chunk-stream$RepresentationID$-$Number%05d$.$ext$ | DASH-templated name to use for the media segments. Default is chunk-stream$RepresentationID$-$Number%05d$.$ext$. $ext$ is replaced with the file name extension specific for the segment format |
| utc_timing_url | string | URL of the page that will return the UTC timestamp in ISO format, for example https://time.akamai.com/?iso | |
| method | string | Use the given HTTP method to create output files. Generally set to PUT or POST | |
| http_user_agent | string | Override User-Agent field in HTTP header. Applicable only for HTTP output | |
| http_persistent | option_fixed | Use persistent HTTP connections. Applicable only for HTTP output Supported values: false, true. | |
| hls_playlist | option_fixed | Generate HLS playlist files. The master playlist is generated with filename specified by the hls_master_name option. One media playlist file is generated for each stream with filenames media_0.m3u8, media_1.m3u8, etc Supported values: false, true. | |
| streaming | bool | false | Enable or disable chunk streaming mode of output. In chunk streaming mode, each frame will be a moof fragment which forms a chunk. This is disabled by default |
| timeout | string | Set timeout for socket I/O operations expressed in seconds (fractional value can be set). Applicable only for HTTP output | |
| index_correction | bool | false | Enable or disable segment index correction logic. Applicable only when use_template is enabled and use_timeline is disabled. This is disabled by default. When enabled, the logic monitors the flow of segment indexes. If a streams’s segment index value is not at the expected real time position, then the logic corrects that index value. Typically this logic is needed in live streaming use cases. The network bandwidth fluctuations are common during long run streaming. Each fluctuation can cause the segment indexes fall behind the expected real time position |
| format_options | string | Set container format (mp4/webm) options using a :-separated list of key=value parameters. Values containing : special characters must be escaped | |
| global_sidx | option_fixed | Write global SIDX atom. Applicable only for single file, mp4 output, non-streaming mode Supported values: false, true. | |
| dash_segment_type | option | auto | Set dash segment files type Supported values: auto, mp4, webm.auto: Select segment file format based on codecmp4: Make segment file in ISOBMFF formatwebm: Make segment file in WebM format |
| segment_type | option_fixed | Select segment file format based on codecMake segment file in ISOBMFF formatMake segment file in WebM format Supported values: auto, mp4, webm. | |
| ignore_io_errors | bool | false | Ignore IO errors during open and write. Useful for long-duration runs with network output. This is disabled by default |
| lhls | option_fixed | Enable Low-latency HLS(Experimental). Adds #EXT-X-PREFETCH tag with current segment's URI. This is an experimental feature Supported values: false, true. | |
| ldash | bool | false | Enable Low-latency Dash by constraining the presence and values of some elements. This is disabled by default |
| master_m3u8_publish_rate | int | 0 | Publish master playlist repeatedly every after specified number of segment intervals Range: minimum 0.0; maximum 4294967295. |
| write_prft | option_fixed | Write Producer Reference Time elements on supported streams. This also enables writing prft boxes in the underlying muxer. Applicable only when the utc_url option is enabled. It is set to auto by default, in which case the muxer will attempt to enable it only in modes that require it Supported values: auto, false, true. | |
| mpd_profile | flags | +dash | Set profiles. Elements and values used in the manifest may be constrained by them MPEG-DASH ISO Base media file format live profileDVB-DASH profile Supported values: dash, dvb_dash. |
| http_opts | string | Specify a list of :-separated key=value options to pass to the underlying HTTP protocol. Applicable only for HTTP output | |
| target_latency | string | Set an intended target latency in seconds for serving (fractional value can be set). Applicable only when the streaming and write_prft options are enabled. This is an informative fields clients can use to measure the latency of the service | |
| min_playback_rate | double | 1/1 | Set the minimum playback rate indicated as appropriate for the purposes of automatically adjusting playback latency and buffer occupancy during normal playback by clients Range: minimum 0.5; maximum 1.5. |
| max_playback_rate | double | 1/1 | Set the maximum playback rate indicated as appropriate for the purposes of automatically adjusting playback latency and buffer occupancy during normal playback by clients Range: minimum 0.5; maximum 1.5. |
| hls_master_name | string | HLS master playlist name (default "master.m3u8") | |
| availability_start_time_ms | string | set MPD availabilityStartTime as epoch milliseconds (from 0 to 9.22337e+15) (default 0) | |
| suggested_presentation_delay | string | set MPD suggestedPresentationDelay (default 0) | |
| update_period | string | Set the mpd update interval (from 0 to I64_MAX) (default 0) | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
MP3 (LAME, MPEG Audio Layer 3)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
MXF (Material eXchange Format)
Configuration Parameter: mxf
Extensions: mxf
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| mxf.anc_write | bool | false | Write raw ANC.Line.N to a frame-wrapped ST 436 track in the final MXF OP1a file. Other settings are unchanged. ANC in PWR files is not supported. After a timestamp discontinuity or snapshot queue overflow, ANC remains empty until the encoder is closed or reinitialized |
| signal_standard | option | Force/set Signal Standard (from -1 to 7) (default -1) Supported values: bt601, bt1358, smpte347m, smpte274m, smpte296m, smpte349m, smpte428.bt601: 1: ITU-R BT.601 and BT.656, also SMPTE 125M (525 and 625 line interlaced)bt1358: 2: ITU-R BT.1358 and ITU-R BT.799-3, also SMPTE 293M (525 and 625 line progressive)smpte347m: 3: SMPTE 347M (540 Mbps mappings)smpte274m: 4: SMPTE 274M (1125 line)smpte296m: 5: SMPTE 296M (750 line progressive)smpte349m: 6: SMPTE 349M (1485 Mbps mappings)smpte428: 7: SMPTE 428-1 DCDM | |
| store_user_comments | option_fixed | FFmpeg store_user_comments option. (default true) Supported values: false, true. | |
| track_origin | string | pre-charge (Origin) in edit units, written on the File Source Package tracks (from 0 to I64_MAX) (default 0) | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
DV / DVCPRO HD (SW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
MPEG-2 Video (SW)
VC3/DNxHD 720
VC3/DNxHD 1080
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
PCM 16-bit Signed LE
PCM 24-bit Signed LE
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
VC3/DNxHD 720
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 90M | Set bitrate (in bits/s). Possible values: 220M, 175M, 145M, 115M, 90M, 60M Supported values: 220M, 175M, 145M, 115M, 90M, 60M. |
VC3/DNxHD 1080
| Name | Type | Default | Description |
|---|---|---|---|
| b | option_fixed | 120M | Set bitrate (in bits/s). Possible values: 440M, 365M, 290M, 240M, 220M, 185M, 175M, 145M, 120M, 115M, 45M, 36M Supported values: 440M, 365M, 290M, 240M, 220M, 185M, 175M, 145M, 120M, 115M, 90M, 45M, 36M. |
MXF D-10 (IMX D-10 Mapping)
Configuration Parameter: mxf_d10
Extensions: mxf
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| d10_channelcount | int | Force/set channelcount in generic sound essence descriptor (from -1 to 8) (default -1) | |
| signal_standard | option | Force/set Signal Standard (from -1 to 7) (default -1) Supported values: bt601, bt1358, smpte347m, smpte274m, smpte296m, smpte349m, smpte428.bt601: 1: ITU-R BT.601 and BT.656, also SMPTE 125M (525 and 625 line interlaced)bt1358: 2: ITU-R BT.1358 and ITU-R BT.799-3, also SMPTE 293M (525 and 625 line progressive)smpte347m: 3: SMPTE 347M (540 Mbps mappings)smpte274m: 4: SMPTE 274M (1125 line)smpte296m: 5: SMPTE 296M (750 line progressive)smpte349m: 6: SMPTE 349M (1485 Mbps mappings)smpte428: 7: SMPTE 428-1 DCDM | |
| store_user_comments | option_fixed | FFmpeg store_user_comments option. (default false) Supported values: false, true. | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
MPEG-2 Video 30Mbps
MPEG-2 Video 40Mbps
MPEG-2 Video 50Mbps
Direct stream copy
Audio codecs
PCM 16-bit Signed LE
PCM 24-bit Signed LE
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Ogg Vorbis
Configuration Parameter: ogg
Extensions: ogg
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| serial_offset | int | serial number offset (from 0 to INT_MAX) (default 0) | |
| page_duration | string | preferred page duration, in microseconds (from 0 to I64_MAX) (default 1000000) | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
No Video (Disabled)
Audio codecs
Ogg Vorbis
RIST Streaming (Reliable Internet Stream Transport)
Configuration Parameter: mpegts
Extensions: rist://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| rist_profile | flags | main | simple profilemain profileadvanced profile Supported values: simple, main, advanced. |
| buffer_size | int | Set internal RIST buffer size in milliseconds for retransmission of data. Default value is 0 which means the librist default (1 sec). Maximum value is 30000 milliseconds Range: minimum 0; maximum 30000. | |
| pkt_size | int | 1316 | Set maximum packet size for sending data Range: minimum 1; maximum 9972. |
| log_level | int | Set loglevel for RIST logging messages. You only need to set this if you explicitly want to enable debug level messages or packet loss simulation, otherwise the regular loglevel is respected Range: minimum -1. | |
| secret | string | Set override of encryption secret, by default is unset | |
| encryption | string | Set encryption type, by default is disabled. Acceptable values are 128 and 256 | |
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| embed_tc | bool | false | Enable embedding Time Code into elementary video stream (for H.264 video only) |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| embed_scte35 | bool | false | Enable embedding SCTE-35 triggers into MPEG transport stream |
| mpegts_transport_stream_id | int | 1 | Set the transport_stream_id. This identifies a transponder in DVB. Default is 0x0001 Range: minimum 1.0; maximum 65535.0. |
| mpegts_original_network_id | int | 65281 | Set the original_network_id. This is unique identifier of a network in DVB. Its main use is in the unique identification of a service through the path Original_Network_ID, Transport_Stream_ID Range: minimum 1.0; maximum 65535.0. |
| mpegts_service_id | int | 1 | Set the service_id, also known as program in DVB. Default is 0x0001 Range: minimum 1.0; maximum 65535.0. |
| mpegts_service_type | option | digital_tv | Set service_type field Digital TelevisionDigital RadioTeletextAdvanced Codec Digital RadioMPEG2 Digital HDTVAdvanced Codec Digital SDTVAdvanced Codec Digital HDTVHEVC Digital Television Service Supported values: digital_tv, digital_radio, teletext, advanced_codec_digital_radio, mpeg2_digital_hdtv, advanced_codec_digital_sdtv, advanced_codec_digital_hdtv, hevc_digital_hdtv. |
| mpegts_pmt_start_pid | int | 4096 | Set the first PID for PMTs. Default is 0x1000, minimum is 0x0020, maximum is 0x1ffa. This option has no effect in m2ts mode where the PMT PID is fixed 0x0100 Range: minimum 32; maximum 8186. |
| mpegts_start_pid | int | 256 | SSet the first PID for elementary streams. Default is 0x0100, minimum is 0x0020, maximum is 0x1ffa. This option has no effect in m2ts mode where the elementary stream PIDs are fixed Range: minimum 32; maximum 8186. |
| mpegts_m2ts_mode | option_fixed | Enable M2TS mode. auto enables it when the file extension is .m2ts (FFmpeg default auto). Supported values: auto, false, true. | |
| muxrate | int | 1 | Set a constant muxrate. Default is VBR Range: minimum 0; maximum 2147483647. |
| pes_payload_size | int | 2930 | Minimum PES packet payload in bytes Range: minimum 0.0; maximum 2147483647. |
| mpegts_flags | flags | MPEG-TS muxing flags Reemit PAT/PMT before writing the next packetUse LATM packetization for AACReemit PAT and PMT at each video frameConform to System B (DVB) instead of System A (ATSC)Mark initial packets as discontinuous Supported values: resend_headers, latm, pat_pmt_at_frames, system_b, initial_discontinuity, nit, omit_rai.nit: Enable NIT transmissionomit_rai: Disable writing of random access indicator | |
| mpegts_copyts | option_fixed | Do not offset DTS/PTS by max_delay; auto and false offset them (FFmpeg default auto). Supported values: auto, false, true. | |
| tables_version | int | 0 | Set PAT, PMT, SDT and NIT version (default 0, valid values are from 0 to 31, inclusively). This option allows updating stream structure so that standard consumer may detect the change |
| omit_video_pes_length | bool | true | Omit the PES packet length for video packets. Default value is true |
| pcr_period | int | 20 | Override the PCR retransmission interval in milliseconds. The SDK preset default is 20 ms. Set -1 for automatic selection: 20 ms for CBR streams, or the highest multiple of the frame duration below 100 ms for VBR streams. Range: minimum -1; maximum 2147483647. |
| pat_period | double | PAT/PMT retransmission time limit in seconds Range: minimum 0.0. | |
| sdt_period | double | Maximum time in seconds between SDT tables | |
| cc_language | string | und | ISO 639-2 language of one configured digital caption service advertised in PMT when embed_cc is enabled. Empty or invalid values use und. No automatic service detection or caption encoding conversion. Supported video: H.264, MPEG-2 and MPEG-4; no descriptor in M2TS/BDAV; unsupported video codecs produce a warning |
| cc_service | int | 1 | CEA-708 caption service number advertised in PMT Range: minimum 1; maximum 63. |
| cc_korean_code | bool | true | Korean extension per KCS.KO-07.0093 (2013), section 4.2, Table 4.7: false for KS X 1001, true for Unicode when cc_language=kor. For other languages the A/65 reserved bit remains 1. Signalling only; caption bytes are not converted |
| cc_easy_reader | bool | false | CEA-708 caption service easy-reader flag |
| cc_wide_aspect | bool | true | CEA-708 caption service wide-aspect-ratio flag |
| scte35_pid | int | -1 | Set SCTE-35 stream PID. Use -1 for automatic PID assignment |
| nit_period | string | NIT retransmission time limit in seconds (default 3) | |
| tdt_period | string | TDT retransmission time limit in seconds (default 10) | |
| eit_period | string | EIT present/following retransmission time limit in seconds (default 0.5) | |
| dvb | option_fixed | DVB compatible MPEG-TS (NIT on, PAT/PMT not forced at video frames). Supported values: false, true. | |
| start_pcr | double | Set the start PCR value in seconds (from 0 to INT_MAX) (default 0) | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
RTMP Streaming (Flash / YouTube / Twitch)
Configuration Parameter: flv
Extensions: rtmp://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| merge_tracks | option_fixed | true | Merge audio tracks Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| rtmp_app | string | Name of application to connect on the RTMP server. This option overrides the parameter specified in the URI | |
| rtmp_buffer | string | Set the client buffer time in milliseconds. The default is 3000 | |
| rtmp_flashver | string | Version of the Flash plugin used to run the SWF player. The default is LNX 9,0,124,2. (When publishing, the default is FMLE/3.0 (compatible; 'libavformat version') | |
| rtmp_playpath | string | Stream identifier to play or to publish. This option overrides the parameter specified in the URI | |
| vt_sync_msec | int | 5000 | Set the video time synchronization interval |
| flvflags | flags | FLV muxer flags (default 0) Supported values: aac_seq_header_detect, no_sequence_end, no_metadata, no_duration_filesize, add_keyframe_index.aac_seq_header_detect: Put AAC sequence header based on stream datano_sequence_end: disable sequence end for FLVno_metadata: disable metadata for FLVno_duration_filesize: disable duration and filesize zero value metadata for FLVadd_keyframe_index: Add keyframe index metadata | |
| rtmp_conn | string | Append arbitrary AMF data to the Connect message | |
| rtmp_flush_interval | int | Number of packets flushed in the same request (RTMPT only). (from 0 to INT_MAX) (default 10) | |
| rtmp_enhanced_codecs | string | Specify the codec(s) to use in an enhanced rtmp live stream | |
| rtmp_swfurl | string | URL of the SWF player. By default no value will be sent | |
| rtmp_tcurl | string | URL of the target stream. Defaults to proto://host[:port]/app. | |
| tcp_nodelay | int | Use TCP_NODELAY to disable Nagle's algorithm (from 0 to 1) (default 0) | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
AV1 (NVIDIA NVENC, HW)
FLV / Sorenson Spark (H.263, SW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
VP8 (Google, SW)
VP9 (Google, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
AAC (Advanced Audio Coding)
MP3 (LAME, MPEG Audio Layer 3)
PCM 16-bit Signed LE
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
RTP Streaming (Pro-MPEG FEC)
Configuration Parameter: rtp_mpegts
Extensions:
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| l | int | 8 | The number of columns (4-20, LxD Lsss 100) Range: minimum 4; maximum 20. |
| d | int | 4 | The number of rows (4-20, LxD Less 100) Range: minimum 4; maximum 20. |
| mpegts_muxer_options | string | set list of options for the MPEG-TS muxer | |
| rtp_muxer_options | string | set list of options for the RTP muxer | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
RTP Streaming (Realtime Transport Protocol)
Configuration Parameter: rtp
Extensions:
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| sdp | string | C:\Config.sdp | Path to .sdp file. This file contains sdp information for an output stream to file. This allows dumping sdp information when at least one output isn’t an rtp stream. (Requires at least one of the output formats to be rtp) |
| rtpflags | flags | Add RTP hinting tracks to the output file. The following flags can be used Use MP4A-LATM packetization instead of MPEG4-GENERIC for AACUse RFC 2190 packetization instead of RFC 4629 for H.263Don't send RTCP sender reportsUse mode 0 for H.264 in RTPSend RTCP BYE packets when finishing Supported values: latm, rfc2190, skip_rtcp, h264_mode0, send_bye. | |
| payload_type | int | -1 | Specify RTP payload type Range: minimum -1.0; maximum 127.0. |
| ssrc | int | 0 | Stream identifier |
| cname | string | CNAME to include in RTCP SR packets | |
| seq | int | Starting sequence number Range: minimum -1.0; maximum 65535.0. | |
| ttl | int | Time to live (multicast only) (from -1 to 255) (default -1) | |
| buffer_size | int | Send/Receive buffer size (in bytes) (from -1 to INT_MAX) (default -1) | |
| rtcp_port | int | Custom rtcp port (from -1 to INT_MAX) (default -1) | |
| rtcpport | int | Custom rtcp port (from -1 to INT_MAX) (default -1) | |
| local_rtpport | int | Local rtp port (from -1 to INT_MAX) (default -1) | |
| localrtpport | int | Local rtp port (from -1 to INT_MAX) (default -1) | |
| local_rtcpport | int | Local rtcp port (from -1 to INT_MAX) (default -1) | |
| localrtcpport | int | Local rtcp port (from -1 to INT_MAX) (default -1) | |
| connect | option_fixed | Connect socket (default false) Supported values: false, true. | |
| write_to_source | option_fixed | Send packets to the source address of the latest received packet (default false) Supported values: false, true. | |
| pkt_size | int | Maximum packet size (from -1 to INT_MAX) (default -1) | |
| dscp | int | DSCP class (from -1 to INT_MAX) (default -1) | |
| timeout | string | set timeout (in microseconds) of socket I/O operations (from -1 to I64_MAX) (default -1) | |
| sources | string | Source list | |
| block | string | Block list | |
| fec | string | FEC | |
| localaddr | string | Local address | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
No Video (Disabled)
Audio codecs
Default format codec
MP2 (MPEG Audio Layer 2)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 200000 | Set bitrate (in bits/s) |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
RTSP Streaming (ANNOUNCE, limited servers)
Configuration Parameter: rtsp
Extensions: rtsp://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| rtpflags | flags | RTP muxer flags Use MP4A-LATM packetization instead of MPEG4-GENERIC for AACUse RFC 2190 packetization instead of RFC 4629 for H.263Don't send RTCP sender reportsUse mode 0 for H.264 in RTPSend RTCP BYE packets when finishing Supported values: latm, rfc2190, skip_rtcp, h264_mode0, send_bye. | |
| rtsp_transport | flags | Set RTSP output transport: UDP or TCP interleaving. Multicast and HTTP/HTTPS tunneling are receive-side options in the bundled FFmpeg. Supported values: udp, tcp.udp: Use UDP as lower transport protocoltcp: Use TCP (interleaving within the RTSP control channel) as lower transport protocol | |
| rtsp_flags | flags | Set RTSP flags. For output only prefer_tcp applies: try RTP over TCP first when rtsp_transport allows both UDP and TCP (default none) Supported values: prefer_tcp.prefer_tcp: Try RTP via TCP first, if available | |
| min_port | int | 5000 | Set minimum local UDP port. Default value is 5000 Range: minimum 0; maximum 65535. |
| max_port | int | 65000 | Set maximum local UDP port. Default value is 65000 Range: minimum 0; maximum 65535. |
| buffer_size | int | -1 | Underlying protocol send/receive buffer size in bytes Range: minimum -1; maximum 2147483647. |
| pkt_size | int | Underlying protocol send packet size (from -1 to INT_MAX) (default 1472) | |
| ca_file | string | Certificate Authority database file | |
| cafile | string | Certificate Authority database file | |
| tls_verify | option_fixed | Verify the peer certificate (default true) Supported values: false, true. | |
| verify | option_fixed | Verify the peer certificate (default true) Supported values: false, true. | |
| cert_file | string | Certificate file | |
| cert | string | Certificate file | |
| key_file | string | Private key file | |
| key | string | Private key file | |
| verifyhost | string | Verify against a specific hostname | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 | |
| timeout | string | Timeout of the RTSP control TCP connection and its I/O operations, in microseconds; replaces stimeout of older FFmpeg (default 0: no timeout) |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (x265, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
SRT Streaming (DVB-Compatible Mode)
Configuration Parameter: dvb
Extensions: srt://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| maxbw | string | -1 | Maximum send bandwidth in bytes per second (64-bit integer): -1 is unlimited; 0 derives the limit from inputbw and oheadbw. |
| pbkeylen | option_fixed | 0 | Sender encryption key length, in bytes. Only can be set to 0, 16, 24 and 32. Enable sender encryption if not 0. Not required on receiver (set to 0), key size obtained from sender in HaiCrypt handshake. Default value is 0 Supported values: 0, 16, 24, 32. |
| passphrase | string | Sets the passphrase for encryption (must be at least 10 characters). This turns encryption on on this side (or turns it off, if empty passphrase is passed) | |
| mss | int | 1500 | Maximum Segment Size. Used for buffer allocation and rate calculation using packet counter assuming fully filled packets. The smallest MSS between the peers is used. This is 1500 by default in the overall internet. This is the maximum size of the UDP packet and can be only decreased, unless you have some unusual dedicated network settings. Not to be mistaken with the size of the UDP payload or SRT payload — this size is the size of the IP packet, including the UDP and SRT headers |
| fc | int | 25600 | Native SRT transport only (srt.force_ffmpeg=false); the FFmpeg transport uses ffs. Flow-control window in packets: maximum number of unacknowledged packets in flight. Must accommodate the configured receive buffer. Range: minimum 32. |
| sndbuf | int | 12058624 | Send Buffer Size. Warning: configured in bytes, converted in packets, when set, based on MSS value. For desired result, configure MSS first. Default value: 8192 × (1500-28) |
| rcvbuf | int | 12058624 | Receive Buffer Size. Receive buffer must not be greater than FC size. Warning: configured in bytes, converted in packets when set based on MSS value. For desired result, configure MSS first. Default value: 8192 × (1500-28) |
| ipttl | int | 32 | IPv4 Time To Live (see IP_TTL option for IP) or IPv6 unicast hops (see IPV6_UNICAST_HOPS for IPV6) depending on socket address family. Applies to sender only. Range: minimum 1; maximum 255. |
| iptos | int | 184 | IPv4 Type of Service (see IP_TOS option for IP) or IPv6 Traffic Class (see IPV6_TCLASS of IPv6) depending on socket address family. Applies to sender only. Default: 0xB8 Range: minimum 0; maximum 255. |
| inputbw | int | 0 | Sender nominal input rate. Used along with OHEADBW, when MAXBW is set to relative (0), to calculate maximum sending rate when recovery packets are sent along with main media stream (INPUTBW × (100 + OHEADBW) / 100). If INPUTBW is not set while MAXBW is set to relative (0), the actual input rate is evaluated inside the library. Range: minimum 0. |
| oheadbw | int | 25 | Recovery bandwidth overhead above input rate (see SRTO_INPUTBW). Sender: user configurable, default: 25% Range: minimum 5; maximum 100. |
| latency | int | 0 | Set both receive and peer latency. Microseconds on the default FFmpeg SRT transport (srt.force_ffmpeg=true), milliseconds on the native SDK transport (srt.force_ffmpeg=false). Range: minimum 0. |
| tsbpddelay | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). deprecated, same effect as latency option (from -1 to I64_MAX) (default -1) | |
| tlpktdrop | bool | true | Too-late Packet Drop. When enabled on receiver, it skips missing packets that have not been delivered in time and delivers the subsequent packets to the application when their time-to-play has come. It also sends a fake ACK to the sender. When enabled on sender and enabled on the receiving peer, sender drops the older packets that have no chance to be delivered in time. It is automatically enabled in sender if receiver supports it |
| snddropdelay | int | The sender's extra delay before dropping packets. -1 disables packet dropping. Microseconds on the default FFmpeg SRT transport (srt.force_ffmpeg=true), milliseconds on the native SDK transport (srt.force_ffmpeg=false). | |
| nakreport | bool | true | When set to true, Receiver will send UMSG_LOSSREPORT messages periodically until the lost packet is retransmitted or intentionally dropped |
| conntimeo | int | 3000 | Native SRT transport only (srt.force_ffmpeg=false). Connection timeout in milliseconds. The default FFmpeg transport uses connect_timeout in the URL instead. |
| lossmaxttl | int | 0 | The value up to which the Reorder Tolerance may grow. When Reorder Tolerance is > 0, then packet loss report is delayed until that number of packets come in. Reorder Tolerance increases every time a "belated" packet has come, but it wasn't due to retransmission (that is, when UDP packets tend to come out of order), with the difference between the latest sequence and this packet's sequence, and not more than the value of this option. By default it's 0, which means that this mechanism is turned off, and the loss report is always sent immediately upon experiencing a "gap" in sequences. |
| rcvlatency | int | 0 | The time that should elapse since the moment when the packet was sent and the moment when it's delivered to the receiver application in the receiving function. This time should be a buffer time large enough to cover the time spent for sending, unexpectedly extended RTT time, and the time needed to retransmit the lost UDP packet. The effective latency value will be the maximum of this options' value and the value of SRTO_PEERLATENCY set by the peer side Units: microseconds on the default FFmpeg SRT transport (srt.force_ffmpeg=true), milliseconds on the native SDK transport (srt.force_ffmpeg=false). Range: minimum 0. |
| peerlatency | int | 0 | Minimum receive latency advertised to the peer. Microseconds on the default FFmpeg SRT transport (srt.force_ffmpeg=true), milliseconds on the native SDK transport (srt.force_ffmpeg=false). Range: minimum 0. |
| minversion | int | 0 | The minimum SRT version that is required from the peer. A connection to a peer that does not satisfy the minimum version requirement will be rejected |
| streamid | string | A string limited to 512 characters that can be set on the socket prior to connecting. This stream ID will be able to be retrieved by the listener side from the socket that is returned from srt_accept and was connected by a socket with that set stream ID. SRT does not enforce any special interpretation of the contents of this string. As this uses internally the std::string type, there are additional functions for it in the legacy/C++ API (udt.h): UDT::setstreamid and UDT::getstreamid. This option doesn’t make sense in Rendezvous connection; the result might be that simply one side will override the value from the other side and it’s the matter of luck which one would win | |
| smoother | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). The type of Smoother used for the transmission for that socket, which is responsible for the transmission and congestion control. The Smoother type must be exactly the same on both connecting parties, otherwise the connection is rejected. | |
| messageapi | bool | true | When set, this socket uses the Message API[*], otherwise it uses Buffer API. Note that in live mode (see SRTO_TRANSTYPE option) there’s only message API available. |
| payloadsize | int | 1316 | Sets the maximum declared size of a single call to sending function in Live mode. Use 0 if this value isn't used (which is default in file mode). This value shall not be exceeded for a single data sending instruction in Live mode/ Range: up to MTUsize-28-16, usually 1456 |
| transtype | option_fixed | Sets the transmission type for the socket, in particular, setting this option sets multiple other parameters to their default values as required for a particular transmission type. Type: enum. Default: SRTT_LIVE. Range: SRTT_FILE Supported values: live, file. | |
| kmrefreshrate | int | The number of packets to be transmitted after which the encryption key is switched to a new key. Default is -1. -1 means auto (0x1000000 in srt library). The range for this option is integers in the 0 - INT_MAX | |
| kmpreannounce | int | The interval between when a new encryption key is sent and when switchover occurs. This value also applies to the subsequent interval between when switchover occurs and when the old encryption key is decommissioned. Default is -1. -1 means auto (0x1000 in srt library). The range for this option is integers in the 0 - INT_MAX | |
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| embed_scte35 | bool | false | Enable embedding SCTE-35 triggers into MPEG transport stream |
| service_name | string | MService001 | Set Service Name |
| service_provider | string | Medialooks | Set Service Provider |
| transport_stream_id | int | 1 | Set transport_stream_id field Range: minimum 1; maximum 65535. |
| original_network_id | int | 1 | Set original_network_id field Range: minimum 1; maximum 65535. |
| muxrate | int | 1 | The combined rate of all video and audio elementary stream packets common to one program. This rate also includes the VBI and sub-picture private stream data, which MPEG treats as a private stream type Range: minimum 0; maximum 2147483647. |
| service_id | int | 1 | Set service_id field Range: minimum 1; maximum 65535. |
| service_type | option_fixed | digital_tv | Service type Supported values: digital_tv, mpeg2_digital_hdtv, advanced_codec_digital_sdtv, advanced_codec_digital_hdtv, hevc_digital_hdtv, digital_radio, teletext, advanced_codec_digital_radio.digital_tv: Digital Television.digital_radio: Digital Radio.teletext: Teletext.advanced_codec_digital_radio: Advanced Codec Digital Radio.mpeg2_digital_hdtv: MPEG2 Digital HDTV.advanced_codec_digital_sdtv: Advanced Codec Digital SDTV.advanced_codec_digital_hdtv: Advanced Codec Digital HDTV.hevc_digital_hdtv: HEVC Digital Television Service. |
| pmt_start_pid | int | 192 | Set the first pid of the PMT Range: minimum 32; maximum 8186. |
| start_pid | int | 1024 | Set the first pid Range: minimum 32; maximum 8186. |
| pes_payload_size | int | 0 | Set minimum PES packet payload in bytes. Default is 0: each audio frame is sent in its own PES packet Range: minimum 0.0; maximum 2147483647. |
| mpegts_flags | flags | +system_b | MPEG-TS muxing flags Reemit PAT/PMT before writing the next packetReemit PAT and PMT at each video frameUse LATM packetization for AACConform to System B (DVB) instead of System A (ATSC) Supported values: resend_headers, latm, pat_pmt_at_frames, system_b, initial_discontinuity, nit, omit_rai.initial_discontinuity: Mark initial packets as discontinuousnit: Enable NIT transmissionomit_rai: Disable writing of random access indicator |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| tables_version | int | 0 | Set PAT, PMT, SDT and NIT version (default 0, valid values are from 0 to 31, inclusively). This option allows updating stream structure so that standard consumer may detect the change |
| rc_buffers | int | 8 | Rate-Control buffers |
| rc_sync_msec | int | 1 | Rate-Control precision (in msec, minimum 1 msec) |
| rc_max_underflow_msec | int | 30 | Rate-Control max underflow time, after this time the clock corrected (in msec) |
| pcr_period | int | 20 | Override the PCR retransmission interval in milliseconds. The SDK preset default is 20 ms. Set -1 for automatic selection: 20 ms for CBR streams, or the highest multiple of the frame duration below 100 ms for VBR streams. Range: minimum -1; maximum 2147483647. |
| pat_period | double | 0.1 | PAT/PMT retransmission time limit in seconds (default 100 msec) |
| sdt_period | double | 0.5 | SDT retransmission time limit in seconds (default 500 msec) |
| flush_packets | int | -1 | Enable flushing of the I/O context after each packet Range: minimum -1; maximum 1. |
| max_delay | int | 700000 | Set maximum multiplexing PTS/PCR delay in microseconds Range: minimum 0. |
| cc_language | string | und | ISO 639-2 language of one configured digital caption service advertised in PMT when embed_cc is enabled. Empty or invalid values use und. No automatic service detection or caption encoding conversion. Supported video: H.264, MPEG-2 and MPEG-4; no descriptor in M2TS/BDAV; unsupported video codecs produce a warning |
| cc_service | int | 1 | CEA-708 caption service number advertised in PMT Range: minimum 1; maximum 63. |
| cc_korean_code | bool | true | Korean extension per KCS.KO-07.0093 (2013), section 4.2, Table 4.7: false for KS X 1001, true for Unicode when cc_language=kor. For other languages the A/65 reserved bit remains 1. Signalling only; caption bytes are not converted |
| cc_easy_reader | bool | false | CEA-708 caption service easy-reader flag |
| cc_wide_aspect | bool | true | CEA-708 caption service wide-aspect-ratio flag |
| scte35_pid | int | -1 | Set SCTE-35 stream PID. Use -1 for automatic PID assignment |
| mpegts_m2ts_mode | option_fixed | Enable M2TS mode. auto enables it when the file extension is .m2ts (FFmpeg default auto). Supported values: auto, false, true. | |
| mpegts_copyts | option_fixed | Do not offset DTS/PTS by max_delay; auto and false offset them (FFmpeg default auto). Supported values: auto, false, true. | |
| omit_video_pes_length | option_fixed | Omit the PES packet length for video packets (default true) Supported values: false, true. | |
| nit_period | string | NIT retransmission time limit in seconds (default 3) | |
| tdt_period | string | TDT retransmission time limit in seconds (default 10) | |
| eit_period | string | EIT present/following retransmission time limit in seconds (default 0.5) | |
| dvb | option_fixed | DVB compatible MPEG-TS (NIT on, PAT/PMT not forced at video frames). The writer sets true for this format (SDK default true). Supported values: false, true. | |
| start_pcr | double | Set the start PCR value in seconds (from 0 to INT_MAX) (default 0) | |
| mininputbw | string | Native SRT transport only (srt.force_ffmpeg=false). Minimum input bandwidth in bytes per second for automatic input bandwidth estimation. | |
| tsbpdmode | option_fixed | Enable timestamp-based packet delivery in the native SRT transport. Supported values: false, true. | |
| drifttracer | option_fixed | Enable native SRT clock-drift correction. Supported values: false, true. | |
| congestion | option_fixed | Native SRT congestion controller: live or file. Requires the native SRT transport; replaces the obsolete smoother name. Supported values: live, file. | |
| enforcedencryption | option_fixed | Native SRT transport only (srt.force_ffmpeg=false); the FFmpeg transport uses enforced_encryption. Reject a peer whose encryption settings do not match. Supported values: false, true. | |
| ipv6only | int | IPv6-only socket mode: -1 keeps the system default, 0 allows dual stack, 1 enables IPv6 only. | |
| peeridletimeo | int | Peer idle timeout in milliseconds for the native SRT transport. | |
| packetfilter | string | Native SRT packet-filter configuration string, for example FEC options. | |
| retransmitalgo | int | Native SRT retransmission algorithm selector; supported values depend on the bundled SRT library. | |
| mode | option | SRT connection mode. The writer defaults to caller. Supported values: caller, listener, rendezvous.listener: listenerrendezvous: rendezvous | |
| adapter | string | Local interface address used by the native SRT connection. | |
| linger | int | SRT socket linger time in seconds, both transports. -1 keeps the library default. Range: minimum -1; maximum 2147483647. | |
| srt.force_ffmpeg | option_fixed | Writer object property: set it with PropsSet on MFWriter/MWriter; the object property replaces a value in the format options. true (default): FFmpeg SRT transport, latency in microseconds; false: native SDK SRT transport, latency in milliseconds. Supported values: false, true. | |
| timeout | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). Timeout of socket I/O operations (in microseconds) (from -1 to I64_MAX) (default -1) | |
| listen_timeout | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). Connection awaiting timeout (in microseconds) (from -1 to I64_MAX) (default -1) | |
| send_buffer_size | int | FFmpeg SRT transport only (srt.force_ffmpeg=true). Socket send buffer size (in bytes) (from -1 to INT_MAX) (default -1) | |
| recv_buffer_size | int | FFmpeg SRT transport only (srt.force_ffmpeg=true). Socket receive buffer size (in bytes) (from -1 to INT_MAX) (default -1) | |
| pkt_size | option | FFmpeg SRT transport only (srt.force_ffmpeg=true). Maximum SRT packet size (from -1 to 1456) (default -1) Supported values: ts_size, max_size.ts_size: 1316: ts_sizemax_size: 1456: max_size | |
| payload_size | option | FFmpeg SRT transport only (srt.force_ffmpeg=true). Maximum SRT packet size (from -1 to 1456) (default -1) Supported values: ts_size, max_size.ts_size: 1316: ts_sizemax_size: 1456: max_size | |
| enforced_encryption | option_fixed | FFmpeg SRT transport only (srt.force_ffmpeg=true). Enforces that both connection parties have the same passphrase set (default auto) Supported values: auto, false, true. | |
| ffs | int | FFmpeg SRT transport only (srt.force_ffmpeg=true). Flow-control window (SRTO_FC) in packets (from -1 to INT_MAX; default -1). | |
| connect_timeout | string | FFmpeg SRT transport (srt.force_ffmpeg=true, the writer default). Connect timeout in milliseconds. The writer adds connect_timeout=10000 to the srt:// URL unless the URL already has it; the URL value overrides this property. Set it in the URL, e.g. srt://host:port?connect_timeout=5000. | |
| srt_streamid | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). A string of up to 512 characters that an Initiator can pass to a Responder | |
| tsbpd | option_fixed | Timestamp-based packet delivery (default auto). Both transports; the native transport reacts only to false. Supported values: auto, false, true. | |
| localip | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). localip desc | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
SRT Streaming (Secure Reliable Transport)
Configuration Parameter: mpegts
Extensions: srt://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| maxbw | string | -1 | Maximum send bandwidth in bytes per second (64-bit integer): -1 is unlimited; 0 derives the limit from inputbw and oheadbw. |
| pbkeylen | option_fixed | 0 | Sender encryption key length, in bytes. Only can be set to 0, 16, 24 and 32. Enable sender encryption if not 0. Not required on receiver (set to 0), key size obtained from sender in HaiCrypt handshake. Default value is 0 Supported values: 0, 16, 24, 32. |
| passphrase | string | Sets the passphrase for encryption (must be at least 10 characters). This turns encryption on on this side (or turns it off, if empty passphrase is passed). | |
| mss | int | 1500 | Maximum Segment Size. Used for buffer allocation and rate calculation using packet counter assuming fully filled packets. The smallest MSS between the peers is used. This is 1500 by default in the overall internet. This is the maximum size of the UDP packet and can be only decreased, unless you have some unusual dedicated network settings. Not to be mistaken with the size of the UDP payload or SRT payload — this size is the size of the IP packet, including the UDP and SRT headers |
| fc | int | 25600 | Native SRT transport only (srt.force_ffmpeg=false); the FFmpeg transport uses ffs. Flow-control window in packets: maximum number of unacknowledged packets in flight. Must accommodate the configured receive buffer. Range: minimum 32. |
| sndbuf | int | 12058624 | Send Buffer Size. Warning: configured in bytes, converted in packets, when set, based on MSS value. For desired result, configure MSS first. Default value: 8192 × (1500-28) |
| rcvbuf | int | 12058624 | Receive Buffer Size. Receive buffer must not be greater than FC size. Warning: configured in bytes, converted in packets when set based on MSS value. For desired result, configure MSS first. Default value: 8192 × (1500-28) |
| ipttl | int | 32 | IPv4 Time To Live (see IP_TTL option for IP) or IPv6 unicast hops (see IPV6_UNICAST_HOPS for IPV6) depending on socket address family. Applies to sender only Range: minimum 1; maximum 255. |
| iptos | int | 184 | IPv4 Type of Service (see IP_TOS option for IP) or IPv6 Traffic Class (see IPV6_TCLASS of IPv6) depending on socket address family. Applies to sender only. Default: 0xB8 Range: minimum 0; maximum 255. |
| inputbw | int | 0 | Sender nominal input rate. Used along with OHEADBW, when MAXBW is set to relative (0), to calculate maximum sending rate when recovery packets are sent along with main media stream (INPUTBW × (100 + OHEADBW) / 100). If INPUTBW is not set while MAXBW is set to relative (0), the actual input rate is evaluated inside the library Range: minimum 0. |
| oheadbw | int | 25 | Recovery bandwidth overhead above input rate (see SRTO_INPUTBW). Sender: user configurable, default: 25% Range: minimum 5; maximum 100. |
| latency | int | 0 | Set both receive and peer latency. Microseconds on the default FFmpeg SRT transport (srt.force_ffmpeg=true), milliseconds on the native SDK transport (srt.force_ffmpeg=false). Range: minimum 0. |
| tsbpddelay | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). deprecated, same effect as latency option (from -1 to I64_MAX) (default -1) | |
| tlpktdrop | bool | true | Too-late Packet Drop. When enabled on receiver, it skips missing packets that have not been delivered in time and delivers the subsequent packets to the application when their time-to-play has come. It also sends a fake ACK to the sender. When enabled on sender and enabled on the receiving peer, sender drops the older packets that have no chance to be delivered in time. It is automatically enabled in sender if receiver supports it |
| snddropdelay | int | The sender's extra delay before dropping packets. -1 disables packet dropping. Microseconds on the default FFmpeg SRT transport (srt.force_ffmpeg=true), milliseconds on the native SDK transport (srt.force_ffmpeg=false). | |
| nakreport | bool | true | When set to true, Receiver will send UMSG_LOSSREPORT messages periodically until the lost packet is retransmitted or intentionally dropped |
| conntimeo | int | 3000 | Native SRT transport only (srt.force_ffmpeg=false). Connection timeout in milliseconds. The default FFmpeg transport uses connect_timeout in the URL instead. |
| lossmaxttl | int | 0 | The value up to which the Reorder Tolerance may grow. When Reorder Tolerance is > 0, then packet loss report is delayed until that number of packets come in. Reorder Tolerance increases every time a "belated" packet has come, but it wasn't due to retransmission (that is, when UDP packets tend to come out of order), with the difference between the latest sequence and this packet's sequence, and not more than the value of this option. By default it's 0, which means that this mechanism is turned off, and the loss report is always sent immediately upon experiencing a "gap" in sequences |
| rcvlatency | int | 0 | The time that should elapse since the moment when the packet was sent and the moment when it's delivered to the receiver application in the receiving function. This time should be a buffer time large enough to cover the time spent for sending, unexpectedly extended RTT time, and the time needed to retransmit the lost UDP packet. The effective latency value will be the maximum of this options' value and the value of SRTO_PEERLATENCY set by the peer side Units: microseconds on the default FFmpeg SRT transport (srt.force_ffmpeg=true), milliseconds on the native SDK transport (srt.force_ffmpeg=false). Range: minimum 0. |
| peerlatency | int | 0 | Minimum receive latency advertised to the peer. Microseconds on the default FFmpeg SRT transport (srt.force_ffmpeg=true), milliseconds on the native SDK transport (srt.force_ffmpeg=false). Range: minimum 0. |
| minversion | int | 0 | The minimum SRT version that is required from the peer. A connection to a peer that does not satisfy the minimum version requirement will be rejected |
| streamid | string | A string limited to 512 characters that can be set on the socket prior to connecting. This stream ID will be able to be retrieved by the listener side from the socket that is returned from srt_accept and was connected by a socket with that set stream ID. SRT does not enforce any special interpretation of the contents of this string. As this uses internally the std::string type, there are additional functions for it in the legacy/C++ API (udt.h): UDT::setstreamid and UDT::getstreamid. This option doesn’t make sense in Rendezvous connection; the result might be that simply one side will override the value from the other side and it’s the matter of luck which one would win | |
| smoother | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). The type of Smoother used for the transmission for that socket, which is responsible for the transmission and congestion control. The Smoother type must be exactly the same on both connecting parties, otherwise the connection is rejected | |
| messageapi | bool | true | When set, this socket uses the Message API[*], otherwise it uses Buffer API. Note that in live mode (see SRTO_TRANSTYPE option) there’s only message API available |
| payloadsize | int | 1316 | Sets the maximum declared size of a single call to sending function in Live mode. Use 0 if this value isn't used (which is default in file mode). This value shall not be exceeded for a single data sending instruction in Live mode/ Range: up to MTUsize-28-16, usually 1456 |
| transtype | option_fixed | Sets the transmission type for the socket, in particular, setting this option sets multiple other parameters to their default values as required for a particular transmission type. Type: enum. Default: SRTT_LIVE. Range: SRTT_FILE Supported values: live, file. | |
| kmrefreshrate | int | The number of packets to be transmitted after which the encryption key is switched to a new key. Default is -1. -1 means auto (0x1000000 in srt library). The range for this option is integers in the 0 - INT_MAX | |
| kmpreannounce | int | The interval between when a new encryption key is sent and when switchover occurs. This value also applies to the subsequent interval between when switchover occurs and when the old encryption key is decommissioned. Default is -1. -1 means auto (0x1000 in srt library). The range for this option is integers in the 0 - INT_MAX | |
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| embed_tc | bool | false | Enable embedding Time Code into elementary video stream (for H.264 video only) |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| embed_scte35 | bool | false | Enable embedding SCTE-35 triggers into MPEG transport stream |
| mpegts_transport_stream_id | int | 1 | Set the transport_stream_id. This identifies a transponder in DVB. Default is 0x0001 Range: minimum 1.0; maximum 65535.0. |
| mpegts_original_network_id | int | 65281 | Set the original_network_id. This is unique identifier of a network in DVB. Its main use is in the unique identification of a service through the path Original_Network_ID, Transport_Stream_ID Range: minimum 1.0; maximum 65535.0. |
| mpegts_service_id | int | 1 | Set the service_id, also known as program in DVB. Default is 0x0001 Range: minimum 1.0; maximum 65535.0. |
| mpegts_service_type | option | digital_tv | Set service_type field. Digital TelevisionDigital RadioTeletextAdvanced Codec Digital RadioMPEG2 Digital HDTVAdvanced Codec Digital SDTVAdvanced Codec Digital HDTVHEVC Digital Television Service Supported values: digital_tv, digital_radio, teletext, advanced_codec_digital_radio, mpeg2_digital_hdtv, advanced_codec_digital_sdtv, advanced_codec_digital_hdtv, hevc_digital_hdtv. |
| mpegts_pmt_start_pid | int | 4096 | Set the first PID for PMTs. Default is 0x1000, minimum is 0x0020, maximum is 0x1ffa. This option has no effect in m2ts mode where the PMT PID is fixed 0x0100 Range: minimum 32; maximum 8186. |
| mpegts_start_pid | int | 256 | Set the first PID for elementary streams. Default is 0x0100, minimum is 0x0020, maximum is 0x1ffa. This option has no effect in m2ts mode where the elementary stream PIDs are fixed Range: minimum 32; maximum 8186. |
| mpegts_m2ts_mode | option_fixed | Enable M2TS mode. auto enables it when the file extension is .m2ts (FFmpeg default auto). Supported values: auto, false, true. | |
| muxrate | int | 1 | Set a constant muxrate. Default is VBR Range: minimum 0; maximum 2147483647. |
| pes_payload_size | int | 2930 | Set minimum PES packet payload in bytes. Default is 2930 Range: minimum 0.0; maximum 2147483647. |
| mpegts_flags | flags | MPEG-TS muxing flags Reemit PAT/PMT before writing the next packetUse LATM packetization for AACReemit PAT and PMT at each video frameConform to System B (DVB) instead of System A (ATSC)Mark initial packets as discontinuous Supported values: resend_headers, latm, pat_pmt_at_frames, system_b, initial_discontinuity, nit, omit_rai.nit: Enable NIT transmissionomit_rai: Disable writing of random access indicator | |
| mpegts_copyts | option_fixed | Do not offset DTS/PTS by max_delay; auto and false offset them (FFmpeg default auto). Supported values: auto, false, true. | |
| tables_version | int | 0 | Set PAT, PMT, SDT and NIT version (default 0, valid values are from 0 to 31, inclusively). This option allows updating stream structure so that standard consumer may detect the change |
| omit_video_pes_length | option_fixed | Omit the PES packet length for video packets Supported values: false, true. | |
| pcr_period | int | 20 | Override the PCR retransmission interval in milliseconds. The SDK preset default is 20 ms. Set -1 for automatic selection: 20 ms for CBR streams, or the highest multiple of the frame duration below 100 ms for VBR streams. Range: minimum -1; maximum 2147483647. |
| pat_period | double | PAT/PMT retransmission time limit in seconds Range: minimum 0.0. | |
| sdt_period | double | Maximum time in seconds between SDT tables | |
| cc_language | string | und | ISO 639-2 language of one configured digital caption service advertised in PMT when embed_cc is enabled. Empty or invalid values use und. No automatic service detection or caption encoding conversion. Supported video: H.264, MPEG-2 and MPEG-4; no descriptor in M2TS/BDAV; unsupported video codecs produce a warning |
| cc_service | int | 1 | CEA-708 caption service number advertised in PMT Range: minimum 1; maximum 63. |
| cc_korean_code | bool | true | Korean extension per KCS.KO-07.0093 (2013), section 4.2, Table 4.7: false for KS X 1001, true for Unicode when cc_language=kor. For other languages the A/65 reserved bit remains 1. Signalling only; caption bytes are not converted |
| cc_easy_reader | bool | false | CEA-708 caption service easy-reader flag |
| cc_wide_aspect | bool | true | CEA-708 caption service wide-aspect-ratio flag |
| scte35_pid | int | -1 | Set SCTE-35 stream PID. Use -1 for automatic PID assignment |
| nit_period | string | NIT retransmission time limit in seconds (default 3) | |
| tdt_period | string | TDT retransmission time limit in seconds (default 10) | |
| eit_period | string | EIT present/following retransmission time limit in seconds (default 0.5) | |
| dvb | option_fixed | DVB compatible MPEG-TS (NIT on, PAT/PMT not forced at video frames). Supported values: false, true. | |
| start_pcr | double | Set the start PCR value in seconds (from 0 to INT_MAX) (default 0) | |
| mininputbw | string | Native SRT transport only (srt.force_ffmpeg=false). Minimum input bandwidth in bytes per second for automatic input bandwidth estimation. | |
| tsbpdmode | option_fixed | Enable timestamp-based packet delivery in the native SRT transport. Supported values: false, true. | |
| drifttracer | option_fixed | Enable native SRT clock-drift correction. Supported values: false, true. | |
| congestion | option_fixed | Native SRT congestion controller: live or file. Requires the native SRT transport; replaces the obsolete smoother name. Supported values: live, file. | |
| enforcedencryption | option_fixed | Native SRT transport only (srt.force_ffmpeg=false); the FFmpeg transport uses enforced_encryption. Reject a peer whose encryption settings do not match. Supported values: false, true. | |
| ipv6only | int | IPv6-only socket mode: -1 keeps the system default, 0 allows dual stack, 1 enables IPv6 only. | |
| peeridletimeo | int | Peer idle timeout in milliseconds for the native SRT transport. | |
| packetfilter | string | Native SRT packet-filter configuration string, for example FEC options. | |
| retransmitalgo | int | Native SRT retransmission algorithm selector; supported values depend on the bundled SRT library. | |
| mode | option | SRT connection mode. The writer defaults to caller. Supported values: caller, listener, rendezvous.listener: listenerrendezvous: rendezvous | |
| adapter | string | Local interface address used by the native SRT connection. | |
| linger | int | SRT socket linger time in seconds, both transports. -1 keeps the library default. Range: minimum -1; maximum 2147483647. | |
| srt.force_ffmpeg | option_fixed | Writer object property: set it with PropsSet on MFWriter/MWriter; the object property replaces a value in the format options. true (default): FFmpeg SRT transport, latency in microseconds; false: native SDK SRT transport, latency in milliseconds. Supported values: false, true. | |
| timeout | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). Timeout of socket I/O operations (in microseconds) (from -1 to I64_MAX) (default -1) | |
| listen_timeout | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). Connection awaiting timeout (in microseconds) (from -1 to I64_MAX) (default -1) | |
| send_buffer_size | int | FFmpeg SRT transport only (srt.force_ffmpeg=true). Socket send buffer size (in bytes) (from -1 to INT_MAX) (default -1) | |
| recv_buffer_size | int | FFmpeg SRT transport only (srt.force_ffmpeg=true). Socket receive buffer size (in bytes) (from -1 to INT_MAX) (default -1) | |
| pkt_size | option | FFmpeg SRT transport only (srt.force_ffmpeg=true). Maximum SRT packet size (from -1 to 1456) (default -1) Supported values: ts_size, max_size.ts_size: 1316: ts_sizemax_size: 1456: max_size | |
| payload_size | option | FFmpeg SRT transport only (srt.force_ffmpeg=true). Maximum SRT packet size (from -1 to 1456) (default -1) Supported values: ts_size, max_size.ts_size: 1316: ts_sizemax_size: 1456: max_size | |
| enforced_encryption | option_fixed | FFmpeg SRT transport only (srt.force_ffmpeg=true). Enforces that both connection parties have the same passphrase set (default auto) Supported values: auto, false, true. | |
| ffs | int | FFmpeg SRT transport only (srt.force_ffmpeg=true). Flow-control window (SRTO_FC) in packets (from -1 to INT_MAX; default -1). | |
| connect_timeout | string | FFmpeg SRT transport (srt.force_ffmpeg=true, the writer default). Connect timeout in milliseconds. The writer adds connect_timeout=10000 to the srt:// URL unless the URL already has it; the URL value overrides this property. Set it in the URL, e.g. srt://host:port?connect_timeout=5000. | |
| srt_streamid | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). A string of up to 512 characters that an Initiator can pass to a Responder | |
| tsbpd | option_fixed | Timestamp-based packet delivery (default auto). Both transports; the native transport reacts only to false. Supported values: auto, false, true. | |
| localip | string | FFmpeg SRT transport only (srt.force_ffmpeg=true). localip desc | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
UDP Streaming (MPEG-TS)
Configuration Parameter: mpegts
Extensions: udp://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| embed_tc | bool | false | Enable embedding Time Code into elementary video stream (for H.264 video only) |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| embed_scte35 | bool | false | Enable embedding SCTE-35 triggers into MPEG transport stream |
| mpegts_transport_stream_id | int | 1 | Set the transport_stream_id. This identifies a transponder in DVB. Default is 0x0001 Range: minimum 1.0; maximum 65535.0. |
| mpegts_original_network_id | int | 65281 | Set the original_network_id. This is unique identifier of a network in DVB. Its main use is in the unique identification of a service through the path Original_Network_ID, Transport_Stream_ID Range: minimum 1.0; maximum 65535.0. |
| mpegts_service_id | int | 1 | Set the service_id, also known as program in DVB. Default is 0x0001 Range: minimum 1.0; maximum 65535.0. |
| mpegts_service_type | option | digital_tv | Set service_type field. Digital TelevisionDigital RadioTeletextAdvanced Codec Digital RadioMPEG2 Digital HDTVAdvanced Codec Digital SDTVAdvanced Codec Digital HDTVHEVC Digital Television Service Supported values: digital_tv, digital_radio, teletext, advanced_codec_digital_radio, mpeg2_digital_hdtv, advanced_codec_digital_sdtv, advanced_codec_digital_hdtv, hevc_digital_hdtv. |
| mpegts_pmt_start_pid | int | 4096 | Set the first PID for PMTs. Default is 0x1000, minimum is 0x0020, maximum is 0x1ffa. This option has no effect in m2ts mode where the PMT PID is fixed 0x0100 Range: minimum 32; maximum 8186. |
| mpegts_start_pid | int | 256 | Set the first PID for elementary streams. Default is 0x0100, minimum is 0x0020, maximum is 0x1ffa. This option has no effect in m2ts mode where the elementary stream PIDs are fixed Range: minimum 32; maximum 8186. |
| mpegts_m2ts_mode | option_fixed | Enable M2TS mode. auto enables it when the file extension is .m2ts (FFmpeg default auto). Supported values: auto, false, true. | |
| muxrate | int | 1 | Set a constant muxrate. Default is VBR Range: minimum 0; maximum 2147483647. |
| pes_payload_size | int | 2930 | Set minimum PES packet payload in bytes. Default is 2930 Range: minimum 0.0; maximum 2147483647. |
| mpegts_flags | flags | MPEG-TS muxing flags Reemit PAT/PMT before writing the next packetUse LATM packetization for AACReemit PAT and PMT at each video frameConform to System B (DVB) instead of System A (ATSC)Mark initial packets as discontinuous Supported values: resend_headers, latm, pat_pmt_at_frames, system_b, initial_discontinuity, nit, omit_rai.nit: Enable NIT transmissionomit_rai: Disable writing of random access indicator | |
| mpegts_copyts | option_fixed | Do not offset DTS/PTS by max_delay; auto and false offset them (FFmpeg default auto). Supported values: auto, false, true. | |
| tables_version | int | 0 | Set PAT, PMT, SDT and NIT version (default 0, valid values are from 0 to 31, inclusively). This option allows updating stream structure so that standard consumer may detect the change |
| omit_video_pes_length | option_fixed | Omit the PES packet length for video packets Supported values: false, true. | |
| pcr_period | int | 20 | Override the PCR retransmission interval in milliseconds. The SDK preset default is 20 ms. Set -1 for automatic selection: 20 ms for CBR streams, or the highest multiple of the frame duration below 100 ms for VBR streams. Range: minimum -1; maximum 2147483647. |
| pat_period | double | PAT/PMT retransmission time limit in seconds Range: minimum 0.0. | |
| sdt_period | double | SDT retransmission time limit in seconds Range: minimum 0.0. | |
| flush_packets | int | -1 | Enable flushing of the I/O context after each packet Range: minimum -1; maximum 1. |
| cc_language | string | und | ISO 639-2 language of one configured digital caption service advertised in PMT when embed_cc is enabled. Empty or invalid values use und. No automatic service detection or caption encoding conversion. Supported video: H.264, MPEG-2 and MPEG-4; no descriptor in M2TS/BDAV; unsupported video codecs produce a warning |
| cc_service | int | 1 | CEA-708 caption service number advertised in PMT Range: minimum 1; maximum 63. |
| cc_korean_code | bool | true | Korean extension per KCS.KO-07.0093 (2013), section 4.2, Table 4.7: false for KS X 1001, true for Unicode when cc_language=kor. For other languages the A/65 reserved bit remains 1. Signalling only; caption bytes are not converted |
| cc_easy_reader | bool | false | CEA-708 caption service easy-reader flag |
| cc_wide_aspect | bool | true | CEA-708 caption service wide-aspect-ratio flag |
| scte35_pid | int | -1 | Set SCTE-35 stream PID. Use -1 for automatic PID assignment |
| nit_period | string | NIT retransmission time limit in seconds (default 3) | |
| tdt_period | string | TDT retransmission time limit in seconds (default 10) | |
| eit_period | string | EIT present/following retransmission time limit in seconds (default 0.5) | |
| dvb | option_fixed | DVB compatible MPEG-TS (NIT on, PAT/PMT not forced at video frames). Supported values: false, true. | |
| start_pcr | double | Set the start PCR value in seconds (from 0 to INT_MAX) (default 0) | |
| buffer_size | int | System data size (in bytes) (from -1 to INT_MAX) (default -1) | |
| bitrate | string | Bits to send per second (from 0 to I64_MAX) (default 0) | |
| burst_bits | string | Max length of bursts in bits (when using bitrate) (from 0 to I64_MAX) (default 0) | |
| localport | int | Local port (from -1 to INT_MAX) (default -1) | |
| local_port | int | Local port (from -1 to INT_MAX) (default -1) | |
| localaddr | string | Local address | |
| udplite_coverage | int | choose UDPLite head size which should be validated by checksum (from 0 to INT_MAX) (default 0) | |
| pkt_size | int | Maximum UDP packet size (from -1 to INT_MAX) (default 1472) | |
| reuse | option_fixed | explicitly allow reusing UDP sockets (default auto) Supported values: auto, false, true. | |
| reuse_socket | option_fixed | explicitly allow reusing UDP sockets (default auto) Supported values: auto, false, true. | |
| broadcast | option_fixed | explicitly allow or disallow broadcast destination (default false) Supported values: false, true. | |
| ttl | int | Time to live (multicast only) (from 0 to 255) (default 16) | |
| dscp | int | DSCP class for outgoing packets (from -1 to 63) (default -1) | |
| connect | option_fixed | set if connect() should be called on socket (default false) Supported values: false, true. | |
| sources | string | Source list | |
| block | string | Block list | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
Default format codec
AV1 (FFmpeg VPL-MSDK, HW)
H.264 AVC (AMD AMF, HW)
H.264 AVC (Cisco OpenH264, SW)
H.264 AVC (FFmpeg VPL-MSDK, HW)
H.264 AVC (Intel QuickSync, SW)
H.264 AVC (Intel QuickSync, HW)
H.264 AVC (libx264, SW)
H.264 AVC (NVIDIA NVENC, HW)
H.264 AVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (AMD AMF, HW)
H.265 HEVC (FFmpeg VPL-MSDK, HW)
H.265 HEVC (Intel QuickSync, HW)
H.265 HEVC (NVIDIA NVENC, HW)
H.265 HEVC (NVIDIA NVENC Lossless, HW)
H.265 HEVC (x265, SW)
H.266 VVC (Fraunhofer VVenC, SW)
MJPEG (Motion JPEG, SW)
MPEG-2 Video (SW)
MPEG-4 Part 2 Video (ASP, SW)
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
Default format codec
AAC (Advanced Audio Coding)
AC-3 (Dolby Digital, Floating-Point)
AC-3 (Dolby Digital, Fixed-Point)
MP2 (MPEG Audio Layer 2)
MP3 (LAME, MPEG Audio Layer 3)
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Video codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 5M | Set video bitrate (in bits/s). Support unit prefixes such as K or M |
Audio codec attributes
Default format codec
| Name | Type | Default | Description |
|---|---|---|---|
| b | int | 128000 | Set audio bitrate (in bits/s). Support unit prefixes such as K |
WAV (Wave Audio File)
Configuration Parameter: wav
Extensions: wav
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| write_bext | option_fixed | Write BEXT chunk. (default false) Supported values: false, true. | |
| write_peak | option | Write Peak Envelope chunk. (from 0 to 2) (default off) Supported values: off, on, only.off: 0: Do not write peak chunk.on: 1: Append peak chunk after wav data.only: 2: Write only peak chunk, omit wav data. | |
| rf64 | option | Use RF64 header rather than RIFF for large files. (from -1 to 1) (default never) Supported values: auto, always, never.auto: -1: Write RF64 header if file grows large enough.always: 1: Always write RF64 header regardless of file size.never: 0: Never write RF64 header regardless of file size. | |
| peak_block_size | int | Number of audio samples used to generate each peak frame. (from 0 to 65536) (default 256) | |
| peak_format | int | The format of the peak envelope data (1: uint8, 2: uint16). (from 1 to 2) (default 2) | |
| peak_ppv | int | Number of peak points per peak value (1 or 2). (from 1 to 2) (default 2) | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
No Video (Disabled)
Audio codecs
PCM 16-bit Signed LE
PCM 24-bit Signed LE
PCM 24-bit D-Cinema
PCM 32-bit Signed LE
PCM 32-bit Float LE
WebM (Web Media Container)
Configuration Parameter: webm
Extensions: webm
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| reserve_index_space | int | 0 | Reserve a given amount of space (in bytes) at the beginning of the file for the index (cues) Range: minimum 0.0; maximum 2147483647. |
| cluster_size_limit | int | -1 | Store at most the provided amount of bytes in a cluster. If not specified, the limit is set automatically to a sensible hardcoded fixed value Range: minimum -1.0; maximum 2147483647. |
| cluster_time_limit | int | -1 | Store at most the provided number of milliseconds in a cluster. If not specified, the limit is set automatically to a sensible hardcoded fixed value Range: minimum -1.0. |
| dash | option_fixed | Create a WebM file conforming to WebM DASH specification. By default it is set to false Supported values: false, true. | |
| dash_track_number | int | 1 | Track number for the DASH stream. By default it is set to 1 Range: minimum 1; maximum 2147483647. |
| live | option_fixed | Write files assuming it is a live stream. By default it is set to false Supported values: false, true. | |
| allow_raw_vfw | option_fixed | Allow raw VFW mode. By default it is set to false Supported values: false, true. | |
| write_crc32 | option_fixed | Write a CRC32 element inside every Level 1 element. By default it is set to true. This option is ignored for WebM Supported values: false, true. | |
| cues_to_front | option_fixed | move Cues (the index) to the front by shifting data if necessary (default false) Supported values: false, true. | |
| flipped_raw_rgb | option_fixed | store raw RGB bitmaps in VFW mode in bottom-up mode (default false) Supported values: false, true. | |
| default_mode | option | control how a track's FlagDefault is inferred (from 0 to 2) (default passthrough) Supported values: infer, infer_no_subs, passthrough.infer: 0: for each track type, mark each track of disposition default as default; if none exists, mark the first track as defaultinfer_no_subs: 1: for each track type, mark each track of disposition default as default; for audio and video: if none exists, mark the first track as defaultpassthrough: 2: use the disposition flag as-is | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
AV1 (NVIDIA NVENC, HW)
VP8 (Google, SW)
VP9 (Google, SW)
Audio codecs
Ogg Vorbis
No Audio (Disabled)
XDCAM MPEG IMX (MPEG-4 Container)
Configuration Parameter: mov
Extensions: mov
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| split_channels | option_fixed | 0 | Split the overall audio channel into individual audio tracks, where each track contains a specific number of channels specified by the split_channels property. For example, if you record an input source with 12 audio channels and split_channels='4', you will get 3 audio tracks, each containing 4 audio channels Supported values: 0, 1, 2, 4, 6, 8. |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning Supported values: true, false. |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning Supported values: true, false. |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | MWriter only (legacy FFmpeg encoder): also write the encoded video stream to this file path | |
| raw_audio | string | MWriter only (legacy FFmpeg encoder): also write the encoded audio stream of track 0 to this file path; raw_audio.N for track N | |
| start_timecode | option | auto | Set start timecode for encoding. Possible values are: auto (default), disabled, local_time or a custom string like "10:00:00:00" Supported values: auto, disabled, local_time. |
| ignore_pts | option_fixed | MWriter only (legacy FFmpeg encoder): number video frames by a frame counter instead of the sample times Supported values: false, true. | |
| movflags | flags | MOV muxer flags Fragment at video keyframesThis data is usually written at the end of the file, but it can be moved to the start for better playback by adding +faststart to the movflags Supported values: frag_keyframe, faststart, cmaf, dash, default_base_moof, delay_moov, disable_chpl, empty_moov, frag_custom, frag_discont, frag_every_frame, global_sidx, isml, negative_cts_offsets, omit_tfhd_offset, prefer_icc, rtphint, separate_moof, skip_sidx, skip_trailer, use_metadata_tags, write_colr, write_gama, hybrid_fragmented.cmaf: Write CMAF compatible fragmented MP4dash: Write DASH compatible fragmented MP4default_base_moof: Set the default-base-is-moof flag in tfhd atomsdelay_moov: Delay writing the initial moov until the first fragment is cut, or until the first fragment flushdisable_chpl: Disable Nero chapter atomempty_moov: Make the initial moov atom emptyfrag_custom: Flush fragments on caller requestsfrag_discont: Signal that the next fragment is discontinuous from earlier onesfrag_every_frame: Fragment at every frameglobal_sidx: Write a global sidx index at the start of the fileisml: Create a live smooth streaming feed (for pushing to a publishing point)negative_cts_offsets: Use negative CTS offsets (reducing the need for edit lists)omit_tfhd_offset: Omit the base data offset in tfhd atomsprefer_icc: If writing colr atom prioritise usage of ICC profile if it exists in stream packet side datartphint: Add RTP hint tracksseparate_moof: Write separate moof/mdat atoms for each trackskip_sidx: Skip writing of sidx atomskip_trailer: Skip writing the mfra/tfra/mfro trailer for fragmented filesuse_metadata_tags: Use mdta atom for metadata.write_colr: Write colr atom even if the color info is unspecified (Experimental, may be renamed or changed, do not use from scripts)write_gama: Write deprecated gama atomhybrid_fragmented: For recoverability, write a fragmented file that is converted to non-fragmented at the end. | |
| moov_size | int | 0 | Reserves space for the moov atom at the beginning of the file instead of placing the moov atom at the end. If the space reserved is insufficient, muxing will fail Range: minimum 0.0; maximum 2147483647. |
| skip_iods | int | 1 | Skip writing iods atom Range: minimum 0.0; maximum 1.0. |
| iods_audio_profile | int | -1 | Specify iods number for the audio profile atom (from -1 to 255), default is -1 |
| iods_video_profile | int | -1 | Specify iods number for the video profile atom (from -1 to 255), default is -1 |
| frag_duration | int | 0 | Create fragments that are duration microseconds long Range: minimum 0.0; maximum 2147483647. |
| min_frag_duration | int | 0 | Do not create fragments that are shorter than duration microseconds long Range: minimum 0.0; maximum 2147483647. |
| frag_size | int | 0 | Create fragments that contain up to size bytes of payload data Range: minimum 0.0; maximum 2147483647. |
| brand | string | Override major brand | |
| empty_hdlr_name | option_fixed | write zero-length name string in hdlr atoms within mdia and minf atoms (default false) Supported values: false, true. | |
| encryption_key | string | The media encryption key (hex) | |
| encryption_kid | string | The media encryption key identifier (hex) | |
| encryption_scheme | string | Configures the encryption scheme, allowed values are none, cenc-aes-ctr | |
| frag_interleave | int | Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0) | |
| fragment_index | int | Fragment number of the next fragment. Range: minimum 1; maximum 2147483647. | |
| ism_lookahead | int | Number of lookahead entries for ISM files (from 0 to 255) (default 0) | |
| mov_gamma | double | gamma value for gama atom (from 0 to 10) (default 0) | |
| movie_timescale | int | set movie timescale (from 0 to INT_MAX) (default 0) | |
| rtpflags | flags | RTP muxer flags (default 0) Supported values: latm, rfc2190, skip_rtcp, h264_mode0, send_bye.latm: Use MP4A-LATM packetization instead of MPEG4-GENERIC for AACrfc2190: Use RFC 2190 packetization instead of RFC 4629 for H.263skip_rtcp: Don't send RTCP sender reportsh264_mode0: Use mode 0 for H.264 in RTPsend_bye: Send RTCP BYE packets when finishing | |
| use_editlist | option_fixed | use edit list (default auto) Supported values: auto, false, true. | |
| use_stream_ids_as_track_ids | option_fixed | use stream ids as track ids (default false) Supported values: false, true. | |
| video_track_timescale | int | set timescale of all video tracks (from 0 to INT_MAX) (default 0) | |
| write_btrt | option_fixed | force or disable writing btrt (default auto) Supported values: auto, false, true. | |
| write_prft | option | Write producer reference time box with specified time source (from 0 to 2) (default 0) Supported values: pts, wallclock.pts: 2: ptswallclock: 1: wallclock | |
| write_tmcd | option_fixed | force or disable writing tmcd (default auto) Supported values: auto, false, true. | |
| packetsize | int | set packet size (from 0 to INT_MAX) (default 0) | |
| fflags | flags | FFmpeg fflags option. (default autobsf) Supported values: flush_packets, bitexact, autobsf.flush_packets: reduce the latency by flushing out packets immediatelybitexact: do not write random/volatile dataautobsf: add needed bsfs automatically | |
| fdebug | flags | print specific debug info (default 0) Supported values: ts, id3v2.ts: tsid3v2: id3v2 | |
| max_delay | int | maximum muxing or demuxing delay in microseconds (from -1 to INT_MAX) (default -1) | |
| start_time_realtime | string | wall-clock time when stream begins (PTS==0) (from I64_MIN to I64_MAX) (default I64_MIN) | |
| audio_preload | int | microseconds by which audio packets should be interleaved earlier (from 0 to 2.14748e+09) (default 0) | |
| chunk_duration | int | microseconds for each chunk (from 0 to 2.14748e+09) (default 0) | |
| chunk_size | int | size in bytes for each chunk (from 0 to 2.14748e+09) (default 0) | |
| flush_packets | int | enable flushing of the I/O context after each packet (from -1 to 1) (default -1) | |
| metadata_header_padding | int | set number of bytes to be written as padding in a metadata header (from -1 to INT_MAX) (default -1) | |
| output_ts_offset | string | set output timestamp offset (default 0) | |
| max_interleave_delta | string | maximum buffering duration for interleaving (from 0 to I64_MAX) (default 10000000) | |
| f_strict | option | how strictly to follow the standards (deprecated; use strict, save via avconv) (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| strict | option | how strictly to follow the standards (from INT_MIN to INT_MAX) (default normal) Supported values: very, strict, normal, unofficial, experimental.very: 2: strictly conform to a older more strict version of the spec or reference softwarestrict: 1: strictly conform to all the things in the spec no matter what the consequencesnormal: 0: normalunofficial: -1: allow unofficial extensionsexperimental: -2: allow non-standardized experimental variants | |
| avoid_negative_ts | option | shift timestamps so they start at 0 (from -1 to 2) (default auto) Supported values: auto, disabled, make_non_negative, make_zero.auto: -1: enabled when required by target formatdisabled: 0: do not change timestampsmake_non_negative: 1: shift timestamps so they are non negativemake_zero: 2: shift timestamps so they start at 0 |
Video codecs
MPEG-2 Video 30Mbps
MPEG-2 Video 40Mbps
MPEG-2 Video 50Mbps
Direct Stream Copy (No Re-Encoding)
No Video (Disabled)
Audio codecs
PCM 16-bit Signed LE
PCM 24-bit Signed LE
Direct Stream Copy (No Re-Encoding)
No Audio (Disabled)
Still have questions?
Tell us what didn’t work or what you’d like clarified.