neulab/tldr huggingface dataset:
The first "-map" option on the command line specifies the source for output stream 0, the second "-map" option specifies the source for output stream 1, etc.
A "-" character before the stream identifier creates a "negative" mapping.  It disables matching streams from already created mappings.
A trailing "?" after the stream index will allow the map to be optional: if the map matches no streams the map will be ignored instead of failing. Note the map will still fail if an invalid input file index is used; such as if the map refers to a non-existent input.
An alternative [linklabel] form will map outputs from complex filter graphs (see the -filter_complex option) to the output file. linklabel must correspond to a defined output link label in the graph.
For example, to map ALL streams from the first input file to output
ffmpeg -i INPUT -map 0 output
For example, if you have two audio streams in the first input file, these streams are identified by "0:0" and "0:1". You can use "-map" to select which streams to place in an output file. For example:
ffmpeg -i INPUT -map 0:1 out.wav
will map the input stream in INPUT identified by "0:1" to the (single) output stream in out.wav.
For example, to select the stream with index 2 from input file a.mov (specified by the identifier "0:2"), and stream with index 6 from input b.mov (specified by the identifier "1:6"), and copy them to the output file out.mov:
ffmpeg -i a.mov -i b.mov -c copy -map 0:2 -map 1:6 out.mov
To select all video and the third audio stream from an input file:
ffmpeg -i INPUT -map 0:v -map 0:a:2 OUTPUT
To map all the streams except the second audio, use negative mappings
ffmpeg -i INPUT -map 0 -map -0:a:1 OUTPUT
To map the video and audio streams from the first input, and using the trailing "?", ignore the audio mapping if no audio streams exist in the first input:
ffmpeg -i INPUT -map 0:v -map 0:a? OUTPUT
To pick the English audio stream:
ffmpeg -i INPUT -map 0:m:language:eng OUTPUT
Note that using this option disables the default mappings for this output file.
-ignore_unknown Ignore input streams with unknown type instead of failing if copying such streams is attempted.
-copy_unknown Allow input streams with unknown type to be copied instead of failing if copying such streams is attempted.
-map_channel [input_file_id.stream_specifier.channel_id|-1][?][:output_file_id.stream_specifier] Map an audio channel from a given input to an output. If output_file_id.stream_specifier is not set, the audio channel will be mapped on all the audio streams.
Using "-1" instead of input_file_id.stream_specifier.channel_id will map a muted channel.
A trailing "?" will allow the map_channel to be optional: if the map_channel matches no channel the map_channel will be ignored instead of failing.
For example, assuming INPUT is a stereo audio file, you can switch the two audio channels with the following command:
ffmpeg -i INPUT -map_channel 0.0.1 -map_channel 0.0.0 OUTPUT
If you want to mute the first channel and keep the second:
ffmpeg -i INPUT -map_channel -1 -map_channel 0.0.1 OUTPUT
The order of the "-map_channel" option specifies the order of the channels in the output stream. The output channel layout is guessed from the number of channels mapped (mono if one "-map_channel", stereo if two, etc.). Using "-ac" in combination of "-map_channel" makes the channel gain levels to be updated if input and output channel layouts don't match (for instance two "-map_channel" options and "-ac 6").
You can also extract each channel of an input to specific outputs; the following command extracts two channels of the INPUT audio stream (file 0, stream 0) to the respective OUTPUT_CH0 and OUTPUT_CH1 outputs:
ffmpeg -i INPUT -map_channel 0.0.0 OUTPUT_CH0 -map_channel 0.0.1 OUTPUT_CH1
The following example splits the channels of a stereo input into two separate streams, which are put into the same output file:
ffmpeg -i stereo.wav -map 0:0 -map 0:0 -map_channel 0.0.0:0.0 -map_channel 0.0.1:0.1 -y out.ogg
Note that currently each output stream can only contain channels from a single input stream; you can't for example use "-map_channel" to pick multiple input audio channels contained in different streams (from the same or different files) and merge them into a single output stream. It is therefore not currently possible, for example, to turn two separate mono streams into a single stereo stream. However splitting a stereo stream into two single channel mono streams is possible.
If you need this feature, a possible workaround is to use the amerge filter. For example, if you need to merge a media (here input.mkv) with 2 mono audio streams into one single stereo channel audio stream (and keep the video stream), you can use the following command:
ffmpeg -i input.mkv -filter_complex "[0:1] [0:2] amerge" -c:a pcm_s16le -c:v copy output.mkv
To map the first two audio channels from the first input, and using the trailing "?", ignore the audio channel mapping if the first input is mono instead of stereo:
ffmpeg -i INPUT -map_channel 0.0.0 -map_channel 0.0.1? OUTPUT
-map_metadata[:metadata_spec_out] infile[:metadata_spec_in] (output,per-metadata) Set metadata information of the next output file from infile. Note that those are file indices (zero-based), not filenames.  Optional metadata_spec_in/out parameters specify, which metadata to copy.  A metadata specifier can have the following forms:
g   global metadata, i.e. metadata that applies to the whole file
s[:stream_spec] per-stream metadata. stream_spec is a stream specifier as described in the Stream specifiers chapter. In an input metadata specifier, the first matching stream is copied from. In an output metadata specifier, all matching streams are copied to.
c:chapter_index per-chapter metadata. chapter_index is the zero-based chapter index.
p:program_index per-program metadata. program_index is the zero-based program index.
If metadata specifier is omitted, it defaults to global.
By default, global metadata is copied from the first input file, per- stream and per-chapter metadata is copied along with streams/chapters. These default mappings are disabled by creating any mapping of the relevant type. A negative file index can be used to create a dummy mapping that just disables automatic copying.
For example to copy metadata from the first stream of the input file to global metadata of the output file:
ffmpeg -i in.ogg -map_metadata 0:s:0 out.mp3
To do the reverse, i.e. copy global metadata to all audio streams:
ffmpeg -i in.mkv -map_metadata:s:a 0:g out.mkv
Note that simple 0 would work as well in this example, since global metadata is assumed by default.
-map_chapters input_file_index (output) Copy chapters from input file with index input_file_index to the next output file. If no chapter mapping is specified, then chapters are copied from the first input file with at least one chapter. Use a negative file index to disable any chapter copying.
-benchmark (global) Show benchmarking information at the end of an encode.  Shows real, system and user time used and maximum memory consumption.  Maximum memory consumption is not supported on all systems, it will usually display as 0 if not supported.
-benchmark_all (global) Show benchmarking information during the encode.  Shows real, system and user time used in various steps (audio/video encode/decode).
-timelimit duration (global) Exit after ffmpeg has been running for duration seconds in CPU user time.
-dump (global) Dump each input packet to stderr.
-hex (global) When dumping packets, also dump the payload.
-re (input) Read input at native frame rate. Mainly used to simulate a grab device, or live input stream (e.g. when reading from a file). Should not be used with actual grab devices or live input streams (where it can cause packet loss).  By default ffmpeg attempts to read the input(s) as fast as possible.  This option will slow down the reading of the input(s) to the native frame rate of the input(s). It is useful for real-time output (e.g. live streaming).
-vsync parameter Video sync method.  For compatibility reasons old values can be specified as numbers.  Newly added values will have to be specified as strings always.
0, passthrough Each frame is passed with its timestamp from the demuxer to the muxer.
1, cfr Frames will be duplicated and dropped to achieve exactly the requested constant frame rate.
2, vfr Frames are passed through with their timestamp or dropped so as to prevent 2 frames from having the same timestamp.
drop As passthrough but destroys all timestamps, making the muxer generate fresh timestamps based on frame-rate.
-1, auto Chooses between 1 and 2 depending on muxer capabilities. This is the default method.
Note that the timestamps may be further modified by the muxer, after this.  For example, in the case that the format option avoid_negative_ts is enabled.
With -map you can select from which stream the timestamps should be taken. You can leave either video or audio unchanged and sync the remaining stream(s) to the unchanged one.
-frame_drop_threshold parameter Frame drop threshold, which specifies how much behind video frames can be before they are dropped. In frame rate units, so 1.0 is one frame.  The default is -1.1. One possible usecase is to avoid framedrops in case of noisy timestamps or to increase frame drop precision in case of exact timestamps.
-async samples_per_second Audio sync method. "Stretches/squeezes" the audio stream to match the timestamps, the parameter is the maximum samples per second by which the audio is changed.  -async 1 is a special case where only the start of the audio stream is corrected without any later correction.
This option has been deprecated. Use the "aresample" audio filter instead.
-adrift_threshold time Set the minimum difference between timestamps and audio data (in seconds) to trigger adding/dropping samples to make it match the timestamps. This option effectively is a threshold to select between hard (add/drop) and soft (squeeze/stretch) compensation.  "-async" must be set to a positive value.
-apad parameters (output,per-stream) Pad the output audio stream(s). This is the same as applying "-af apad".  Argument is a string of filter parameters composed the same as with the "apad" filter.  "-shortest" must be set for this output for the option to take effect.
-copyts Do not process input timestamps, but keep their values without trying to sanitize them. In particular, do not remove the initial start time offset value.
Note that, depending on the vsync option or on specific muxer processing (e.g. in case the format option avoid_negative_ts is enabled) the output timestamps may mismatch with the input timestamps even when this option is selected.
-start_at_zero When used with copyts, shift input timestamps so they start at zero.
This means that using e.g. "-ss 50" will make output timestamps start at 50 seconds, regardless of what timestamp the input file started at.
-copytb mode Specify how to set the encoder timebase when stream copying.  mode is an integer numeric value, and can assume one of the following values:
1   Use the demuxer timebase.
The time base is copied to the output encoder from the corresponding input demuxer. This is sometimes required to avoid non monotonically increasing timestamps when copying video streams with variable frame rate.
0   Use the decoder timebase.
The time base is copied to the output encoder from the corresponding input decoder.
-1  Try to make the choice automatically, in order to generate a sane output.
Default value is -1.
-enc_time_base[:stream_specifier] timebase (output,per-stream) Set the encoder timebase. timebase is a floating point number, and can assume one of the following values:
0   Assign a default value according to the media type.
For video - use 1/framerate, for audio - use 1/samplerate.
-1  Use the input stream timebase when possible.
If an input stream is not available, the default timebase will be used.
>0  Use the provided number as the timebase.
This field can be provided as a ratio of two integers (e.g. 1:24, 1:48000) or as a floating point number (e.g. 0.04166, 2.0833e-5)
Default value is 0.
-bitexact (input/output) Enable bitexact mode for (de)muxer and (de/en)coder
-shortest (output) Finish encoding when the shortest input stream ends.
-dts_delta_threshold Timestamp discontinuity delta threshold.
-dts_error_threshold seconds Timestamp error delta threshold. This threshold use to discard crazy/damaged timestamps and the default is 30 hours which is arbitrarily picked and quite conservative.
-muxdelay seconds (output) Set the maximum demux-decode delay.
-muxpreload seconds (output) Set the initial demux-decode delay.
-streamid output-stream-index:new-value (output) Assign a new stream-id value to an output stream. This option should be specified prior to the output filename to which it applies.  For the situation where multiple output files exist, a streamid may be reassigned to a different value.
For example, to set the stream 0 PID to 33 and the stream 1 PID to 36 for an output mpegts file:
ffmpeg -i inurl -streamid 0:33 -streamid 1:36 out.ts
-bsf[:stream_specifier] bitstream_filters (output,per-stream) Set bitstream filters for matching streams. bitstream_filters is a comma-separated list of bitstream filters. Use the "-bsfs" option to get the list of bitstream filters.
ffmpeg -i h264.mp4 -c:v copy -bsf:v h264_mp4toannexb -an out.h264
ffmpeg -i file.mov -an -vn -bsf:s mov2textsub -c:s copy -f rawvideo sub.txt
-tag[:stream_specifier] codec_tag (input/output,per-stream) Force a tag/fourcc for matching streams.
-timecode hh:mm:ssSEPff Specify Timecode for writing. SEP is ':' for non drop timecode and ';' (or '.') for drop.
ffmpeg -i input.mpg -timecode 01:02:03.04 -r 30000/1001 -s ntsc output.mpg
-filter_complex filtergraph (global) Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or outputs. For simple graphs -- those with one input and one output of the same type -- see the -filter options. filtergraph is a description of the filtergraph, as described in the ``Filtergraph syntax'' section of the ffmpeg-filters manual.
Input link labels must refer to input streams using the "[file_index:stream_specifier]" syntax (i.e. the same as -map uses). If stream_specifier matches multiple streams, the first one will be used. An unlabeled input will be connected to the first unused input stream of the matching type.
Output link labels are referred to with -map. Unlabeled outputs are added to the first output file.
Note that with this option it is possible to use only lavfi sources without normal input files.
For example, to overlay an image over video
ffmpeg -i video.mkv -i image.png -filter_complex '[0:v][1:v]overlay[out]' -map '[out]' out.mkv
Here "[0:v]" refers to the first video stream in the first input file, which is linked to the first (main) input of the overlay filter. Similarly the first video stream in the second input is linked to the second (overlay) input of overlay.
Assuming there is only one video stream in each input file, we can omit input labels, so the above is equivalent to
ffmpeg -i video.mkv -i image.png -filter_complex 'overlay[out]' -map '[out]' out.mkv
Furthermore we can omit the output label and the single output from the filter graph will be added to the output file automatically, so we can simply write
ffmpeg -i video.mkv -i image.png -filter_complex 'overlay' out.mkv
As a special exception, you can use a bitmap subtitle stream as input: it will be converted into a video with the same size as the largest video in the file, or 720x576 if no video is present. Note that this is an experimental and temporary solution. It will be removed once libavfilter has proper support for subtitles.
For example, to hardcode subtitles on top of a DVB-T recording stored in MPEG-TS format, delaying the subtitles by 1 second:
ffmpeg -i input.ts -filter_complex \ '[#0x2ef] setpts=PTS+1/TB [sub] ; [#0x2d0] [sub] overlay' \ -sn -map '#0x2dc' output.mkv
(0x2d0, 0x2dc and 0x2ef are the MPEG-TS PIDs of respectively the video, audio and subtitles streams; 0:0, 0:3 and 0:7 would have worked too)
To generate 5 seconds of pure red video using lavfi "color" source:
ffmpeg -filter_complex 'color=c=red' -t 5 out.mkv
-filter_complex_threads nb_threads (global) Defines how many threads are used to process a filter_complex graph. Similar to filter_threads but used for "-filter_complex" graphs only. The default is the number of available CPUs.
-lavfi filtergraph (global) Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or outputs. Equivalent to -filter_complex.
-filter_complex_script filename (global) This option is similar to -filter_complex, the only difference is that its argument is the name of the file from which a complex filtergraph description is to be read.
-accurate_seek (input) This option enables or disables accurate seeking in input files with the -ss option. It is enabled by default, so seeking is accurate when transcoding. Use -noaccurate_seek to disable it, which may be useful e.g. when copying some streams and transcoding the others.
-seek_timestamp (input) This option enables or disables seeking by timestamp in input files with the -ss option. It is disabled by default. If enabled, the argument to the -ss option is considered an actual timestamp, and is not offset by the start time of the file. This matters only for files which do not start from timestamp 0, such as transport streams.
-thread_queue_size size (input) This option sets the maximum number of queued packets when reading from the file or device. With low latency / high rate live streams, packets may be discarded if they are not read in a timely manner; setting this value can force ffmpeg to use a separate input thread and read packets as soon as they arrive. By default ffmpeg only do this if multiple inputs are specified.
-sdp_file file (global) Print 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).
-discard (input) Allows discarding specific streams or frames from streams.  Any input stream can be fully discarded, using value "all" whereas selective discarding of frames from a stream occurs at the demuxer and is not supported by all demuxers.
none Discard no frame.
default Default, which discards no frames.
noref Discard all non-reference frames.
bidir Discard all bidirectional frames.
nokey Discard all frames excepts keyframes.
all Discard all frames.
-abort_on flags (global) Stop and abort on various conditions. The following flags are available:
empty_output No packets were passed to the muxer, the output is empty.
empty_output_stream No packets were passed to the muxer in some of the output streams.
-max_error_rate (global) Set fraction of decoding frame failures across all inputs which when crossed ffmpeg will return exit code 69. Crossing this threshold does not terminate processing. Range is a floating-point number between 0 to 1. Default is 2/3.
-xerror (global) Stop and exit on error
-max_muxing_queue_size packets (output,per-stream) When transcoding audio and/or video streams, ffmpeg will not begin writing into the output until it has one packet for each such stream. While waiting for that to happen, packets for other streams are buffered. This option sets the size of this buffer, in packets, for the matching output stream.
The default value of this option should be high enough for most uses, so only touch this option if you are sure that you need it.
-muxing_queue_data_threshold bytes (output,per-stream) This is a minimum threshold until which the muxing queue size is not taken into account. Defaults to 50 megabytes per stream, and is based on the overall size of packets passed to the muxer.
-auto_conversion_filters (global) Enable automatically inserting format conversion filters in all filter graphs, including those defined by -vf, -af, -filter_complex and -lavfi. If filter format negotiation requires a conversion, the initialization of the filters will fail.  Conversions can still be performed by inserting the relevant conversion filter (scale, aresample) in the graph.  On by default, to explicitly disable it you need to specify "-noauto_conversion_filters".
Preset files A preset file contains a sequence of option=value pairs, one for each line, specifying a sequence of options which would be awkward to specify on the command line. Lines starting with the hash ('#') character are ignored and are used to provide comments. Check the presets directory in the FFmpeg source tree for examples.
There are two types of preset files: ffpreset and avpreset files.
ffpreset files
ffpreset files are specified with the "vpre", "apre", "spre", and "fpre" options. The "fpre" option takes the filename of the preset instead of a preset name as input and can be used for any kind of codec. For the "vpre", "apre", and "spre" options, the options specified in a preset file are applied to the currently selected codec of the same type as the preset option.
The argument passed to the "vpre", "apre", and "spre" preset options identifies the preset file to use according to the following rules:
First ffmpeg searches for a file named arg.ffpreset in the directories $FFMPEG_DATADIR (if set), and $HOME/.ffmpeg, and in the datadir defined at configuration time (usually PREFIX/share/ffmpeg) or in a ffpresets folder along the executable on win32, in that order. For example, if the argument is "libvpx-1080p", it will search for the file libvpx-1080p.ffpreset.
If no such file is found, then ffmpeg will search for a file named codec_name-arg.ffpreset in the above-mentioned directories, where codec_name is the name of the codec to which the preset file options will be applied. For example, if you select the video codec with "-vcodec libvpx" and use "-vpre 1080p", then it will search for the file libvpx-1080p.ffpreset.
avpreset files
avpreset files are specified with the "pre" option. They work similar to ffpreset files, but they only allow encoder- specific options. Therefore, an option=value pair specifying an encoder cannot be used.
When the "pre" option is specified, ffmpeg will look for files with the suffix .avpreset in the directories $AVCONV_DATADIR (if set), and $HOME/.avconv, and in the datadir defined at configuration time (usually PREFIX/share/ffmpeg), in that order.
First ffmpeg searches for a file named codec_name-arg.avpreset in the above-mentioned directories, where codec_name is the name of the codec to which the preset file options will be applied. For example, if you select the video codec with "-vcodec libvpx" and use "-pre 1080p", then it will search for the file libvpx-1080p.avpreset.
If no such file is found, then ffmpeg will search for a file named arg.avpreset in the same directories.
Video and Audio grabbing If you specify the input format and device then ffmpeg can grab video and audio directly.
ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg
Or with an ALSA audio source (mono input, card id 1) instead of OSS:
ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/out.mpg
Note that you must activate the right video source and channel before launching ffmpeg with any TV viewer such as <http://linux.bytesex.org/xawtv/> by Gerd Knorr. You also have to set the audio recording levels correctly with a standard mixer.
X11 grabbing Grab the X11 display with ffmpeg via
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0 /tmp/out.mpg
0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable.
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg
0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable. 10 is the x-offset and 20 the y-offset for the grabbing.
Video and Audio file format conversion Any supported file format and protocol can serve as input to ffmpeg:
•   You can use YUV files as input:
ffmpeg -i /tmp/test%d.Y /tmp/out.mpg
It will use the files:
/tmp/test0.Y, /tmp/test0.U, /tmp/test0.V, /tmp/test1.Y, /tmp/test1.U, /tmp/test1.V, etc...
The Y files use twice the resolution of the U and V files. They are raw files, without header. They can be generated by all decent video decoders. You must specify the size of the image with the -s option if ffmpeg cannot guess it.
•   You can input from a raw YUV420P file:
ffmpeg -i /tmp/test.yuv /tmp/out.avi
test.yuv is a file containing raw YUV planar data. Each frame is composed of the Y plane followed by the U and V planes at half vertical and horizontal resolution.
•   You can output to a raw YUV420P file:
ffmpeg -i mydivx.avi hugefile.yuv
•   You can set several input files and output files:
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg
Converts the audio file a.wav and the raw YUV video file a.yuv to MPEG file a.mpg.
•   You can also do audio and video conversions at the same time:
ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2
Converts a.wav to MPEG audio at 22050 Hz sample rate.
•   You can encode to several formats at the same time and define a mapping from input stream to output streams:
ffmpeg -i /tmp/a.wav -map 0:a -b:a 64k /tmp/a.mp2 -map 0:a -b:a 128k /tmp/b.mp2
Converts a.wav to a.mp2 at 64 kbits and to b.mp2 at 128 kbits. '-map file:index' specifies which input stream is used for each output stream, in the order of the definition of output streams.
•   You can transcode decrypted VOBs:
ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi
This is a typical DVD ripping example; the input is a VOB file, the output an AVI file with MPEG-4 video and MP3 audio. Note that in this command we use B-frames so the MPEG-4 stream is DivX5 compatible, and GOP size is 300 which means one intra frame every 10 seconds for 29.97fps input video. Furthermore, the audio stream is MP3-encoded so you need to enable LAME support by passing "--enable-libmp3lame" to configure.  The mapping is particularly useful for DVD transcoding to get the desired audio language.
NOTE: To see the supported input formats, use "ffmpeg -demuxers".
•   You can extract images from a video, or create a video from many images:
For extracting images from a video:
ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
This will extract one video frame per second from the video and will output them in files named foo-001.jpeg, foo-002.jpeg, etc. Images will be rescaled to fit the new WxH values.
If you want to extract just a limited number of frames, you can use the above command in combination with the "-frames:v" or "-t" option, or in combination with -ss to start extracting from a certain point in time.
For creating a video from many images:
ffmpeg -f image2 -framerate 12 -i foo-%03d.jpeg -s WxH foo.avi
The syntax "foo-%03d.jpeg" specifies to use a decimal number composed of three digits padded with zeroes to express the sequence number. It is the same syntax supported by the C printf function, but only formats accepting a normal integer are suitable.
When importing an image sequence, -i also supports expanding shell- like wildcard patterns (globbing) internally, by selecting the image2-specific "-pattern_type glob" option.
For example, for creating a video from filenames matching the glob pattern "foo-*.jpeg":
ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi
•   You can put many streams of the same type in the output:
ffmpeg -i test1.avi -i test2.avi -map 1:1 -map 1:0 -map 0:1 -map 0:0 -c copy -y test12.nut
The resulting output file test12.nut will contain the first four streams from the input files in reverse order.
•   To force CBR video output:
ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k out.m2v
•   The four options lmin, lmax, mblmin and mblmax use 'lambda' units, but you may use the QP2LAMBDA constant to easily convert from 'q' units:
ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext
ffmpeg-all(1), ffplay(1), ffprobe(1), ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1), ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1), ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
LIVE-BUILD(1)                 Live Systems Project                 LIVE-BUILD(1)
lb - wrapper for live-build programs
lb COMMAND [COMMAND_OPTIONS]
lb [live-build options]
lb is a high-level command (porcelain) of live-build(7), the live systems tool suite.
lb has no specific options but understands all generic live-build options. See live-build(7) for a complete list of all generic live-build options.
live-build(7)
This program is a part of live-build.
More information about live-build and the Live Systems project can be found on the homepage at <https://debian-live.alioth.debian.org/>.
Bugs can be reported by submitting a bugreport for the live-build package in the Bug Tracking System at <http://bugs.debian.org/> or by writing a mail to the Live Systems mailing list at <debian-live@lists.debian.org>.
live-build was written by Daniel Baumann <mail@daniel-baumann.ch>.
ARK(1)                          Ark User's Manual                         ARK(1)
ark - KDE archiving tool
ark [-b] [-a] [-e] [-O] [-c] [-f suffix] [-p] [-t file] [-d] [-m] [-o directory] [KF5 Generic Options] [Qt(TM) Generic Options]
Ark is a program for managing various compressed file formats within KDE. Archives can be viewed, extracted, created and modified with Ark. The program can handle various formats such as tar, gzip, bzip2, zip, rar (when the appropriate libraries or command-line programs are installed).
Ark can be used either as a stand-alone GUI program as well as a command-line program in order to perform some specific tasks.
If invoked without the -b (--batch) or -c (--add) options, Ark is started as a normal GUI program.
When the -b (--batch) option is used, Ark can be used to extract the contents of one or more files directly from the command-line, without launching its GUI.
When the -c (--add) option is used, Ark prompts for files that should be added to a new archive or to an existing archive.
-d, --dialog
Show a dialog for specifying the options for a batch or add operation.
-m, --mimetypes
List supported MIME types.
-o, --destination directory
Default the extraction directory to directory. If not passed, the current path is used.
Options for adding files -c, --add
Query the user for an archive filename and add specified files to it. Quit when finished.
-t, --add-to filename
Add the specified files to filename. Create archive if it does not exist. Quit when finished.
-p, --changetofirstpath
Change the current directory to the first entry and add all other entries relative to this one.
-f, --autofilename suffix
Automatically choose a filename, with the selected suffix (for example rar, tar.gz, zip or any other supported types).
Options for batch extraction -b, --batch
Use the batch interface instead of the usual dialog. This option is implied if more than one url is specified.
-e, --autodestination
The destination argument will be set to the path of the first file supplied.
-a, --autosubfolder
Archive contents will be read, and if detected to not be a single folder archive, a subfolder by the name of the archive will be created.
-O, --opendestination
Open the destination folder when the extraction is complete.
More detailed user documentation is available from help:/ark (either enter this URL into Konqueror, or run khelpcenter help:/ark). kf5options(7) qt5options(7)
ark --batch archive.tar.bz2
Will extract archive.tar.bz2 into the current directory without showing any GUI.
ark -b -d archive.tar.bz2 archive2.zip
Will first show an extraction options dialog and then extract both archive.tar.bz2 and archive2.zip into the directory chosen in the dialog.
ark --add-to my-archive.zip photo1.jpg text.txt
Will create my-archive.zip if does not exist and then add photo1.jpg and text.txt to it.
Ark is currently maintained by Elvis Angelaccio and Ragnar Thomsen.
Lauri Watts <lauri@kde.org> Initial version of Ark man page in 2005.
Raphael Kubo da Costa <rakuco@FreeBSD.org> Update of Ark man page in 2009.
Ragnar Thomsen <rthomsen6@gmail.com> Update of Ark man page in 2015 and 2016.
ZENITY(1)                    General Commands Manual                   ZENITY(1)
zenity - display GTK+ dialogs
zenity [options]
zenity is a program that will display GTK+ dialogs, and return (either in the return code, or on standard output) the users input. This allows you to present information, and ask for information from the user, from all manner of shell scripts.
For example, zenity --question will return either 0, 1 or 5, depending on whether the user pressed OK, Cancel or timeout has been reached. zenity --entry will output on standard output what the user typed into the text entry field.
Comprehensive documentation is available in the GNOME Help Browser.
This program follows the usual GNU command line syntax, with long options starting with two dashes (`-').
Dialog options
--calendar Display calendar dialog
--entry Display text entry dialog
--error Display error dialog
--file-selection Display file selection dialog
--info Display info dialog
--list Display list dialog
--notification Display notification
--progress Display progress indication dialog
--question Display question dialog
--text-info Display text information dialog
--warning Display warning dialog
--scale Display scale dialog
--color-selection Display color selection dialog
--password Display password dialog
--forms Display forms dialog
--title=TITLE Set the dialog title
--window-icon=ICONPATH Set the window icon with the path to an image. Alternatively, one of the four stock icons can be used: 'error', 'info', 'question' or 'warning'
--width=WIDTH Set the dialog width
--height=HEIGHT Set the dialog height
--timeout=TIMEOUT Set the dialog timeout in seconds
Calendar options
--text=STRING Set the dialog text
--day=INT Set the calendar day
--month=INT Set the calendar month
--year=INT Set the calendar year
--date-format=PATTERN Set the format for the returned date. The default depends on the user locale or be set with the strftime style. For example %A %d/%m/%y
Text entry options
--entry-text=STRING Set the entry text
--hide-text Hide the entry text
Error options
--no-wrap Do not enable text wrapping
--no-markup Do not enable pango markup
File selection options
--filename=FILENAME Set the file or directory to be selected by default
--multiple Allow selection of multiple filenames in file selection dialog
--directory Activate directory-only selection
--save Activate save mode
--separator=SEPARATOR Specify separator character when returning multiple filenames
--confirm-overwrite Confirm file selection if filename already exists
--file-filter=NAME | PATTERN1 PATTERN2 Sets a filename filter
Info options
--column=STRING Set the column header
--checklist Use check boxes for first column
--radiolist Use radio buttons for first column
--separator=STRING Set output separator character
--multiple Allow multiple rows to be selected
--editable Allow changes to text
--print-column=NUMBER Specify what column to print to standard output. The default is to return the first column. 'ALL' may be used to print all columns.
--hide-column=NUMBER Hide a specific column
--hide-header Hides the column headers
Notification options
--text=STRING Set the notification text
--listen Listen for commands on stdin. Commands include 'message', 'tooltip', 'icon', and 'visible' separated by a colon. For example, 'message: Hello world', 'visible: false', or 'icon: /path/to/icon'. The icon command also accepts the four stock icon: 'error', 'info', 'question', and 'warning'
Progress options
--percentage=INT Set initial percentage
--auto-close Close dialog when 100% has been reached
--auto-kill Kill parent process if cancel button is pressed
--pulsate Pulsate progress bar
--no-cancel Hides the cancel button
Question options
--ok-label Set the text of the OK button
--cancel-label Set the text of the cancel button
Text options
--filename=FILENAME Open file
--checkbox=TEXT Enable a checkbox for use like a 'I read and accept the terms.'
Warning options
--value=VALUE Set initial value
--min-value=VALUE Set minimum value
--max-value=VALUE Set maximum value
--step=VALUE Set step size
--print-partial Print partial values
--hide-value Hide value
Color selection options
--color=VALUE Set the initial color
--show-palette Show the palette
Password dialog options
--username Display the username field
Forms dialog options
--add-entry=FIELDNAME Add a new Entry in forms dialog
--add-password=FIELDNAME Add a new Password Entry in forms dialog
--add-calendar=FIELDNAME Add a new Calendar in forms dialog
--forms-date-format=PATTERN Set the format for the returned date. The default depends on the user locale or be set with the strftime style. For example %A %d/%m/%y
Miscellaneous options
-?, --help Show summary of options.
--about Display an about dialog.
--version Show version of program.
Also the standard GTK+ options are accepted. For more information about the GTK+ options, execute following command.
zenity --help-gtk
Normally, zenity detects the terminal window from which it was launched and keeps itself above that window.  This behavior can be disabled by unsetting the WINDOWID environment variable.
Display a file selector with the title Select a file to remove. The file selected is returned on standard output.
zenity  --title="Select a file to remove" --file-selection
Display a text entry dialog with the title Select Host and the text Select the host you would like to flood-ping. The entered text is returned on standard output.
zenity  --title "Select Host" --entry --text "Select the host you would like to flood-ping"
Display a dialog, asking Microsoft Windows has been found! Would you like to remove it?. The return code will be 0 (true in shell) if OK is selected, and 1 (false) if Cancel is selected.
zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"
Show the search results in a list dialog with the title Search Results and the text Finding all header files....
find . -name '*.h' | zenity --list --title "Search Results" --text "Finding all header files.." --column "Files"
Show a notification in the message tray
zenity --notification --window-icon=update.png --text "System update necessary!"
Display a weekly shopping list in a check list dialog with Apples and Oranges pre selected
zenity --list --checklist --column "Buy" --column "Item" TRUE Apples TRUE Oranges FALSE Pears FALSE Toothpaste
Display a progress dialog while searching for all the postscript files in your home directory
find $HOME -name '*.ps' | zenity --progress --pulsate
Zenity was written by Glynn Foster <glynn.foster@sun.com>.
This manual page was written by Ross Burton <ross@burtonini.com>.
dialog(1)
SHIFT(1P)                   POSIX Programmer's Manual                  SHIFT(1P)
shift â€” shift positional parameters
shift [n]
The positional parameters shall be shifted. Positional parameter 1 shall be assigned the value of parameter (1+n), parameter 2 shall be assigned the value of parameter (2+n), and so on. The parameters represented by the numbers "$#" down to "$#-n+1" shall be unset, and the parameter '#' is updated to reflect the new number of positional parameters.
The value n shall be an unsigned decimal integer less than or equal to the value of the special parameter '#'.  If n is not given, it shall be assumed to be 1. If n is 0, the positional and special parameters are not changed.
If the n operand is invalid or is greater than "$#", this may be considered a syntax error and a non-interactive shell may exit; if the shell does not exit in this case, a non-zero exit status shall be returned. Otherwise, zero shall be returned.
$ set a b c d e $ shift 2 $ echo $* c d e
runsvchdir(8)                System Manager's Manual               runsvchdir(8)
runsvchdir - change services directory of runsvdir(8)
runsvchdir dir
dir is a services directory for the use with runsvdir(8).  If dir does not start with a slash, it is searched in /etc/runit/runsvdir/.  dir must not start with a dot.
runsvchdir switches to the directory /etc/runit/runsvdir/, copies current to previous, and replaces current with a symlink pointing to dir.
Normally /etc/service is a symlink to current, and runsvdir(8) is running /etc/service/.
runsvchdir prints an error message and exits 111 on error.  runsvchdir exits 0 on success.
/etc/runit/runsvdir/previous /etc/runit/runsvdir/current /etc/runit/runsvdir/current.new
runsvdir(8), runit(8), runit-init(8), sv(8), runsv(8)
LINE(3NCARG)                      NCAR GRAPHICS                     LINE(3NCARG)
LINE - draws a line from the point (X1,Y1) to the point (X2,Y2).  The "pen" (for subsequent calls to FRSTPT, VECTOR, PLOTIF, and PLOTIT) is left at (X2,Y2).
CALL LINE (X1,Y1,X2,Y2)
C-BINDING SYNOPSIS #include <ncarg/ncargC.h>
void c_line (float x1, float y1, float x2, float y2)
X1          (an input expression of type REAL) defines the X user coordinate of the starting point of a line segment.
Y1          (an input expression of type REAL) defines the Y user coordinate of the starting point of a line segment.
X2          (an input expression of type REAL) defines the X user coordinate of the ending point of a line segment.
Y2          (an input expression of type REAL) defines the Y user coordinate of the ending point of a line segment.
C-BINDING DESCRIPTION The C-binding argument descriptions are the same as the FORTRAN argument descriptions.
Polyline type, line width, and color can be set by calling the GKS routines GSLN, GSLWSC, GSCR, and GSPLCI before calling LINE.
This routine flushes the SPPS polyline buffer at each line draw.  Thus, polyline attributes can be safely changed between successive calls.
Use the ncargex command to see the following relevant examples: mpex07, mpex09, cbex01, coex01, coex03, epltch, srex01, and tgflas.
To use LINE or c_line, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order.
Online: gpl, gsln, gslwsc, gscr, gsplci, spps, spps_params, frstpt, vector, plotif, curve, ncarg_cbind
Hardcopy: NCAR Graphics Fundamentals, UNIX Version; User's Guide for NCAR GKS-0A Graphics
Copyright (C) 1987-2009 University Corporation for Atmospheric Research The use of this Software is governed by a License Agreement.
GO-RUN(1)                    General Commands Manual                   GO-RUN(1)
go-run - compile and run Go program
go run [build flags] [-exec xprog] package [arguments...]
Run compiles and runs the named main Go package. Typically the package is specified as a list of .go source files from a single directory, but it may also be an import path, file system path, or pattern matching a single known package, as in 'go run .' or 'go run my/cmd'.
If the package argument has a version suffix (like @latest or @v1.0.0), "go run" builds the program in module-aware mode, ignoring the go.mod file in the current directory or any parent directory, if there is one. This is useful for running programs without affecting the dependencies of the main module.
By default, 'go run' runs the compiled binary directly: 'a.out arguments...'. If the -exec flag is given, 'go run' invokes the binary using xprog:
'xprog a.out arguments...'.
If the -exec flag is not given, GOOS or GOARCH is different from the system default, and a program named go_$GOOS_$GOARCH_exec can be found on the current search path, 'go run' invokes the binary using that program, for example 'go_js_wasm_exec a.out arguments...'. This allows execution of cross-compiled programs when a simulator or other execution method is available.
The exit status of Run is not the exit status of the compiled binary.
For more about build flags, see 'go help build'. For more about specifying packages, see 'go help packages'.
go-build(1).
This manual page was written by Michael Stapelberg <stapelberg@debian.org> and is maintained by the Debian Go Compiler Team <team+go-compiler@tracker.debian.org> based on the output of 'go help run' for the Debian project (and may be used by others).
PSTREE(1)                         User Commands                        PSTREE(1)
pstree - display a tree of processes
pstree [-a, --arguments] [-c, --compact-not] [-C, --color attr] [-g, --show-pgids] [-h, --highlight-all, -H pid, --highlight-pid pid] [-l, --long] [-n, --numeric-sort] [-N, --ns-sort ns] [-p, --show-pids] [-s, --show-parents] [-S, --ns-changes] [-t, --thread-names] [-T, --hide- threads] [-u, --uid-changes] [-Z, --security-context] [-A, --ascii, -G, --vt100, -U, --unicode] [pid, user] pstree -V, --version
pstree shows running processes as a tree.  The tree is rooted at either pid or init if pid is omitted.  If a user name is specified, all process trees rooted at processes owned by that user are shown.
pstree visually merges identical branches by putting them in square brackets and prefixing them with the repetition count, e.g.
init-+-getty |-getty |-getty `-getty
init---4*[getty]
Child threads of a process are found under the parent process and are shown with the process name in curly braces, e.g.
icecast2---13*[{icecast2}]
If pstree is called as pstree.x11 then it will prompt the user at the end of the line to press return and will not return until that has happened. This is useful for when pstree is run in a xterminal.
Certain kernel or mount parameters, such as the hidepid option for procfs, will hide information for some processes. In these situations pstree will attempt to build the tree without this information, showing process names as question marks.
-a     Show command line arguments.  If the command line of a process is swapped out, that process is shown in parentheses.  -a implicitly disables compaction for processes but not threads.
-A     Use ASCII characters to draw the tree.
-c     Disable compaction of identical subtrees.  By default, subtrees are compacted whenever possible.
-C     Color the process name by given attribute. Currently pstree only accepts the value age which colors by process age.  Processes newer than 60 seconds are green, newer than an hour yellow and the remaining red.
-g     Show PGIDs.  Process Group IDs are shown as decimal numbers in parentheses after each process name.  -g implicitly disables compaction.  If both PIDs and PGIDs are displayed then PIDs are shown first.
-G     Use VT100 line drawing characters.
-h     Highlight the current process and its ancestors.  This is a no-op if the terminal doesn't support highlighting or if neither the current process nor any of its ancestors are in the subtree being shown.
-H     Like -h, but highlight the specified process instead.  Unlike with -h, pstree fails when using -H if highlighting is not available.
-l     Display long lines.  By default, lines are truncated to either the COLUMNS environment variable or the display width.  If neither of these methods work, the default of 132 columns is used.
-n     Sort processes with the same parent by PID instead of by name. (Numeric sort.)
-N     Show individual trees for each namespace of the type specified. The available types are: ipc, mnt, net, pid, time, user, uts. Regular users don't have access to other users' processes information, so the output will be limited.
-p     Show PIDs.  PIDs are shown as decimal numbers in parentheses after each process name.  -p implicitly disables compaction.
-s     Show parent processes of the specified process.
-S     Show namespaces transitions.  Like -N, the output is limited when running as a regular user.
-t     Show full names for threads when available.
-T     Hide threads and only show processes.
-u     Show uid transitions.  Whenever the uid of a process differs from the uid of its parent, the new uid is shown in parentheses after the process name.
-U     Use UTF-8 (Unicode) line drawing characters.  Under Linux 1.1-54 and above, UTF-8 mode is entered on the console with echo -e ' 33%8' and left with echo -e ' 33%@'.
-V     Display version information.
-Z     Show the current security attributes of the process. For SELinux systems this will be the security context.
/proc  location of the proc file system
Some character sets may be incompatible with the VT100 characters.
ps(1), top(1), proc(5).
BOOTCTL(1)                           bootctl                          BOOTCTL(1)
bootctl - Control EFI firmware boot settings and manage boot loader
bootctl [OPTIONS...] {COMMAND}
bootctl can check the EFI firmware and boot loader status, list and manage available boot loaders and boot loader entries, and install, update, or remove the systemd-boot(7) boot loader on the current system.
GENERIC EFI FIRMWARE/BOOT LOADER COMMANDS These commands are available on any EFI system, regardless of the boot loader used.