]> git.sesse.net Git - ffmpeg/blobdiff - doc/demuxers.texi
avcodec: Constify all the AVCodecParsers
[ffmpeg] / doc / demuxers.texi
index aad94eb50e6e3411448a536938486f8877e309dc..13fe17ff4f1a7769227fcc8cfc19cdc1f6c74997 100644 (file)
@@ -25,17 +25,6 @@ Audible Format 2, 3, and 4 demuxer.
 
 This demuxer is used to demux Audible Format 2, 3, and 4 (.aa) files.
 
-@section applehttp
-
-Apple HTTP Live Streaming demuxer.
-
-This demuxer presents all AVStreams from all variant streams.
-The id field is set to the bitrate variant index number. By setting
-the discard flags on AVStreams (by pressing 'a' or 'v' in ffplay),
-the caller can decide which variant streams to actually receive.
-The total bitrate of the variant that the stream belongs to is
-available in a metadata key named "variant_bitrate".
-
 @section apng
 
 Animated Portable Network Graphics demuxer.
@@ -254,11 +243,12 @@ which streams to actually receive.
 Each stream mirrors the @code{id} and @code{bandwidth} properties from the
 @code{<Representation>} as metadata keys named "id" and "variant_bitrate" respectively.
 
-@section flv, live_flv
+@section flv, live_flv, kux
 
 Adobe Flash Video Format demuxer.
 
 This demuxer is used to demux FLV files and RTMP network streams. In case of live network streams, if you force format, you may use live_flv option instead of flv to survive timestamp discontinuities.
+KUX is a flv variant used on the Youku platform.
 
 @example
 ffmpeg -f flv -i myfile.flv ...
@@ -320,6 +310,15 @@ infinitely.
 
 HLS demuxer
 
+Apple HTTP Live Streaming demuxer.
+
+This demuxer presents all AVStreams from all variant streams.
+The id field is set to the bitrate variant index number. By setting
+the discard flags on AVStreams (by pressing 'a' or 'v' in ffplay),
+the caller can decide which variant streams to actually receive.
+The total bitrate of the variant that the stream belongs to is
+available in a metadata key named "variant_bitrate".
+
 It accepts the following options:
 
 @table @option
@@ -333,6 +332,10 @@ segment index to start live streams at (negative values are from the end).
 Maximum number of times a insufficient list is attempted to be reloaded.
 Default value is 1000.
 
+@item m3u8_hold_counters
+The maximum number of times to load m3u8 when it refreshes without new segments.
+Default value is 1000.
+
 @item http_persistent
 Use persistent HTTP connections. Applicable only for HTTP streams.
 Enabled by default.
@@ -340,6 +343,10 @@ Enabled by default.
 @item http_multiple
 Use multiple HTTP connections for downloading HTTP segments.
 Enabled by default for HTTP/1.1 servers.
+
+@item http_seekable
+Use HTTP partial requests for downloading HTTP segments.
+0 = disable, 1 = enable, -1 = auto, Default is auto.
 @end table
 
 @section image2
@@ -450,6 +457,17 @@ nanosecond precision.
 @item video_size
 Set the video size of the images to read. If not specified the video
 size is guessed from the first image file in the sequence.
+@item export_path_metadata
+If set to 1, will add two extra fields to the metadata found in input, making them
+also available for other filters (see @var{drawtext} filter for examples). Default
+value is 0. The extra fields are described below:
+@table @option
+@item lavf.image2dec.source_path
+Corresponds to the full path to the input file being read.
+@item lavf.image2dec.source_basename
+Corresponds to the name of the file being read.
+@end table
+
 @end table
 
 @subsection Examples
@@ -481,14 +499,84 @@ ffmpeg -framerate 10 -pattern_type glob -i "*.png" out.mkv
 
 The Game Music Emu library is a collection of video game music file emulators.
 
