All CPU codecs from the following table is the FFMpeg based video codecs. GPU codecs is a custom implementation of Medialooks team.
AAC (Audio File, ADTS)
Configuration Parameter: adts
Extensions: aac
Video codecs
- No Video (Disabled)
Audio codecs
- AAC (Advanced Audio Coding)
AC-3 (Audio File)
Configuration Parameter: ac3
Extensions: ac3
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| ignore_pts | string | Ignore video sample times. Possible values: true, false |
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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| 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" |
| ignore_pts | string | Ignore video sample times. Possible values: true, false | |
| reserve_index_space | int | 0 | Reserve space (in bytes) at the beginning of the file for each stream index |
| write_channel_mask | 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 |
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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| 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" |
| ignore_pts | string | Ignore video sample times. Possible values: true, false |
Video codecs
- DV (Digital Video)
Audio codecs
- PCM 16-bit Signed LE
- No Audio (Disabled)
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 |
| 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 |
| 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 |
| muxrate | int | 1 | Set a constant muxrate. Default is VBR |
| service_id | int | 1 | Set service_id field |
| service_type | option_fixed | digital_tv | Service type |
| pmt_start_pid | int | 192 | Set the first pid of the PMT |
| start_pid | int | 1024 | Set the first pid |
| pes_payload_size | int | 2930 | Set minimum PES packet payload in bytes. Default is 2930 |
| 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) |
| 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" |
| resend_headers | int | 0 | Reemit PAT/PMT before writing the next packet |
| 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, miminum 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 default PCR retransmission time in milliseconds. Default is -1 which means that the PCR interval will be determined automatically: 20 ms is used for CBR streams, the highest multiple of the frame duration which is less than 100 ms is used for VBR streams |
| 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) |
| nit_period | double | 9.0 | NIT retransmission time limit in seconds (default 3 s, no transmit -1) |
| tdt_period | double | 25.0 | TDT retransmission time limit in seconds (default 10 s, no transmit -1) |
| eit_period | double | 1.5 | EIT present/following retransmission time limit in seconds (default 0.5 s, no transmit -1) |
| flush_packets | int | -1 | Enable flushing of the I/O context after each packet |
| max_delay | int | 700000 | Set maximum multiplexing PTS/PCR delay in microseconds |
| start_pcr | double | 0.0 | Set the start PCR value in second |
| muxer.buffer_min | int | 5 | Set number of packets that should be accumulated in the multiplexer queue before processing begins |
| muxer.buffer_max | int | 10 | Set maximum multiplexer packets queue size |
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| ignore_pts | string | Ignore video sample times. Possible values: true, false | |
| 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 |
| preload | int | 500000 | Initial demux-decode delay in microseconds |
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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| ignore_pts | string | Ignore video sample times. Possible values: true, false |
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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| 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" |
| ignore_pts | string | Ignore video sample times. Possible values: true, false |
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 |
| hls_time | double | 2.0 | Set the target segment length. Default value is 2. Ð’uration must be a time duration specification. Segment will be cut on the next key frame after this time has passed |
| 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 |
| 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 |
| 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 |
| hls_ts_options | string | Set hls mpegts list of options for the container format used for hls | |
| hls_vtt_options | string | Set hls vtt list of options for the container format used for hls | |
| hls_wrap | int | 0 | Set number after which the index wraps (will be deprecated) |
| hls_allow_cache | int | -1 | Explicitly set whether the client MAY (1) or MUST NOT (0) cache media segments |
| 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) |
| 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 | 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 | ||
| 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 |
| segment_type | 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 | ||
| 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 | |
| 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 | ||
| use_localtime | Set filename expansion with strftime at segment creation | ||
| use_localtime_mkdir | Create last directory component in strftime-generated filename | ||
| hls_playlist_type | option | Set the HLS playlist type | |
| pl_type | 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 | ||
| 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 |
| start_sequence_source_type | start_number value (default)seconds since epochcurrent datetime as YYYYMMDDhhmmss | ||
| 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 |
| http_persistent | Use persistent HTTP connections. Applicable only for HTTP output | ||
| timeout | Set timeout for socket I/O operations. Applicable only for HTTP output |
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)
Icecast Streaming (Ogg / 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) |
Video codecs
- No Video (Disabled)
Audio codecs
- Default format codec
- AAC (Advanced Audio Coding)
- FLAC (Free Lossless)
- MP3 (LAME, MPEG Audio Layer 3)
- Ogg Vorbis
- No Audio (Disabled)
IIS Live Smooth Streaming
Configuration Parameter: ismv
Extensions: http://
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)
- VC-1 (Windows Media Video, 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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| ignore_pts | string | Ignore video sample times. Possible values: true, false | |
| reserve_index_space | int | 0 | Reserve a given amount of space (in bytes) at the beginning of the file for the index (cues) |
| 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 |
| 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 |
| dash | Create a WebM file conforming to WebM DASH specification. By default it is set to false | ||
| dash_track_number | int | 1 | Track number for the DASH stream. By default it is set to 1 |
| live | Write files assuming it is a live stream. By default it is set to false | ||
| allow_raw_vfw | Allow raw VFW mode. By default it is set to false | ||
| write_crc32 | Write a CRC32 element inside every Level 1 element. By default it is set to true. This option is ignored for WebM |
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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| 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" |
| ignore_pts | string | Ignore video sample times. Possible values: true, false | |
| 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) | |
| 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 |
| 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 | |
| skip_iods | Skip writing iods atom | ||
| 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 |
| min_frag_duration | int | 0 | Do not create fragments that are shorter than duration microseconds long |
| frag_size | int | 0 | Create fragments that contain up to size bytes of payload data |
| 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 | Use edit list (default value is auto) | ||
| fragment_index | int | 1 | Fragment number of the next fragment |
| 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 |
| encryption_scheme | string | Configures the encryption scheme, allowed values are none, cenc-aes-ctr | |
| encryption_key | Set the media encryption key in hexadecimal format | ||
| encryption_kid | Set the media encryption key identifier in hexadecimal format | ||
| use_stream_ids_as_track_ids | Use stream ids as track ids | ||
| write_tmcd | Force or disable writing tmcd | ||
| 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 |
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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| 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" |
| ignore_pts | string | Ignore video sample times. Possible values: true, false | |
| 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 | |
| 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 |
| skip_iods | int | Skip writing iods atom | |
| 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 |
| min_frag_duration | int | 0 | Specify the minimum fragment duration (in microseconds) |
| frag_size | int | 0 | Create fragments that contain up to size bytes of payload data |
| 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 |
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)
MP3 (LAME, MPEG Audio Layer 3)
Configuration Parameter: mp3
Extensions: mp3
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| id3v2_version | int | 4 | Select ID3v2 version to write. Currently 3 and 4 are supported |
| write_id3v1 | int | 0 | Enable ID3v1 writing. ID3v1 tags are written in UTF-8 which may not be supported by most software |
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| 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 | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| ignore_pts | string | Ignore video sample times. Possible values: true, false | |
| 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) | |
| 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 | |
| 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 | |
| skip_iods | Skip writing iods atom | ||
| 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 |
| min_frag_duration | int | 0 | Do not create fragments that are shorter than duration microseconds long |
| frag_size | int | 0 | Create fragments that contain up to size bytes of payload data |
| 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 | Use edit list (default value is auto) | ||
| fragment_index | int | 1 | Specify gamma value for gama atom (as a decimal number from 0 to 10), default is 0.0, must be set together with + movflags |
| mov_gamma | double | 0.0 | gamma value for gama atom |
| frag_interleave | int | 0 | Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) |
| encryption_scheme | string | Configures the encryption scheme, allowed values are none, cenc-aes-ctr | |
| encryption_key | Set the media encryption key in hexadecimal format | ||
| encryption_kid | Set the media encryption key identifier in hexadecimal format | ||
| use_stream_ids_as_track_ids | Use stream ids as track ids | ||
| write_tmcd | 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) | ||
| 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 |
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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| ignore_pts | bool | true | Ignore video sample times. Possible values: true, false |
| 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" |
| 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 |
| preload | int | Set initial demux-decode delay in microseconds |
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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| 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 | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| ignore_pts | string | Ignore video sample times. Possible values: true, false | |
| 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" |
| mpegts_transport_stream_id | int | 1 | Set the transport_stream_id field. This identifies a transponder in DVB. Default is 0x0001 |
| 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 |
| mpegts_service_id | int | 1 | Set the service_id, also known as program in DVB. Default is 0x0001 |
| 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 |
| 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 |
| 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 |
| mpegts_m2ts_mode | Enable m2ts mode if set to 1. Default value is -1 which disables m2ts mode | ||
| muxrate | int | Set a constant muxrate (in bits/s). Default is VBR | |
| pes_payload_size | int | Set minimum PES packet payload in bytes. Default is 2930 | |
| 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 | |
| resend_headers | int | Reemit PAT/PMT before writing the next packet | |
| mpegts_copyts | Preserve original timestamps, if value is set to 1. Default value is -1, which results in shifting timestamps so that they start from 0 | ||
| 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 | Omit the PES packet length for video packets | ||
| pcr_period | int | 20 | Override the default PCR retransmission time in milliseconds. Default is -1 which means that the PCR interval will be determined automatically: 20 ms is used for CBR streams, the highest multiple of the frame duration which is less than 100 ms is used for VBR streams |
| pat_period | double | PAT/PMT retransmission time limit in seconds | |
| sdt_period | double | SDT retransmission time limit in seconds |
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)
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 |
| extra_window_size | int | 5 | Number of segments kept outside of the manifest before removing from disk |
| min_seg_duration | int | 5000000 | Minimum segment duration (in microseconds) (will be deprecated) |
| seg_duration | Segment duration (in seconds, fractional value can be set) | ||
| frag_duration | 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) |
| 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 | Use persistent HTTP connections. Applicable only for HTTP output | ||
| hls_playlist | 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 | ||
| 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 | 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 | Set container format (mp4/webm) options using a :-separated list of key=value parameters. Values containing : special characters must be escaped | ||
| global_sidx | Write global SIDX atom. Applicable only for single file, mp4 output, non-streaming mode | ||
| dash_segment_type | option | auto | Set dash segment files type |
| segment_type | Select segment file format based on codecMake segment file in ISOBMFF formatMake segment file in WebM format | ||
| 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 | Enable Low-latency HLS(Experimental). Adds #EXT-X-PREFETCH tag with current segment's URI. This is an experimental feature | ||
| 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 |
| write_prft | 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 | ||
| 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 |
| http_opts | Specify a list of :-separated key=value options to pass to the underlying HTTP protocol. Applicable only for HTTP output | ||
| target_latency | 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 |
| 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 |
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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| 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" |
| ignore_pts | string | Ignore video sample times. Possible values: true, false |
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)
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| 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" |
| ignore_pts | string | Ignore video sample times. Possible values: true, false |
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
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 |
| 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 | |
| fifo_size | int | 8192 | Set fifo buffer size, must be a power of 2 |
| overrun_nonfatal | bool | false | Survive in case of receiving fifo buffer overrun |
| pkt_size | int | 1316 | Set maximum packet size for sending data |
| 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 | |
| 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 |
| 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 |
| 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 |
| mpegts_service_id | int | 1 | Set the service_id, also known as program in DVB. Default is 0x0001 |
| 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 |
| 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 |
| 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 |
| mpegts_m2ts_mode | Enable m2ts mode | ||
| muxrate | int | 1 | Set a constant muxrate. Default is VBR |
| pes_payload_size | int | 2930 | Minimum PES packet payload in bytes |
| 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 | |
| resend_headers | int | 0 | Reemit PAT/PMT before writing the next packet |
| mpegts_copyts | Preserve original timestamps, if value is set to 1. Default value is -1, which results in shifting timestamps so that they start from 0 | ||
| 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 default PCR retransmission time in milliseconds. Default is -1 which means that the PCR interval will be determined automatically: 20 ms is used for CBR streams, the highest multiple of the frame duration which is less than 100 ms is used for VBR streams |
| pat_period | double | PAT/PMT retransmission time limit in seconds | |
| sdt_period | double | Maximum time in seconds between SDT tables |
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)
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 |
| merge_tracks | option_fixed | true | Merge audio tracks |
| 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_live | string | Specify that the media is a live stream. No resuming or seeking in live streams is possible. The default value is any, which means the subscriber first tries to play the live stream specified in the playpath. If a live stream of that name is not found, it plays the recorded stream. The other possible values are live and recorded | |
| rtmp_pageurl | string | URL of the web page in which the media was embedded. By default no value will be sent | |
| rtmp_playpath | string | Stream identifier to play or to publish. This option overrides the parameter specified in the URI | |
| rtmp_subscribe | string | Name of live stream to subscribe to. By default no value will be sent. It is only sent if the option is specified or if rtmp_live is set to live | |
| vt_sync_msec | int | 5000 | Set the video time synchronization interval |
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)
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) |
| d | int | 4 | The number of rows (4-20, LxD Less 100) |
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)
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 | |
| payload_type | int | -1 | Specify RTP payload type |
| ssrc | int | 0 | Stream identifier |
| cname | string | CNAME to include in RTCP SR packets | |
| seq | int | Starting sequence number |
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)
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 |
| 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 | |
| rtsp_transport | flags | Set RTSP transport protocols Use UDP as lower transport protocolUse TCP (interleaving within the RTSP control channel) as lower transport protocolUse UDP multicast as lower transport protocolUse HTTP tunneling as lower transport protocol, which is useful for passing proxiesUse HTTPs tunneling as lower transport protocol, which is useful for passing proxies and widely used for security consideration | |
| rtsp_flags | Set RTSP flags. Default value is none. The following values are accepted Accept packets only from negotiated peer address and portAct as a server, listening for an incoming connectionTry TCP for RTP transport first, if TCP is available as RTSP RTP transportExport raw MPEG-TS stream instead of demuxing. The flag will simply write out the raw stream, with the original PAT/PMT/PIDs intact | ||
| min_port | int | 5000 | Set minimum local UDP port. Default value is 5000 |
| max_port | int | 65000 | Set maximum local UDP port. Default value is 65000 |
| buffer_size | int | -1 | Underlying protocol send/receive buffer size in bytes |
| stimeout | int | 10000000 | Set timeout (in microseconds) of socket TCP I/O operations |
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)
SRT Streaming (DVB-Compatible Mode)
Configuration Parameter: dvb
Extensions: srt://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| maxbw | int | -1 | Maximum send bandwidth. -1: infinite (CSRTCC limit is 30mbps) = 0: relative to input rate |
| 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 |
| 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 | Flight Flag Size (maximum number of bytes that can be sent without being acknowledged) |
| 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 | option_fixed | 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. |
| 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 |
| 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. |
| oheadbw | int | 25 | Recovery bandwidth overhead above input rate (see SRTO_INPUTBW). Sender: user configurable, default: 25% |
| latency | int | 0 | This flag sets both SRTO_RCVLATENCY and SRTO_PEERLATENCY to the same value. Note that prior to version 1.3.0 this is the only flag to set the latency, however this is effectively equivalent to setting SRTO_PEERLATENCY, when the side is sender (see SRTO_SENDER) and SRTO_RCVLATENCY when the side is receiver, and the bidirectional stream sending in version 1.2.0is not supported |
| tsbpddelay | Receiver's buffer delay (or receiver's buffer latency, or SRT Latency). This is the time, in milliseconds, that SRT holds a packet from the moment it has been received till the time it should be delivered to the upstream application | ||
| 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 | The sender’s extra delay before dropping packets. This delay is added to the default drop delay time interval value. Special value -1: Do not drop packets on the sender at all | ||
| 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 | Connect timeout. SRT cannot connect for RTT > 1500 msec (2 handshake exchanges) with the default connect timeout of 3 seconds. This option applies to the caller and rendezvous connection modes. The connect timeout is 10 times the value set for the rendezvous mode (which can be used as a workaround for this connection problem with earlier versions) |
| 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 |
| peerlatency | int | 0 | The latency value (as described in SRTO_RCVLATENCY) that is set by the sender side as a minimum value for the receiver |
| 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 | option_fixed | live | 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 | 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 | ||
| kmrefreshrate | 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 | 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 |
| 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 |
| original_network_id | int | 1 | Set original_network_id field |
| 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 |
| service_id | int | 1 | Set service_id field |
| service_type | option_fixed | digital_tv | Service type |
| pmt_start_pid | int | 192 | Set the first pid of the PMT |
| start_pid | int | 1024 | Set the first pid |
| pes_payload_size | int | 2930 | Set minimum PES packet payload in bytes. Default is 2930 |
| 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) |
| 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" |
| resend_headers | int | 0 | Reemit PAT/PMT before writing the next packet |
| 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, miminum 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 default PCR retransmission time in milliseconds (default 20ms) |
| 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 |
| max_delay | int | 700000 | Set maximum multiplexing PTS/PCR delay in microseconds |
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)
SRT Streaming (Secure Reliable Transport)
Configuration Parameter: mpegts
Extensions: srt://
Additional attributes
| Name | Type | Default | Description |
|---|---|---|---|
| maxbw | int | -1 | Maximum send bandwidth. -1: infinite (CSRTCC limit is 30mbps) = 0: relative to input rate |
| 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 |
| 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 | Flight Flag Size (maximum number of bytes that can be sent without being acknowledged) |
| 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 | option_fixed | 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 |
| 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 |
| 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 |
| oheadbw | int | 25 | Recovery bandwidth overhead above input rate (see SRTO_INPUTBW). Sender: user configurable, default: 25% |
| latency | int | 0 | This flag sets both SRTO_RCVLATENCY and SRTO_PEERLATENCY to the same value. Note that prior to version 1.3.0 this is the only flag to set the latency, however this is effectively equivalent to setting SRTO_PEERLATENCY, when the side is sender (see SRTO_SENDER) and SRTO_RCVLATENCY when the side is receiver, and the bidirectional stream sending in version 1.2.0is not supported |
| tsbpddelay | Receiver's buffer delay (or receiver's buffer latency, or SRT Latency). This is the time, in milliseconds, that SRT holds a packet from the moment it has been received till the time it should be delivered to the upstream application | ||
| 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 | The sender’s extra delay before dropping packets. This delay is added to the default drop delay time interval value | ||
| 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 | Connect timeout. SRT cannot connect for RTT > 1500 msec (2 handshake exchanges) with the default connect timeout of 3 seconds. This option applies to the caller and rendezvous connection modes. The connect timeout is 10 times the value set for the rendezvous mode (which can be used as a workaround for this connection problem with earlier versions) |
| 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 |
| peerlatency | int | 0 | The latency value (as described in SRTO_RCVLATENCY) that is set by the sender side as a minimum value for the receiver |
| 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 | option_fixed | live | 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 | 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 | ||
| kmrefreshrate | 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 | 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 |
| 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 |
| 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 |
| mpegts_service_id | int | 1 | Set the service_id, also known as program in DVB. Default is 0x0001 |
| 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 |
| 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 |
| 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 |
| mpegts_m2ts_mode | Enable m2ts mode if set to 1. Default value is -1 which disables m2ts mode | ||
| muxrate | int | 1 | Set a constant muxrate. Default is VBR |
| pes_payload_size | int | 2930 | Set minimum PES packet payload in bytes. Default is 2930 |
| 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 | |
| resend_headers | int | 0 | Reemit PAT/PMT before writing the next packet |
| mpegts_copyts | Preserve original timestamps, if value is set to 1. Default value is -1, which results in shifting timestamps so that they start from 0 | ||
| 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 | Omit the PES packet length for video packets | ||
| pcr_period | int | 20 | Override the default PCR retransmission time in milliseconds. Default is -1 which means that the PCR interval will be determined automatically: 20 ms is used for CBR streams, the highest multiple of the frame duration which is less than 100 ms is used for VBR streams |
| pat_period | double | PAT/PMT retransmission time limit in seconds | |
| sdt_period | double | Maximum time in seconds between SDT tables |
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)
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 |
| 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 |
| 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 |
| mpegts_service_id | int | 1 | Set the service_id, also known as program in DVB. Default is 0x0001 |
| 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 |
| 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 |
| 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 |
| mpegts_m2ts_mode | Enable m2ts mode if set to 1. Default value is -1 which disables m2ts mode | ||
| muxrate | int | 1 | Set a constant muxrate. Default is VBR |
| pes_payload_size | int | 2930 | Set minimum PES packet payload in bytes. Default is 2930 |
| 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 | |
| resend_headers | int | 0 | Reemit PAT/PMT before writing the next packet |
| mpegts_copyts | Preserve original timestamps, if value is set to 1. Default value is -1, which results in shifting timestamps so that they start from 0 | ||
| 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 | Omit the PES packet length for video packets | ||
| pcr_period | int | 20 | Override the default PCR retransmission time in milliseconds. Default is -1 which means that the PCR interval will be determined automatically: 20 ms is used for CBR streams, the highest multiple of the frame duration which is less than 100 ms is used for VBR streams |
| pat_period | double | PAT/PMT retransmission time limit in seconds | |
| sdt_period | double | SDT retransmission time limit in seconds | |
| flush_packets | int | -1 | Enable flushing of the I/O context after each packet |
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)
WAV (Wave Audio File)
Configuration Parameter: wav
Extensions: wav
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) |
| 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 |
| 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 |
| dash | Create a WebM file conforming to WebM DASH specification. By default it is set to false | ||
| dash_track_number | int | 1 | Track number for the DASH stream. By default it is set to 1 |
| live | Write files assuming it is a live stream. By default it is set to false | ||
| allow_raw_vfw | Allow raw VFW mode. By default it is set to false | ||
| write_crc32 | Write a CRC32 element inside every Level 1 element. By default it is set to true. This option is ignored for WebM |
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 |
| scc_capture | option_fixed | true | Capture SCC Closed Captioning |
| anc_capture | option_fixed | false | Capture ANC Closed Captioning |
| embed_cc | bool | false | Enable embedding Closed Captions (ATSC) into elementary video stream |
| raw_video | string | Capture RAW video. Set target save path as a value | |
| raw_audio | string | Capture RAW audio. Set target save path as a value | |
| 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" |
| ignore_pts | string | Ignore video sample times. Possible values: true, false | |
| 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 | |
| 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 |
| skip_iods | int | 1 | Skip writing iods atom |
| 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 |
| min_frag_duration | int | 0 | Do not create fragments that are shorter than duration microseconds long |
| frag_size | int | 0 | Create fragments that contain up to size bytes of payload data |
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)