Lines Matching +full:ts +full:- +full:api +full:- +full:utils
9 configure option @code{--list-muxers}.
12 @code{--disable-muxers} and selectively enable / disable single muxers
13 with the options @code{--enable-muxer=@var{MUXER}} /
14 @code{--disable-muxer=@var{MUXER}}.
16 The option @code{-muxers} of the ff* tools will display the list of
17 enabled muxers. Use @code{-formats} to view a combined list of
45 …ion bit in the ADTS frame header to 1 which indicates MPEG-2. Default is 0, which indicates MPEG-4.
134 cause problems for some use cases, e.g. third-party software strictly relying
148 (see @ref{amerge,,the "amerge" section in the ffmpeg-filters manual,ffmpeg-filters}).
152 bitmap is stored bottom-up. Note that this option does not flip the bitmap
166 It takes a single signed native-endian 16-bit raw audio stream of at most 2 channels.
172 Threshold for detecting silence. Range is from -1 to 32767, where -1 disables
175 Silence detection must be disabled for use with the AcoustID service. Default is -1.
202 This muxer computes and prints the Adler-32 CRC of all the input audio
204 16-bit raw audio and video frames to raw video before computing the
208 CRC=0x@var{CRC}, where @var{CRC} is a hexadecimal number 0-padded to
218 ffmpeg -i INPUT -f crc out.crc
223 ffmpeg -i INPUT -f crc -
228 compute the CRC of the input audio converted to PCM unsigned 8-bit
229 and the input video converted to MPEG-2 video, use the command:
231 ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f crc -
238 and manifest files according to the MPEG-DASH standard ISO/IEC 23009-1:2014.
244 …on: @url{http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip}
246 …ion: @url{https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specificati…
251 The segment filename might contain pre-defined identifiers used with SegmentTemplate
254 In addition to the standard identifiers, an ffmpeg-specific "$ext$" identifier is also supported.
258 ffmpeg -re -i <input> -map 0 -map 0 -c:a libfdk_aac -c:v libx264 \
259 -b:v:0 800k -b:v:1 300k -s:v:1 320x170 -profile:v:1 baseline \
260 -profile:v:0 main -bf 1 -keyint_min 120 -g 120 -sc_threshold 0 \
261 -b_strategy 0 -ar:a:1 22050 -use_timeline 1 -use_template 1 \
262 -window_size 5 -adaptation_sets "id=0,streams=v id=1,streams=a" \
263 -f dash /path/to/out.mpd
289 DASH-templated name to be used for baseURL. Implies @var{single_file} set to "1". In the template, …
291 DASH-templated name to used for the initialization segment. Default is "init-stream$RepresentationI…
293 DASH-templated name to used for the media segments. Default is "chunk-stream$RepresentationID$-$Num…
299 Override User-Agent field in HTTP header. Applicable only for HTTP output.
319 descriptor is useful to the scheme defined by ISO/IEC 23009-1:2014/Amd.2:2015.
320 For example, -adaptation_sets "id=0,descriptor=<SupplementalProperty schemeIdUri=\"urn:mpeg:dash:sr…
321 Please note that descriptor string should be a self-closing xml tag.
323 For example, -adaptation_sets "id=0,seg_duration=2,frag_duration=1,frag_type=duration,streams=v id=…
325 For example, -adaptation_sets "id=0,seg_duration=2,frag_type=none,streams=0 id=1,seg_duration=10,fr…
345 Write global SIDX atom. Applicable only for single file, mp4 output, non-streaming mode.
361 Ignore IO errors during open and write. Useful for long-duration runs with network output.
364 Enable Low-latency HLS(LHLS). Adds #EXT-X-PREFETCH tag with current segment's URI.
365 …e draft spec is available in https://github.com/video-dev/hlsjs-rfcs/blob/lhls-spec/proposals/0001…
370 …t Apple's version LHLS. See @url{https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis}
373 Enable Low-latency Dash by constraining the presence and values of some elements.
388 A :-separated list of key=value options to pass to the underlying HTTP
412 The fifo pseudo-muxer allows the separation of encoding and muxing by using
413 first-in-first-out queue and running the actual muxer in a separate thread. This
417 API users should be aware that callback functions (interrupt_callback,
418 io_open and io_close) used within its AVFormatContext must be thread-safe.
499 Stream something to rtmp server, continue processing the stream at real-time
503 ffmpeg -re -i ... -c:v libx264 -c:a aac -f fifo -fifo_format flv -map 0:v -map 0:a
504 …-drop_pkts_on_overflow 1 -attempt_recovery 1 -recovery_wait_time 1 rtmp://example.com/live/stream_…
533 at the end of stream. (Be used to non-seekable living stream).
543 Per-packet CRC (Cyclic Redundancy Check) testing format.
545 This muxer computes and prints the Adler-32 CRC for each audio
547 16-bit raw audio and video frames to raw video before computing the
556 @var{CRC} is a hexadecimal number 0-padded to 8 digits containing the
565 ffmpeg -i INPUT -f framecrc out.crc
570 ffmpeg -i INPUT -f framecrc -
577 unsigned 8-bit and of each decoded input video frame converted to
578 MPEG-2 video, use the command:
580 ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f framecrc -
588 Per-packet hash testing format.
591 and video packet. This can be used for packet-by-packet equality
594 By default audio frames are converted to signed 16-bit raw audio and
597 SHA-256 cryptographic hash function by default, but supports several
621 To compute the SHA-256 hash of the audio and video frames in @file{INPUT},
625 ffmpeg -i INPUT -f framehash out.sha256
631 ffmpeg -i INPUT -f framehash -hash md5 -
639 Per-packet MD5 testing format.
650 ffmpeg -i INPUT -f framemd5 out.md5
655 ffmpeg -i INPUT -f framemd5 -
669 Set the number of times to loop the output. Use @code{-1} for no loop, @code{0}
674 ends with a delay until the next frame. The default is @code{-1}, which is a
675 special value to tell the muxer to re-use the previous delay. In case of a
682 ffmpeg -i INPUT -loop 10 -final_delay 500 out.gif
688 ffmpeg -i INPUT -c:v gif -f image2 "out%d.gif"
703 By default audio frames are converted to signed 16-bit raw audio and
706 are ignored. It uses the SHA-256 cryptographic hash function by default,
726 To compute the SHA-256 hash of the input converted to raw audio and
729 ffmpeg -i INPUT -f hash out.sha256
734 ffmpeg -i INPUT -f hash -hash md5 -
742 Apple HTTP Live Streaming muxer that segments MPEG-TS according to
750 .ts extension.
757 ffmpeg -i in.mkv -c:v h264 -flags +cgop -g 30 -hls_time 1 out.m3u8
760 @file{out0.ts}, @file{out1.ts}, @file{out2.ts}, etc.
775 see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils…
785 see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils…
799 Set output format options using a :-separated list of key=value
805 Start the playlist sequence number (@code{#EXT-X-MEDIA-SEQUENCE}) according to the specified source.
819 The start number will be the seconds since epoch (1970-01-01 00:00:00)
822 The start number will be the microseconds since epoch (1970-01-01 00:00:00)
830 Start the playlist sequence number (@code{#EXT-X-MEDIA-SEQUENCE}) from the specified @var{number}
851 ffmpeg -i in.nut -hls_segment_filename 'file%03d.ts' out.m3u8
854 @file{file000.ts}, @file{file001.ts}, @file{file002.ts}, etc.
866 ffmpeg -i in.ts -b:v:0 1000k -b:v:1 256k -b:a:0 64k -b:a:1 32k \
867 -map 0:v -map 0:a -map 0:v -map 0:a -f hls -var_stream_map "v:0,a:0 v:1,a:1" \
868 -hls_segment_filename 'file_%v_%03d.ts' out_%v.m3u8
871 @file{file_0_000.ts}, @file{file_0_001.ts}, @file{file_0_002.ts}, etc. and
872 @file{file_1_000.ts}, @file{file_1_001.ts}, @file{file_1_002.ts}, etc.
876 sub-directory or filename.) If the string %v is present in the directory name, then
877 sub-directories are created after expanding the directory name pattern. This
881 ffmpeg -i in.ts -b:v:0 1000k -b:v:1 256k -b:a:0 64k -b:a:1 32k \
882 -map 0:v -map 0:a -map 0:v -map 0:a -f hls -var_stream_map "v:0,a:0 v:1,a:1" \
883 -hls_segment_filename 'vs%v/file_%03d.ts' vs%v/out.m3u8
886 @file{vs0/file_000.ts}, @file{vs0/file_001.ts}, @file{vs0/file_002.ts}, etc. and
887 @file{vs1/file_000.ts}, @file{vs1/file_001.ts}, @file{vs1/file_002.ts}, etc.
894 ffmpeg -i in.nut -strftime 1 -hls_segment_filename 'file-%Y%m%d-%s.ts' out.m3u8
897 @file{file-20160215-1455569023.ts}, @file{file-20160215-1455569024.ts}, etc.
901 ffmpeg -i in.nut -strftime 1 -hls_flags second_level_segment_index -hls_segment_filename 'file-%Y%m…
904 @file{file-20160215-0001.ts}, @file{file-20160215-0002.ts}, etc.
907 Used together with -strftime_mkdir, it will create all subdirectories which
910 ffmpeg -i in.nut -strftime 1 -strftime_mkdir 1 -hls_segment_filename '%Y%m%d/file-%Y%m%d-%s.ts' out…
914 @file{20160215/file-20160215-1455569023.ts}, @file{20160215/file-20160215-1455569024.ts}, etc.
917 ffmpeg -i in.nut -strftime 1 -strftime_mkdir 1 -hls_segment_filename '%Y/%m/%d/file-%Y%m%d-%s.ts' o…
921 @file{2016/02/15/file-20160215-1455569023.ts}, @file{2016/02/15/file-20160215-1455569024.ts}, etc.
924 Set output format options using a :-separated list of key=value
975 BASE_URL=$@{1:-'.'@}
979 echo $(openssl rand -hex 16) >> file.keyinfo
980 ffmpeg -f lavfi -re -i testsrc -c:v h264 -hls_flags delete_segments \
981 -hls_key_info_file file.keyinfo out.m3u8
984 @item -hls_enc @var{enc}
989 @item -hls_enc_key @var{key}
990 16-octet key to encrypt the segments, by default it
993 @item -hls_enc_key_url @var{keyurl}
997 @item -hls_enc_iv @var{iv}
998 16-octet initialization vector for every segment instead
1006 Output segment files in MPEG-2 Transport Stream format. This is
1010 Output segment files in fragmented MP4 format, similar to MPEG-DASH.
1018 Use @code{-strftime 1} on @var{filename} to expand the segment filename with localtime.
1020 ffmpeg -i in.nut -hls_segment_type fmp4 -strftime 1 -hls_fmp4_init_filename "%s_init.mp4" out.m3u8
1033 sub-directories are created after expanding the directory name pattern. This
1042 If this flag is set, the muxer will store all segments in a single MPEG-TS
1047 ffmpeg -i in.nut -hls_flags single_file out.m3u8
1050 @file{out.ts}.
1058 and remove the @code{#EXT-X-ENDLIST} from the old segment list.
1067 Add the @code{#EXT-X-DISCONTINUITY} tag to the playlist, before the
1071 Do not append the @code{EXT-X-ENDLIST} tag at the end of the playlist.
1079 Add the @code{#EXT-X-INDEPENDENT-SEGMENTS} to playlists that has video segments
1083 Add the @code{#EXT-X-I-FRAMES-ONLY} to playlists that has video segments
1084 and can play only I-frames in the @code{#EXT-X-BYTERANGE} mode.
1093 Generate @code{EXT-X-PROGRAM-DATE-TIME} tags.
1111 ffmpeg -i sample.mpeg \
1112 -f hls -hls_time 3 -hls_list_size 5 \
1113 -hls_flags second_level_segment_index+second_level_segment_size+second_level_segment_duration \
1114 …-strftime 1 -strftime_mkdir 1 -hls_segment_filename "segment_%Y%m%d%H%M%S_%%04d_%%08s_%%013t.ts" s…
1117 …_20170102194334_0003_00122200_0000003000000.ts}, @file{segment_20170102194334_0004_00120072_000000…
1121 serving up segments can be configured to reject requests to *.tmp to prevent access to in-progress …
1131 Emit @code{#EXT-X-PLAYLIST-TYPE:EVENT} in the m3u8 header. Forces
1135 Emit @code{#EXT-X-PLAYLIST-TYPE:VOD} in the m3u8 header. Forces
1141 ffmpeg -re -i in.ts -f hls -method PUT http://example.com/live/out.m3u8
1150 Override User-Agent field in HTTP header. Applicable only for HTTP output.
1164 present in the directory name, then sub-directories are created after expanding
1169 ffmpeg -re -i in.ts -b:v:0 1000k -b:v:1 256k -b:a:0 64k -b:a:1 32k \
1170 -map 0:v -map 0:a -map 0:v -map 0:a -f hls -var_stream_map "v:0,a:0 v:1,a:1" \
1183 ffmpeg -re -i in.ts -b:v:0 1000k -b:v:1 256k -b:a:0 64k -b:a:1 32k \
1184 …-map 0:v -map 0:a -map 0:v -map 0:a -f hls -var_stream_map "v:0,a:0,name:my_hd v:1,a:1,name:my_sd"…
1193 ffmpeg -re -i in.ts -b:v:0 1000k -b:v:1 256k -b:a:0 64k \
1194 -map 0:v -map 0:a -map 0:v -f hls -var_stream_map "v:0 a:0 v:1" \
1203 ffmpeg -re -i in.ts -b:v:0 1000k -b:v:1 256k -b:a:0 64k -b:a:1 32k \
1204 -map 0:v -map 0:a -map 0:v -map 0:a -f hls -var_stream_map "v:0,a:0 v:1,a:1" \
1211 ffmpeg -re -i in.ts -b:a:0 32k -b:a:1 64k -b:v:0 1000k -b:v:1 3000k \
1212 -map 0:a -map 0:a -map 0:v -map 0:v -f hls \
1213 -var_stream_map "a:0,agroup:aud_low a:1,agroup:aud_high v:0,agroup:aud_low v:1,agroup:aud_high" \
1214 -master_pl_name master.m3u8 \
1218 addition to the #EXT-X-STREAM-INF tag for each variant stream in the master
1219 playlist, #EXT-X-MEDIA tag is also added for the two audio only variant streams
1226 ffmpeg -re -i in.ts -b:a:0 32k -b:a:1 64k -b:v:0 1000k \
1227 -map 0:a -map 0:a -map 0:v -f hls \
1228 -var_stream_map "a:0,agroup:aud_low,default:yes a:1,agroup:aud_low v:0,agroup:aud_low" \
1229 -master_pl_name master.m3u8 \
1233 addition to the #EXT-X-STREAM-INF tag for each variant stream in the master
1234 playlist, #EXT-X-MEDIA tag is also added for the two audio only variant streams
1241 ffmpeg -re -i in.ts -b:a:0 32k -b:a:1 64k -b:v:0 1000k \
1242 -map 0:a -map 0:a -map 0:v -f hls \
1243 …-var_stream_map "a:0,agroup:aud_low,default:yes,language:ENG a:1,agroup:aud_low,language:CHN v:0,a…
1244 -master_pl_name master.m3u8 \
1248 addition to the #EXT-X-STREAM-INF tag for each variant stream in the master
1249 playlist, #EXT-X-MEDIA tag is also added for the two audio only variant streams
1257 ffmpeg -y -i input_with_subtitle.mkv \
1258 -b:v:0 5250k -c:v h264 -pix_fmt yuv420p -profile:v main -level 4.1 \
1259 -b:a:0 256k \
1260 -c:s webvtt -c:a mp2 -ar 48000 -ac 2 -map 0:v -map 0:a:0 -map 0:s:0 \
1261 -f hls -var_stream_map "v:0,a:0,s:0,sgroup:subtitle" \
1262 -master_pl_name master.m3u8 -t 300 -hls_time 10 -hls_init_time 4 -hls_list_size \
1263 10 -master_pl_publish_rate 10 -hls_flags \
1267 This example adds @code{#EXT-X-MEDIA} tag with @code{TYPE=SUBTITLES} in
1275 "ccgroup:<group name>,instreamid:<INSTREAM-ID>,language:<language code> ....".
1285 ffmpeg -re -i in.ts -b:v 1000k -b:a 64k -a53cc 1 -f hls \
1286 -cc_stream_map "ccgroup:cc,instreamid:CC1,language:en" \
1287 -master_pl_name master.m3u8 \
1290 This example adds @code{#EXT-X-MEDIA} tag with @code{TYPE=CLOSED-CAPTIONS} in
1292 INSTREAM-ID 'CC1'. Also, it adds @code{CLOSED-CAPTIONS} attribute with group
1295 ffmpeg -re -i in.ts -b:v:0 1000k -b:v:1 256k -b:a:0 64k -b:a:1 32k \
1296 -a53cc:0 1 -a53cc:1 1\
1297 -map 0:v -map 0:a -map 0:v -map 0:a -f hls \
1298 -cc_stream_map "ccgroup:cc,instreamid:CC1,language:en ccgroup:cc,instreamid:CC2,language:sp" \
1299 -var_stream_map "v:0,a:0,ccgroup:cc v:1,a:1,ccgroup:cc" \
1300 -master_pl_name master.m3u8 \
1303 This example adds two @code{#EXT-X-MEDIA} tags with @code{TYPE=CLOSED-CAPTIONS} in
1304 the master playlist for the INSTREAM-IDs 'CC1' and 'CC2'. Also, it adds
1305 @code{CLOSED-CAPTIONS} attribute with group name 'cc' for the two output variant
1312 ffmpeg -re -i in.ts -f hls -master_pl_name master.m3u8 http://example.com/live/out.m3u8
1321 ffmpeg -re -i in.ts -f hls -master_pl_name master.m3u8 \
1322 -hls_time 2 -master_pl_publish_rate 30 http://example.com/live/out.m3u8
1334 @item -ignore_io_errors
1335 Ignore IO errors during open, write and delete. Useful for long-duration runs with network output.
1387 representing the number in each filename is 0-padded to @var{N}
1398 For example the pattern "img-%03d.bmp" will specify a sequence of
1399 filenames of the form @file{img-001.bmp}, @file{img-002.bmp}, ...,
1400 @file{img-010.bmp}, etc.
1401 The pattern "img%%-%d.jpg" will specify a sequence of filenames of the
1402 form @file{img%-1.jpg}, @file{img%-2.jpg}, ..., @file{img%-10.jpg},
1415 If set to 1, expand the filename with pts from pkt->pts.
1435 Set protocol options as a :-separated list of key=value parameters. Values
1443 sequence of files @file{img-001.jpeg}, @file{img-002.jpeg}, ...,
1446 ffmpeg -i in.avi -vsync cfr -r 1 -f image2 'img-%03d.jpeg'
1450 @code{-f} option and the output filename specifies an image file
1454 ffmpeg -i in.avi -vsync cfr -r 1 'img-%03d.jpeg'
1461 ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
1469 "%Y-%m-%d_%H-%M-%S" pattern, the following @command{ffmpeg} command
1472 ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 "%Y-%m-%d_%H-%M-%S.jpg"
1477 ffmpeg -f v4l2 -r 1 -i /dev/video0 -copyts -f image2 -frame_pts true %d.jpg"
1483 ffmpeg -f x11grab -framerate 1 -i :0.0 -q:v 6 -update 1 -protocol_opts method=PUT http://example.co…
1504 The language can be either the 3 letters bibliographic ISO-639-2 (ISO
1505 639-2/B) form (like "fre" for French), or a language code mixed with a
1506 country code for specialities in languages (like "fre-ca" for Canadian
1517 Both views are arranged side by side, Left-eye view is on the left
1519 Both views are arranged in top-bottom orientation, Left-eye view is at bottom
1521 Both views are arranged in top-bottom orientation, Left-eye view is on top
1523 Each view is arranged in a checkerboard interleaved pattern, Left-eye view being first
1525 Each view is arranged in a checkerboard interleaved pattern, Right-eye view being first
1527 Each view is constituted by a row based interleaving, Right-eye view is first row
1529 Each view is constituted by a row based interleaving, Left-eye view is first row
1531 Both views are arranged in a column based interleaving manner, Right-eye view is first column
1533 Both views are arranged in a column based interleaving manner, Left-eye view is first column
1535 All frames are in anaglyph format viewable through red-cyan filters
1537 Both views are arranged side by side, Right-eye view is on the left
1539 All frames are in anaglyph format viewable through green-magenta filters
1541 Both eyes laced in one Block, Left-eye view is first
1543 Both eyes laced in one Block, Right-eye view is first
1549 ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_cli…
1561 -- e.g. streaming where seeking is possible but slow -- it is useful to put the
1564 If this option is set to a non-zero value, the muxer will reserve a given amount
1603 bitmap is stored bottom-up. Note that this option does not flip the bitmap
1622 ffmpeg -i INPUT -f md5 out.md5
1627 ffmpeg -i INPUT -f md5 -
1640 using the @command{qt-faststart} tool). A fragmented
1656 @item -moov_size @var{bytes}
1659 @item -movflags frag_keyframe
1661 @item -frag_duration @var{duration}
1663 @item -frag_size @var{size}
1665 @item -movflags frag_custom
1670 @item -min_frag_duration @var{duration}
1676 @code{-min_frag_duration}, which has to be fulfilled for any of the other
1683 @item -movflags empty_moov
1692 @item -movflags separate_moof
1699 @item -movflags skip_sidx
1703 @item -movflags faststart
1707 @item -movflags rtphint
1709 @item -movflags disable_chpl
1715 @item -movflags omit_tfhd_offset
1718 @item -movflags default_base_moof
1721 the new default-base-is-moof flag instead. This flag is new from
1722 14496-12:2012. This may make the fragments easier to parse in certain
1725 @item -write_tmcd
1728 @item -movflags negative_cts_offsets
1732 B-frames. Additionally, eases conformance with the DASH-IF interoperability
1737 @item -write_btrt @var{bool}
1742 Default is @code{-1} or @code{auto}, which will write the box only in MP4 mode.
1744 @item -write_prft
1755 @item -empty_hdlr_name @var{bool}
1759 @item -movie_timescale @var{scale}
1763 @item -video_track_timescale @var{scale}
1774 ffmpeg -re @var{<normal input/transcoding options>} -movflags isml+frag_keyframe -f ismv http://ser…
1792 @url{http://id3.org/id3v2.4.0-frames} for allowed picture types.
1815 ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
1821 ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1
1822 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3
1827 ffmpeg -i input.wav -write_xing 0 -id3v2_version 0 out.mp3
1834 This muxer implements ISO 13818-1 and part of ETSI EN 300 468.
1894 Enable m2ts mode if set to @code{1}. Default value is @code{-1} which
1922 is @code{-1}, which results in shifting timestamps so that they start from 0.
1929 @code{-1} which means that the PCR interval will be determined automatically:
1945 detect the change. To do so, reopen output @code{AVFormatContext} (in case of API
1950 ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
1951 ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
1953 ffmpeg -i source3.ts -codec copy -f mpegts -tables_version 31 udp://1.1.1.1:1111
1954 ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
1955 ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
1963 ffmpeg -i file.mpg -c copy \
1964 -mpegts_original_network_id 0x1122 \
1965 -mpegts_transport_stream_id 0x3344 \
1966 -mpegts_service_id 0x5566 \
1967 -mpegts_pmt_start_pid 0x1500 \
1968 -mpegts_start_pid 0x150 \
1969 -metadata service_provider="Some provider" \
1970 -metadata service_name="Some Channel" \
1971 out.ts
1985 IRT D-10 does not allow user comments. The default is thus to write them for
1999 ffmpeg -benchmark -i INPUT -f null out.null
2008 ffmpeg -benchmark -i INPUT -f null -
2014 @item -syncpoints @var{flags}
2017 @item @var{default} use the normal low-overhead seeking aids.
2018 @item @var{none} do not use the syncpoints at all, reducing the overhead but making the stream non-…
2021 syncpoints is negligible. Note, -@code{write_index} 0 can be used to disable
2027 @item -write_index @var{bool}
2032 ffmpeg -i INPUT -f_strict experimental -syncpoints none - | processor
2040 @item -page_duration @var{duration}
2045 possible. A value of 1 will effectively use 1 packet-per-page in most
2048 @item -serial_offset @var{value}
2063 Dolby Digital, also known as AC-3, audio.
2084 AVS2-P2/IEEE1857.4 video.
2098 No extension is registered so format name has to be supplied e.g. with the ffmpeg CLI tool @code{-f…
2103 The input stream has to be selected using the @code{-map} option with the ffmpeg CLI tool.
2105 No extension is registered so format name has to be supplied e.g. with the ffmpeg CLI tool @code{-f…
2109 BBC Dirac video. The Dirac Pro codec is a subset and is standardized as SMPTE VC-2.
2115 Avid DNxHD video. It is standardized as SMPTE VC-3. Accepts DNxHR streams.
2125 Dolby Digital Plus, also known as Enhanced AC-3, audio.
2129 ITU-T G.722 audio.
2133 ITU-T G.723.1 audio.
2139 ITU-T G.726 big-endian ("left-justified") audio.
2141 No extension is registered so format name has to be supplied e.g. with the ffmpeg CLI tool @code{-f…
2145 ITU-T G.726 little-endian ("right-justified") audio.
2147 No extension is registered so format name has to be supplied e.g. with the ffmpeg CLI tool @code{-f…
2155 ITU-T H.261 video.
2159 ITU-T H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2 video.
2163 ITU-T H.264 / MPEG-4 Part 10 AVC video. Bitstream shall be converted to Annex B syntax if it's in l…
2169 ITU-T H.265 / MPEG-H Part 2 HEVC video. Bitstream shall be converted to Annex B syntax if it's in l…
2175 MPEG-4 Part 2 video.
2189 MPEG-1 Audio Layer II audio.
2195 MPEG-1 Part 2 video.
2201 ITU-T H.262 / MPEG-2 Part 2 video.
2217 Bluetooth SIG low-complexity subband codec audio.
2229 SMPTE 421M / VC-1 video.
2289 Set output format options using a :-separated list of key=value
2306 Allow live-friendly file generation.
2328 each line matching the format (comma-separated values):
2341 auto-select this format.
2350 auto-select this format.
2354 @url{http://tools.ietf.org/id/draft-pantos-http-live-streaming}.
2356 A list file with the suffix @code{".m3u8"} will auto-select this format.
2367 reference stream key-frames at the given time. See the introductory
2403 When delta is specified a key-frame will start a new segment if its
2406 PTS >= start_time - time_delta
2454 will start with near-zero timestamps. It is meant to ease the playback
2476 @file{out-000.nut}, @file{out-001.nut}, etc., and write the list of
2479 ffmpeg -i in.mkv -codec hevc -flags +cgop -g 60 -map 0 -f segment -segment_list out.list out%03d.nut
2485 ffmpeg -i in.mkv -f segment -segment_time 10 -segment_format_options movflags=+faststart out%03d.mp4
2492 ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21…
2501 ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
2502 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 out%03d.nut
2511 ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,50…
2515 Convert the @file{in.mkv} to TS segments using the @code{libx264}
2518 ffmpeg -i in.mkv -map 0 -codec:v libx264 -codec:a aac -f ssegment -segment_list out.list out%03d.ts
2525 ffmpeg -re -i in.mkv -codec copy -map 0 -f segment -segment_list playlist.m3u8 \
2526 -segment_list_flags +live -segment_time 10 out%03d.mkv
2558 on a per-stream basis. This can be used for equality checks without having
2561 By default audio frames are converted to signed 16-bit raw audio and
2564 are ignored. It uses the SHA-256 cryptographic hash function by default,
2586 To compute the SHA-256 hash of the input converted to raw audio and
2589 ffmpeg -i INPUT -f streamhash out.sha256
2594 ffmpeg -i INPUT -f streamhash -hash md5 -
2606 command-line tool. With the tee muxer, the audio and video data will be encoded only once.
2608 which can be a very expensive process. The tee muxer is not useful when using the libavformat API
2611 Since the tee muxer does not represent any particular output format, ffmpeg cannot auto-select
2612 output streams. So all streams intended for output must be specified using @code{-map}. See
2616 the auto-detection of this can not work with the tee muxer, so they need to be explicitly specified.
2623 section in the ffmpeg-utils(1) manual,ffmpeg-utils}).
2635 Options to pass to fifo pseudo-muxer instances. See @ref{fifo}.
2695 as MPEG-TS over UDP:
2697 ffmpeg -i ... -c:v libx264 -c:a mp2 -f tee -map 0:v -map 0:a
2698 "archive-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/"
2705 ffmpeg -i ... -c:v libx264 -c:a mp2 -f tee -map 0:v -map 0:a
2706 "[onfail=ignore]archive-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/"
2713 keyframes packets, as requested by the MPEG-TS format. The select
2717 ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac
2718 … -f tee "[bsfs/v=dump_extra=freq=keyframe]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac"
2726 ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac
2727 …-f tee "[bsfs/v=dump_extra=freq=keyframe]out.ts|[movflags=+faststart]out.mp4|[select=\'a:1\']out.a…
2755 ffmpeg -f v4l2 -i /dev/video0 \
2756 -f alsa -i hw:0 \
2757 -map 0:0 \
2758 -c:v libvpx-vp9 \
2759 -s 640x360 -keyint_min 30 -g 30 \
2760 -f webm_chunk \
2761 -header webm_live_video_360.hdr \
2762 -chunk_start_index 1 \
2764 -map 1:0 \
2765 -c:a libvorbis \
2766 -b:a 128k \
2767 -f webm_chunk \
2768 -header webm_live_audio_128.hdr \
2769 -chunk_start_index 1 \
2770 -audio_chunk_duration 1000 \
2785 …ion: @url{https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specificati…
2787 …on: @url{http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip}
2829 ffmpeg -f webm_dash_manifest -i video1.webm \
2830 -f webm_dash_manifest -i video2.webm \
2831 -f webm_dash_manifest -i audio1.webm \
2832 -f webm_dash_manifest -i audio2.webm \
2833 -map 0 -map 1 -map 2 -map 3 \
2834 -c copy \
2835 -f webm_dash_manifest \
2836 -adaptation_sets "id=0,streams=0,1 id=1,streams=2,3" \