-See @url{http://code.google.com/p/game-music-emu/} for more information.
+See @url{https://bitbucket.org/mpyne/game-music-emu/overview} for more information.
+
+It accepts the following options:
+
+@table @option
+
+@item track_index
+Set the index of which track to demux. The demuxer can only export one track.
+Track indexes start at 0. Default is to pick the first track. Number of tracks
+is exported as @var{tracks} metadata entry.
+
+@item sample_rate
+Set the sampling rate of the exported track. Range is 1000 to 999999. Default is 44100.
 
-Some files have multiple tracks. The demuxer will pick the first track by
-default. The @option{track_index} option can be used to select a different
-track. Track indexes start at 0. The demuxer exports the number of tracks as
-@var{tracks} meta data entry.
+@item max_size @emph{(bytes)}
+The demuxer buffers the entire file into memory. Adjust this value to set the maximum buffer size,
+which in turn, acts as a ceiling for the size of files that can be read.
+Default is 50 MiB.
+
+@end table
+
+@section libmodplug
+
+ModPlug based module demuxer
+
+See @url{https://github.com/Konstanty/libmodplug}
+
+It will export one 2-channel 16-bit 44.1 kHz audio stream.
+Optionally, a @code{pal8} 16-color video stream can be exported with or without printed metadata.
+
+It accepts the following options:
+
+@table @option
+@item noise_reduction
+Apply a simple low-pass filter. Can be 1 (on) or 0 (off). Default is 0.
 
-For very large files, the @option{max_size} option may have to be adjusted.
+@item reverb_depth
+Set amount of reverb. Range 0-100. Default is 0.
+
+@item reverb_delay
+Set delay in ms, clamped to 40-250 ms. Default is 0.
+
+@item bass_amount
+Apply bass expansion a.k.a. XBass or megabass. Range is 0 (quiet) to 100 (loud). Default is 0.
+
+@item bass_range
+Set cutoff i.e. upper-bound for bass frequencies. Range is 10-100 Hz. Default is 0.
+
+@item surround_depth
+Apply a Dolby Pro-Logic surround effect. Range is 0 (quiet) to 100 (heavy). Default is 0.
+
+@item surround_delay
+Set surround delay in ms, clamped to 5-40 ms. Default is 0.
+
+@item max_size
+The demuxer buffers the entire file into memory. Adjust this value to set the maximum buffer size,
+which in turn, acts as a ceiling for the size of files that can be read. Range is 0 to 100 MiB.
+0 removes buffer size limit (not recommended). Default is 5 MiB.
+
+@item video_stream_expr
+String which is evaluated using the eval API to assign colors to the generated video stream.
+Variables which can be used are @code{x}, @code{y}, @code{w}, @code{h}, @code{t}, @code{speed},
+@code{tempo}, @code{order}, @code{pattern} and @code{row}.
+
+@item video_stream
+Generate video stream. Can be 1 (on) or 0 (off). Default is 0.
+
+@item video_stream_w
+Set video frame width in 'chars' where one char indicates 8 pixels. Range is 20-512. Default is 30.
+
+@item video_stream_h
+Set video frame height in 'chars' where one char indicates 8 pixels. Range is 20-512. Default is 30.
+
+@item video_stream_ptxt
+Print metadata on video stream. Includes @code{speed}, @code{tempo}, @code{order}, @code{pattern},
+@code{row} and @code{ts} (time in ms). Can be 1 (on) or 0 (off). Default is 1.
+
+@end table
 
 @section libopenmpt
 
@@ -517,9 +605,13 @@ Set the sample rate for libopenmpt to output.
 Range is from 1000 to INT_MAX. The value default is 48000.
 @end table
 
-@section mov/mp4/3gp/QuickTime
+@section mov/mp4/3gp
+
+Demuxer for Quicktime File Format & ISO/IEC Base Media File Format (ISO/IEC 14496-12 or MPEG-4 Part 12, ISO/IEC 15444-12 or JPEG 2000 Part 12).
 
-QuickTime / MP4 demuxer.
+Registered extensions: mov, mp4, m4a, 3gp, 3g2, mj2, psp, m4b, ism, ismv, isma, f4v
+
+@subsection Options
 
 This demuxer accepts the following options:
 @table @option
@@ -530,10 +622,73 @@ Enabling this can theoretically leak information in some use cases.
 @item use_absolute_path
 Allows loading of external tracks via absolute paths, disabled by default.
 Enabling this poses a security risk. It should only be enabled if the source
-is known to be non malicious.
+is known to be non-malicious.
+
+@item seek_streams_individually
+When seeking, identify the closest point in each stream individually and demux packets in
+that stream from identified point. This can lead to a different sequence of packets compared
+to demuxing linearly from the beginning. Default is true.
+
+@item ignore_editlist
+Ignore any edit list atoms. The demuxer, by default, modifies the stream index to reflect the
+timeline described by the edit list. Default is false.
+
+@item advanced_editlist
+Modify the stream index to reflect the timeline described by the edit list. @code{ignore_editlist}
+must be set to false for this option to be effective.
+If both @code{ignore_editlist} and this option are set to false, then only the
+start of the stream index is modified to reflect initial dwell time or starting timestamp
+described by the edit list. Default is true.
+
+@item ignore_chapters
+Don't parse chapters. This includes GoPro 'HiLight' tags/moments. Note that chapters are
+only parsed when input is seekable. Default is false.
+
+@item use_mfra_for
+For seekable fragmented input, set fragment's starting timestamp from media fragment random access box, if present.
 
+Following options are available:
+@table @samp
+@item auto
+Auto-detect whether to set mfra timestamps as PTS or DTS @emph{(default)}
+
+@item dts
+Set mfra timestamps as DTS
+
+@item pts
+Set mfra timestamps as PTS
+
+@item 0
+Don't use mfra box to set timestamps
+@end table
+
+@item export_all
+Export unrecognized boxes within the @var{udta} box as metadata entries. The first four
+characters of the box type are set as the key. Default is false.
+
+@item export_xmp
+Export entire contents of @var{XMP_} box and @var{uuid} box as a string with key @code{xmp}. Note that
+if @code{export_all} is set and this option isn't, the contents of @var{XMP_} box are still exported
+but with key @code{XMP_}. Default is false.
+
+@item activation_bytes
+4-byte key required to decrypt Audible AAX and AAX+ files. See Audible AAX subsection below.
+
+@item audible_fixed_key
+Fixed key used for handling Audible AAX/AAX+ files. It has been pre-set so should not be necessary to
+specify.
+
+@item decryption_key
+16-byte key, in hex, to decrypt files encrypted using ISO Common Encryption (CENC/AES-128 CTR; ISO/IEC 23001-7).
 @end table
 
+@subsection Audible AAX
+
+Audible AAX files are encrypted M4B files, and they can be decrypted by specifying a 4 byte activation secret.
+@example
+ffmpeg -activation_bytes 1CEB00DA -i test.aax -vn -c:a copy output.mp4
+@end example
+
 @section mpegts
 
 MPEG-2 transport stream demuxer.
@@ -662,4 +817,20 @@ Example: convert the captions to a format most players understand:
 ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt
 @end example
 
+@section vapoursynth
+
+Vapoursynth wrapper.
+
+Due to security concerns, Vapoursynth scripts will not
+be autodetected so the input format has to be forced. For ff* CLI tools,
+add @code{-f vapoursynth} before the input @code{-i yourscript.vpy}.
+
+This demuxer accepts the following option:
+@table @option
+@item max_script_size
+The demuxer buffers the entire script into memory. Adjust this value to set the maximum buffer size,
+which in turn, acts as a ceiling for the size of scripts that can be read.
+Default is 1 MiB.
+@end table
+
 @c man end DEMUXERS