neulab/tldr huggingface dataset:
-v     Verbose execution.
-V     Print the version number of mke2fs and exit.
-z undo_file Before overwriting a file system block, write the old contents of the block to an undo file.  This undo file can be used with e2undo(8) to restore the old contents of the file system should something go wrong.  If the empty string is passed as the undo_file argument, the undo file will be written to a file named mke2fs-device.e2undo in the directory specified via the E2FSPROGS_UNDO_DIR environment variable or the undo_dir directive in the configuration file.
MKE2FS_SYNC If set to non-zero integer value, its value is used to determine how often sync(2) is called during inode table initialization.
MKE2FS_CONFIG Determines the location of the configuration file (see mke2fs.conf(5)).
MKE2FS_FIRST_META_BG If set to non-zero integer value, its value is used to determine first meta block group. This is mostly for debugging purposes.
MKE2FS_DEVICE_SECTSIZE If set to non-zero integer value, its value is used to determine logical sector size of the device.
MKE2FS_DEVICE_PHYS_SECTSIZE If set to non-zero integer value, its value is used to determine physical sector size of the device.
MKE2FS_SKIP_CHECK_MSG If set, do not show the message of file system automatic check caused by mount count or check interval.
This version of mke2fs has been written by Theodore Ts'o <tytso@mit.edu>.
mke2fs is part of the e2fsprogs package and is available from http://e2fsprogs.sourceforge.net.
mke2fs.conf(5), badblocks(8), dumpe2fs(8), e2fsck(8), tune2fs(8), ext4(5)
MV(1)                             User Commands                            MV(1)
mv - move (rename) files
mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
-f, --force do not prompt before overwriting
-i, --interactive prompt before overwrite
-n, --no-clobber do not overwrite an existing file
If you specify more than one of -i, -f, -n, only the final one takes effect.
-t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY
-u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing
-Z, --context set SELinux security context of destination file to default type
Written by Mike Parker, David MacKenzie, and Jim Meyering.
rename(2)
Full documentation <https://www.gnu.org/software/coreutils/mv> or available locally via: info '(coreutils) mv invocation'
cf(1)                                                                      cf(1)
NAME cf - Confluence compiler
SYNOPSIS cf [options] [file] [arguments]
DESCRIPTION Confluence is a functional programming language for reactive system design, including digital logic systems (ASIC, FPGA) and control oriented hard real-time software.
The Confluence compiler (cf) translates a Confluence description into Verilog and VHDL (for digital logic synthesis), C (for simulation and software targets), and NuSMV (for formal verification, via model checking).
OPTIONS -h OR -help Prints this information then exits.
-b filename OR -base_env filename
Sets the base environment for the compilation. Overrides the CF_ENV
environment variable. If CF_ENV not defined and -base_env option not set, the base environment defaults to /usr/share/confluence/base.cf.
-e integer OR -error_limit integer
Sets the maximum number of reported errors. A negative number reports all errors.
-c OR -compile_only Parses and compiles, but does not evaluate a program.
-o name
Sets the output file name. Default is out.fnf.
-test Run the built in unit tests.
ENVIRONMENT VARIABLES CF_ENV A filename that specifies the base environment (commonly base.cf).
CF_LIB The directory location of the Confluence standard library (optional).
VERSION 0.10.6
AUTHOR Tom Hawkins (tomahawkins@yahoo.com)
SEE ALSO http://www.confluent.org/
COPYRIGHT Copyright (C) 2003-2005 Tom Hawkins
REPQUOTA(8)                  System Manager's Manual                 REPQUOTA(8)
repquota - summarize quotas for a filesystem
/usr/sbin/repquota [ -vspiugP ] [ -c | -C ] [ -t | -n ] [ -F format-name ] filesystem...
/usr/sbin/repquota [ -avtpsiugP ] [ -c | -C ] [ -t | -n ] [ -F format- name ]
repquota prints a summary of the disc usage and quotas for the specified file systems.  For each user the current number of files and amount of space (in kilobytes) is printed, along with any quota limits set with edquota(8) or setquota(8).  In the second column repquota prints two characters marking which limits are exceeded. If user is over his space softlimit or reaches his space hardlimit in case softlimit is unset, the first character is '+'. Otherwise the character printed is '-'. The second character denotes the state of inode usage analogously.
repquota has to translate ids of all users/groups/projects to names (unless option -n was specified) so it may take a while to print all the information. To make translating as fast as possible repquota tries to detect (by reading /etc/nsswitch.conf) whether entries are stored in standard plain text file or in a database and either translates chunks of 1024 names or each name individually. You can override this autodetection by -c or -C options.
-a, --all Report on all filesystems indicated in /etc/mtab to be read-write with quotas.
-v, --verbose Report all quotas, even if there is no usage. Be also more verbose about quotafile information.
-c, --cache Cache entries to report and translate uids/gids to names in big chunks by scanning all users (default). This is good (fast) behaviour when using /etc/passwd file.
-C, --no-cache Translate individual entries. This is faster when you have users stored in database.
-t, --truncate-names Truncate user/group names longer than 9 characters. This results in nicer output when there are such names.
-n, --no-names Don't resolve UIDs/GIDs to names. This can speedup printing a lot.
-s, --human-readable[=units] Try to report used space, number of used inodes and limits in more appropriate units than the default ones. Units can be also specified explicitely by an optional argument in format [ kgt ],[ kgt ] where the first character specifies space units and the second character specifies inode units.
-i, --no-autofs Ignore mountpoints mounted by automounter.
-F, --format=format-name Report quota for specified format (ie. don't perform format autodetection).  Possible format names are: vfsold Original quota format with 16-bit UIDs / GIDs, vfsv0 Quota format with 32-bit UIDs / GIDs, 64-bit space usage, 32-bit inode usage and limits, vfsv1 Quota format with 64-bit quota limits and usage, xfs (quota on XFS filesystem)
-g, --group Report quotas for groups.
-P, --project Report quotas for projects.
-u, --user Report quotas for users. This is the default.
-O, --output=format-name Output quota report in the specified format.  Possible format names are: default The default format, optimized for console viewing csv Comma-separated values, a text file with the columns delimited by commas xml Output is XML encoded, useful for processing with XSLT
Only the super-user may view quotas which are not their own.
aquota.user or aquota.group quota file at the filesystem root (version 2 quota, non-XFS filesystems) quota.user or quota.group quota file at the filesystem root (version 1 quota, non-XFS filesystems) /etc/mtab           default filesystems /etc/passwd         default set of users /etc/group          default set of groups
quota(1), quotactl(2), edquota(8), quotacheck(8), quotaon(8), quota_nld(8), setquota(8), warnquota(8)
HEXYL(1)                          User Commands                         HEXYL(1)
hexyl - command-line hex viewer
hexyl 0.8.0 A command-line hex viewer
USAGE: hexyl [OPTIONS] [FILE]
OPTIONS: -n, --length <N> Only read N bytes from the input. The N argument can also include a unit with a decimal prefix (kB, MB, ..) or binary prefix (kiB, MiB, ..).  Examples: --length=64, --length=4KiB
-c, --bytes <N> An alias for -n/--length
-s, --skip <N> Skip the first N bytes of the input. The N argument can also include a unit (see `--length` for details)
--block-size <SIZE> Sets the size of the `block` unit to SIZE.  Examples: --block-size=1024, --block-size=4kB
-v, --no-squeezing Displays all input data. Otherwise any number of groups of output lines which would be identical to the preceding group of lines, are replaced with a line comprised of a single asterisk.
--color <WHEN> When to use colors. The auto-mode only displays colors if the output goes to an interactive terminal [default: always] [possible values: always, auto, never]
--border <STYLE> Whether to draw a border with Unicode characters, ASCII characters, or none at all [default: unicode]  [possible values: unicode, ascii, none]
-o, --display-offset <N> Add N bytes to the displayed file position. The N argument can also include a unit (see `--length` for details)
ARGS: <FILE> The file to display. If no FILE argument is given, read from STDIN.
LT(nged)                      BRL-CAD User Commands                     LT(nged)
lt - Generates a list of the child objects of a combination.
lt [char]
The lt command generates a list of the children found in a combination object specified by the user. By default it will print a curly bracket bound set of objects and their boolean flags. If the -c option is specified, it will instead use the character supplied to the -c option as the separator in the list of objects. In the latter mode the boolean flags will not be printed.
Example 1. Tcl Output
mged> lt component {u bed} {u frame} {u cab} {u suspension} {u misc} {u power.train}
Example 2. CSV Output
mged> lt -c , component bed,frame,cab,suspension,misc,power.train
BRL-CAD Team
Reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org
HTTP(1)                           User Commands                          HTTP(1)
httpie - CLI, cURL-like tool for humans
http   [--json] [--form] [--pretty {all,colors,format,none}] [--style STYLE] [--print WHAT] [--verbose] [--headers] [--body] [--stream] [--output FILE] [--download] [--continue] [--session SESSION_NAME_OR_PATH | --session-read-only SESSION_NAME_OR_PATH] [--auth USER[:PASS]] [--auth-type {basic,digest}] [--proxy PROTOCOL:PROXY_URL] [--follow] [--verify VERIFY] [--cert CERT] [--cert-key CERT_KEY] [--timeout SECONDS] [--check-status] [--ignore-stdin] [--help] [--version] [--traceback] [--debug] [METHOD] URL [REQUEST_ITEM [REQUEST_ITEM ...]]
HTTPie is a CLI HTTP utility built out of frustration with existing tools.  The goal is to make CLI interaction with HTTP-based services as human-friendly as possible.
HTTPie does so by providing an http command that allows for issuing arbitrary HTTP requests using a simple and natural syntax and displaying colorized responses.
Positional Arguments These arguments come after any flags and in the order they are listed here.  Only URL is required.
The HTTP method to be used for the request (GET, POST, PUT, DELETE, ...). This argument can be omitted in which case HTTPie will use POST if there is some data to be sent, otherwise GET:
$ http example.org               # => GET
$ http example.org hello=world   # => POST
The scheme defaults to 'http://' if the URL does not include one.
You can also use a shorthand for localhost
$ http :3000                     # => http://localhost:3000
$ http :/foo                     # => http://localhost/foo
REQUEST_ITEM
Optional key-value pairs to be included in the request. The separator used determines the type:
':'   HTTP headers Referer:http://httpie.org Cookie:foo=bar User-Agent:bacon/1.0
'=='  URL parameters to be appended to the request URI search==httpie
'='   Data fields to be serialized into a JSON object (with --json, -j) or form data (with --form, -f) name=HTTPie language=Python description='CLI HTTP client'
':='  Non-string JSON data fields (only with --json, -j) awesome:=true amount:=42 colors:='["red", "green", "blue"]'
'@'   Form file fields (only with --form, -f) cs@~/Documents/CV.pdf
'=@'  A data field like '=', but takes a file path and embeds its content: essay=@Documents/essay.txt
':=@' A raw JSON field like ':=', but takes a file path and embeds its content: package:=@./package.json
You can use a backslash to escape a colliding separator in the field name:
field-name-with\:colon=value
Predefined Content Types: --json, -j
(default) Data items from the command line are serialized as a JSON object.  The Content-Type and Accept headers are set to application/json (if not specified).
--form, -f
Data items from the command line are serialized as form fields.
The Content-Type is set to application/x-www-form-urlencoded (if not specified). The presence of any file fields results in a multipart/form-data request.
Output Processing: --pretty {all,colors,format,none}
Controls output processing. The value can be "none" to not prettify the output (default for redirected output), "all" to apply both colors and formatting (default for terminal output), "colors", or "format".
--style STYLE, -s STYLE
Output coloring style (default is "solarized"). One of:
algol, algol_nu, autumn, borland, bw, colorful, default, emacs, friendly, fruity, igor, lovelace, manni, monokai, murphy, native, paraiso-dark, paraiso-light, pastie, perldoc, rrt, solarized, tango, trac, vim, vs, xcode
For this option to work properly, please make sure that the $TERM environment variable is set to "xterm-256color" or similar (e.g., via `export TERM=xterm-256color' in your ~/.bashrc).
Output Options: --print WHAT, -p WHAT
String specifying what the output should contain:
'H' request headers 'B' request body 'h' response headers 'b' response body
The default behaviour is 'hb' (i.e., the response headers and body is printed), if standard output is not redirected. If the output is piped to another program or to a file, then only the response body is printed by default.
--verbose, -v
Print the whole request as well as the response. Shortcut for --print=HBbh.
--headers, -h
Print only the response headers. Shortcut for --print=h.
--body, -b
Print only the response body. Shortcut for --print=b.
--stream, -S
Always stream the output by line, i.e., behave like `tail -f'.
Without --stream and with --pretty (either set or implied), HTTPie fetches the whole response before it outputs the processed data.
Set this option when you want to continuously display a prettified long-lived response, such as one from the Twitter streaming API.
It is useful also without --pretty: It ensures that the output is flushed more often and in smaller chunks.
--output FILE, -o FILE
Save output to FILE. If --download is set, then only the response body is saved to the file. Other parts of the HTTP exchange are printed to stderr.
--download, -d
Do not print the response body to stdout. Rather, download it and store it in a file. The filename is guessed unless specified with --output [filename]. This action is similar to the default behaviour of wget.
--continue, -c
Resume an interrupted download. Note that the --output option needs to be specified as well.
Sessions: --session SESSION_NAME_OR_PATH
Create, or reuse and update a session. Within a session, custom headers, auth credential, as well as any cookies sent by the server persist between requests.
Session files are stored in:
/home/gaetano/.httpie/sessions/<HOST>/<SESSION_NAME>.json.
--session-read-only SESSION_NAME_OR_PATH
Create or read a session without updating it form the request/response exchange.
Authentication: --auth USER[:PASS], -a USER[:PASS]
If only the username is provided (-a username), HTTPie will prompt for the password.
--auth-type {basic,digest}
The authentication mechanism to be used. Defaults to "basic".
"basic": Basic HTTP auth "digest": Digest HTTP auth
Network: --proxy PROTOCOL:PROXY_URL
String mapping protocol to the URL of the proxy (e.g. http:http://foo.bar:3128). You can specify multiple proxies with different protocols.
--follow
Set this flag if full redirects are allowed (e.g. re-POST-ing of data at new Location).
--verify VERIFY
Set to "no" to skip checking the host's SSL certificate. You can also pass the path to a CA_BUNDLE file for private certs. You can also set the REQUESTS_CA_BUNDLE environment variable. Defaults to "yes".
--cert CERT
You can specify a local cert to use as client side SSL certificate.  This file may either contain both private key and certificate or you may specify --cert-key separately.
--cert-key CERT_KEY
The private key to use with SSL. Only needed if --cert is given and the certificate file does not contain the private key.
--timeout SECONDS
The connection timeout of the request in seconds. The default value is 30 seconds.
--check-status
By default, HTTPie exits with 0 when no network or other fatal errors occur. This flag instructs HTTPie to also check the HTTP status code and exit with an error if the status indicates one.
When the server replies with a 4xx (Client Error) or 5xx (Server Error) status code, HTTPie exits with 4 or 5 respectively. If the response is a 3xx (Redirect) and --follow hasn't been set, then the exit status is 3.  Also an error message is written to stderr if stdout is redirected.
Troubleshooting: --ignore-stdin
Do not attempt to read stdin.
Show this help message and exit.
Show version and exit.
--traceback
Prints exception traceback should one occur.
Prints exception traceback should one occur, and also other information that is useful for debugging HTTPie itself and for reporting bugs.
For every --OPTION there is also a --no-OPTION that reverts OPTION to its default value.
Suggestions and bug reports are greatly appreciated: <https://github.com/jakubroztocil/httpie/issues>
httpie was written by Jakub Roztocil <jakub@roztocil.name>.
This manual page was written for the Debian project (and may be used by others).
GIT-CREDENTIAL(1)                  Git Manual                  GIT-CREDENTIAL(1)
git-credential - Retrieve and store user credentials
git credential <fill|approve|reject>
Git has an internal interface for storing and retrieving credentials from system-specific helpers, as well as prompting the user for usernames and passwords. The git-credential command exposes this interface to scripts which may want to retrieve, store, or prompt for credentials in the same manner as Git. The design of this scriptable interface models the internal C API; see credential.h for more background on the concepts.
git-credential takes an "action" option on the command-line (one of fill, approve, or reject) and reads a credential description on stdin (see INPUT/OUTPUT FORMAT).
If the action is fill, git-credential will attempt to add "username" and "password" attributes to the description by reading config files, by contacting any configured credential helpers, or by prompting the user. The username and password attributes of the credential description are then printed to stdout together with the attributes already provided.
If the action is approve, git-credential will send the description to any configured credential helpers, which may store the credential for later use.
If the action is reject, git-credential will send the description to any configured credential helpers, which may erase any stored credential matching the description.
If the action is approve or reject, no output should be emitted.
An application using git-credential will typically use git credential following these steps:
1. Generate a credential description based on the context.
For example, if we want a password for https://example.com/foo.git, we might generate the following credential description (don’t forget the blank line at the end; it tells git credential that the application finished feeding all the information it has):
protocol=https host=example.com path=foo.git
2. Ask git-credential to give us a username and password for this description. This is done by running git credential fill, feeding the description from step (1) to its standard input. The complete credential description (including the credential per se, i.e. the login and password) will be produced on standard output, like:
protocol=https host=example.com username=bob password=secr3t
In most cases, this means the attributes given in the input will be repeated in the output, but Git may also modify the credential description, for example by removing the path attribute when the protocol is HTTP(s) and credential.useHttpPath is false.
If the git credential knew about the password, this step may not have involved the user actually typing this password (the user may have typed a password to unlock the keychain instead, or no user interaction was done if the keychain was already unlocked) before it returned password=secr3t.
3. Use the credential (e.g., access the URL with the username and password from step (2)), and see if it’s accepted.
4. Report on the success or failure of the password. If the credential allowed the operation to complete successfully, then it can be marked with an "approve" action to tell git credential to reuse it in its next invocation. If the credential was rejected during the operation, use the "reject" action so that git credential will ask for a new password in its next invocation. In either case, git credential should be fed with the credential description obtained from step (2) (which also contain the ones provided in step (1)).
INPUT/OUTPUT FORMAT git credential reads and/or writes (depending on the action used) credential information in its standard input/output. This information can correspond either to keys for which git credential will obtain the login information (e.g. host, protocol, path), or to the actual credential data to be obtained (username/password).
The credential is split into a set of named attributes, with one attribute per line. Each attribute is specified by a key-value pair, separated by an = (equals) sign, followed by a newline.
The key may contain any bytes except =, newline, or NUL. The value may contain any bytes except newline or NUL.
In both cases, all bytes are treated as-is (i.e., there is no quoting, and one cannot transmit a value with newline or NUL in it). The list of attributes is terminated by a blank line or end-of-file.
Git understands the following attributes:
protocol The protocol over which the credential will be used (e.g., https).
host The remote hostname for a network credential. This includes the port number if one was specified (e.g., "example.com:8088").
path The path with which the credential will be used. E.g., for accessing a remote https repository, this will be the repository’s path on the server.
username The credential’s username, if we already have one (e.g., from a URL, the configuration, the user, or from a previously run helper).
password The credential’s password, if we are asking it to be stored.
url When this special attribute is read by git credential, the value is parsed as a URL and treated as if its constituent parts were read (e.g., url=https://example.com would behave as if protocol=https and host=example.com had been provided). This can help callers avoid parsing URLs themselves.
Note that specifying a protocol is mandatory and if the URL doesn’t specify a hostname (e.g., "cert:///path/to/file") the credential will contain a hostname attribute whose value is an empty string.
Components which are missing from the URL (e.g., there is no username in the example above) will be left unset.
DDRESCUE(1)                       User Commands                      DDRESCUE(1)
ddrescue - data recovery tool
ddrescue [options] infile outfile [mapfile]
GNU ddrescue is a data recovery tool. It copies data from one file or block device (hard disc, cdrom, etc) to another, trying to rescue the good parts first in case of read errors.
Always use a mapfile unless you know you won't need it. Without a mapfile, ddrescue can't resume a rescue, only reinitiate it. Be careful to not specify by mistake an old mapfile from an unrelated rescue.
NOTE: In versions of ddrescue prior to 1.20 the mapfile was called 'logfile'. The format is the same; only the name has changed.
If you reboot, check the device names before restarting ddrescue.  Don't use options '-F' or '-G' without reading the manual first.
-a, --min-read-rate=<bytes> minimum read rate of good areas in bytes/s
-A, --try-again mark non-trimmed, non-scraped as non-tried
-b, --sector-size=<bytes> sector size of input device [default 512]
-B, --binary-prefixes show binary multipliers in numbers [SI]
-c, --cluster-size=<sectors> sectors to copy at a time [128]
-C, --complete-only don't read new data beyond mapfile limits
-d, --idirect use direct disc access for input file
-D, --odirect use direct disc access for output file
-e, --max-bad-areas=[+]<n> maximum number of [new] bad areas allowed
-E, --max-error-rate=<bytes> maximum allowed rate of read errors per second
-f, --force overwrite output device or partition
-F, --fill-mode=<types> fill blocks of given types with data (?*/-+l)
-G, --generate-mode generate approximate mapfile from partial copy
-H, --test-mode=<file> set map of good/bad blocks from given mapfile
-i, --input-position=<bytes> starting position of domain in input file [0]
-I, --verify-input-size verify input file size with size in mapfile
-J, --verify-on-error reread latest good sector after every error
-K, --skip-size=[<i>][,<max>] initial,maximum size to skip on read error
-L, --loose-domain accept an incomplete domain mapfile
-m, --domain-mapfile=<file> restrict domain to finished blocks in <file>
-M, --retrim mark all failed blocks as non-trimmed
-n, --no-scrape skip the scraping phase
-N, --no-trim skip the trimming phase
-o, --output-position=<bytes> starting position in output file [ipos]
-O, --reopen-on-error reopen input file after every read error
-p, --preallocate preallocate space on disc for output file
-P, --data-preview[=<lines>] show some lines of the latest data read [3]
-q, --quiet suppress all messages
-r, --retry-passes=<n> exit after <n> retry passes (-1=infinity) [0]
-R, --reverse reverse the direction of all passes
-s, --size=<bytes> maximum size of input data to be copied
-S, --sparse use sparse writes for output file
-t, --truncate truncate output file to zero size
-T, --timeout=<interval> maximum time since last successful read
-u, --unidirectional run all passes in the same direction
-v, --verbose be verbose (a 2nd -v gives more)
-w, --ignore-write-errors make fill mode ignore write errors
-x, --extend-outfile=<bytes> extend outfile size to be at least this long
-X, --max-read-errors=<n> maximum number of read errors allowed
-y, --synchronous use synchronous writes for output file
-Z, --max-read-rate=<bytes> maximum read rate in bytes/s
--ask  ask for confirmation before starting the copy
--command-mode execute commands from standard input
--cpass=<n>[,<n>] select what copying pass(es) to run
--delay-slow=<interval> initial delay before checking slow reads [30]
--log-events=<file> log significant events in <file>
--log-rates=<file> log rates and error sizes in <file>
--log-reads=<file> log all read operations in <file>
--mapfile-interval=[i][,i] save/sync mapfile at given interval [auto]
--max-slow-reads=<n> maximum number of slow reads allowed
--pause-on-error=<interval> time to wait after each read error [0]
--pause-on-pass=<interval> time to wait between passes [0]
--reset-slow reset slow reads if rate rises above min
--same-file allow infile and outfile to be the same file
Numbers may be in decimal, hexadecimal, or octal, and may be followed by a multiplier: s = sectors, k = 1000, Ki = 1024, M = 10^6, Mi = 2^20, etc...  Time intervals have the format 1[.5][smhd] or 1/2[smhd].
Exit status: 0 for a normal exit, 1 for environmental problems (file not found, invalid flags, I/O errors, etc), 2 to indicate a corrupt or invalid input file, 3 for an internal consistency error (eg, bug) which caused ddrescue to panic.
Report bugs to bug-ddrescue@gnu.org Ddrescue home page: http://www.gnu.org/software/ddrescue/ddrescue.html General help using GNU software: http://www.gnu.org/gethelp
Copyright Â© 2020 Antonio Diaz Diaz.  License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.
The full documentation for ddrescue is maintained as a Texinfo manual. If the info and ddrescue programs are properly installed at your site, the command
info ddrescue
MP4Box(1)                             GPAC                             MP4Box(1)
MP4Box - GPAC command-line media packager
MP4Box [options] [file] [options]
General Options MP4Box is a multimedia packager, with a vast number of functionalities: conversion, splitting, hinting, dumping, DASH-ing, encryption and others. MP4Box provides a large set of options, classified by categories (see .I -h). These options do not follow any particular ordering. MP4Box performs in-place rewrite of IsoMedia files (the input file is overwritten). You can change this behaviour by using the .I out option. MP4Box stores by default the file with 0.5 second interleaving and meta- data (moov...) at the beginning, making it suitable for HTTP streaming. This may however takes longer to store the file, use .I flat to change this behaviour. MP4Box usually generates a temporary file when creating a new IsoMedia file. The location of this temporary file is OS-dependent, and it may happen that the drive/partition the temporary file is created on has not enough space or no write access. In such a case, you can specify a temporary file location with .I tmp. Note: Track operations identify tracks through their ID (usually refered as tkID in the help), not their order. Option values: Unless specified otherwise, an option of type integer expects a trackID value following it.An option of type boolean expects no following value.
File Splitting and Concatenation MP4Box can split IsoMedia files by size, duration or extract a given part of the file to new IsoMedia file(s). This process requires that at most one track in the input file has non random-access points (typically one video track at most). This process will also ignore all MPEG-4 Systems tracks and hint tracks, but will try to split private media tracks. Note: The input file must have enough random access points in order to be split. This may not be the case with some video files where only the very first sample of the video track is a key frame (many 3GP files with H263 video are recorded that way). In order to split such files you will have to use a real video editor and re-encode the content. Note: You can add media to a file and split it in the same pass. In this case, the destination file (the one which would be obtained without spliting) will not be stored.
-mem-track enable memory tracker
-mem-track-stack enable memory tracker with stack dumping
-p use indicated profile for the global GPAC config. If not found, config file is created. If a file path is indicated, this will load profile from that file. Otherwise, this will create a directory of the specified name and store new config there. Reserved name 0 means a new profile, not stored to disk. Works using -p=NAME or -p NAME
-inter (number, default: 0.5) interleave file, producing track chunks with given duration in ms. A value of 0 disables interleaving
-old-inter (number) same as .I inter but wihout drift correction
-tight (number) tight interleaving (sample based) of the file. This reduces disk seek operations but increases file size
-flat store file with all media data first, non-interleaved. This speeds up writing time when creating new files
-frag (number) fragment file, producing track fragments of given duration in ms. This disables interleaving
-out (string) specify output file name. By default input file is overwritten
-tmp (string) specify directory for temporary file creation
-co64 force usage of 64-bit chunk offsets for ISOBMF files
-new force creation of a new destination file
-newfs force creation of a new destination file without temp file but interleaving support
-no-sys remove all MPEG-4 Systems info except IOD, kept for profiles. This is the default when creating regular AV content
-no-iod remove MPEG-4 InitialObjectDescriptor from file
-mfra insert movie fragment random offset when fragmenting file (ignored in dash mode)
-isma rewrite the file as an ISMA 1.0 file
-ismax same as .I isma and remove all clock references
-3gp rewrite as 3GPP(2) file (no more MPEG-4 Systems Info), always enabled if destination file extension is .3gp, .3g2 or .3gpp. Some tracks may be removed in the process
-ipod rewrite the file for iPod/old iTunes
-psp rewrite the file for PSP devices
-brand (string) set major brand of file (ABCD) or brand with optional version (ABCD:v)
-ab (string) add given brand to file's alternate brand list
-rb (string) remove given brand to file's alternate brand list
-cprt (string) add copyright string to file
-chap (string) set chapter information from given file
-chapqt (string) set chapter information from given file, using QT signaling for text tracks
-set-track-id id1:id2 (string) change id of track with id1 to id2
-swap-track-id id1:id2 (string) swap the id between tracks with id1 to id2
-rem (int) remove given track from file
-rap (int) remove all non-RAP samples from given track
-refonly (int) remove all non-reference pictures from given track
-enable (int) enable given track
-disable (int) disable given track
-timescale (int, default: 600) set movie timescale to given value (ticks per second)
-lang [tkID=]LAN (string) set language. LAN is the BCP-47 code (eng, en-UK, ...). If no track ID is given, sets language to all tracks
-delay tkID=TIME (string) set track start delay in ms
-par tkID=PAR (string) set visual track pixel aspect ratio. PAR is: * N:D: set PAR to N:D in track, do not modify the bitstream * wN:D: set PAR to N:D in track and try to modify the bitstream * none: remove PAR info from track, do not modify the bitstream * auto: retrieve PAR info from bitstream and set it in track * force: force 1:1 PAR in track, do not modify the bitstream
-clap tkID=CLAP (string) set visual track clean aperture. CLAP is Wn,Wd,Hn,Hd,HOn,HOd,VOn,VOd or none * n, d: numerator, denominator * W, H, HO, VO: clap width, clap height, clap horizontal offset, clap vertical offset
-mx tkID=MX (string) set track matrix, with MX is M1:M2:M3:M4:M5:M6:M7:M8:M9 in 16.16 fixed point intergers or hexa
-name tkID=NAME (string) set track handler name to NAME (UTF-8 string)
-itags tag1[:tag2] (string) set iTunes tags to file, see .I tag-list
-tag-list print the set of supported iTunes tags
-split (string) split in files of given max duration
-split-size,-splits (string) split in files of given max size (in kb)
-split-rap,-splitr (string) split in files at each new RAP
-split-chunk,-splitx VAL (string) extract a new file from source. VAL can be formated as: * `S:E`: S (number of seconds) to E with E a number (in seconds), end or end-N, N  number of seconds before the end * `S-E`: start and end dates, each formatted as HH:MM:SS.ms or MM:SS.ms
-splitz S:E (string) same as -split-chunk, but adjust the end time to be before the last RAP sample
-group-add (string) create a new grouping information in the file. Format is a colon- separated list of following options: * refTrack=ID: ID of the track used as a group reference. If not set, the track will belong to the same group as the previous trackID specified. If 0 or no previous track specified, a new alternate group will be created * switchID=ID: ID of the switch group to create. If 0, a new ID will be computed for you. If <0, disables SwitchGroup * criteria=string: list of space-separated 4CCs * trackID=ID: ID of the track to add to this group
Warning: Options modify state as they are parsed, trackID=1:criteria=lang:trackID=2 is different from criteria=lang:trackID=1:trackID=2
-group-rem-track (int) remove given track from its group
-group-rem (int) remove the track's group
-group-clean remove all group information from all tracks
-ref id:XXXX:refID (string) add a reference of type 4CC from track ID to track refID
-keep-utc keep UTC timing in the file after edit
-udta tkID:[OPTS] (string) set udta for given track or movie if tkID is 0. OPTS is a colon separated list of: * type=CODE: 4CC code of the UDTA (not needed for box= option) * box=FILE: location of the udta data, formatted as serialized boxes * box=base64,DATA: base64 encoded udta data, formatted as serialized boxes * src=FILE: location of the udta data (will be stored in a single box of type CODE) * src=base64,DATA: base64 encoded udta data (will be stored in a single box of type CODE) Note: If no source is set, UDTA of type CODE will be removed
-patch [tkID=]FILE (string) apply box patch described in FILE, for given trackID if set
-bo freeze the order of boxes in input file
-init-seg (string) use the given file as an init segment for dumping or for encryption
-zmov compress movie box according to ISOBMFF box compression
Extracting Options MP4Box can be used to extract media tracks from MP4 files. If you need to convert these tracks however, please check the filters doc.
-raw (string) extract given track in raw format when supported. Use tkID:output=FileName to set output file name
-raws (string) extract each sample of the given track to a file. Use tkID:Nto extract the Nth sample
-nhnt (int) extract given track to NHNT format
-nhml (string) extract given track to NHML format. Use tkID:full for full NHML dump with all packet properties
-webvtt-raw (string) extract given track as raw media in WebVTT as metadata. Use tkID:embedded to include media data in the WebVTT file
-single (int) extract given track to a new mp4 file
-six (int) extract given track as raw media in experimental XML streaming instructions
-avi (int) extract given track to an avi file
-avi (int) same as .I raw but defaults to QCP file for EVRC/SMV
-aviraw (string, values: video|audio) extract AVI track in raw format; parameter can be video, audioor audioN
-saf remux file to SAF multiplex
-dvbhdemux demux DVB-H file into IP Datagrams sent on the network
-raw-layer (int) same as .I raw but skips SVC/MVC/LHVC extractors when extracting
-diod extract file IOD in raw format
DASH Options Also see: - the dasher `gpac -h dash` filter documentation - [[online DASH Intro doc|DASH Introduction]].
Specifying input files Input media files to dash can use the following modifiers * #trackID=N: only use the track ID N from the source file * #N: only use the track ID N from the source file (mapped to .I -tkid) * #video: only use the first video track from the source file * #audio: only use the first audio track from the source file * :id=NAME: set the representation ID to NAME. Reserved value NULL disables representation ID for multiplexed inputs * :dur=VALUE: process VALUE seconds from the media. If VALUE is longer than media duration, last sample duration is extended. * :period=NAME: set the representation's period to NAME. Multiple periods may be used. Periods appear in the MPD in the same order as specified with this option * :BaseURL=NAME: set the BaseURL. Set multiple times for multiple BaseURLs Warning: This does not modify generated files location (see segment template). * :bandwidth=VALUE: set the representation's bandwidth to a given value * :pdur=VALUE: increase the duration of this period by the given duration in seconds (alias for period_duration:VALUE). This is only used when no input media is specified (remote period insertion), eg :period=X:xlink=Z:pdur=Y * :duration=VALUE: override target DASH segment duration for this input * :xlink=VALUE: set the xlink value for the period containing this element. Only the xlink declared on the first rep of a period will be used * :asID=VALUE: set the AdaptationSet ID to NAME * :role=VALUE: set the role of this representation (cf DASH spec). Media with different roles belong to different adaptation sets. * :desc_p=VALUE: add a descriptor at the Period level. Value must be a properly formatted XML element. * :desc_as=VALUE: add a descriptor at the AdaptationSet level. Value must be a properly formatted XML element. Two input files with different values will be in different AdaptationSet elements. * :desc_as_c=VALUE: add a descriptor at the AdaptationSet level. Value must be a properly formatted XML element. Value is ignored while creating AdaptationSet elements. * :desc_rep=VALUE: add a descriptor at the Representation level. Value must be a properly formatted XML element. Value is ignored while creating AdaptationSet elements. * :sscale: force movie timescale to match media timescale of the first track in the segment. * :trackID=N: only use the track ID N from the source file * @@f1[:args][@@fN:args]: set a filter chain to insert between the source and the dasher. Each filter in the chain is formatted as a regular filter, see filter doc `gpac -h doc`. If several filters are set, they will be chained in the given order.
Note: @@f must be placed after all other options.
Options -mpd (string) convert given HLS or smooth manifest (local or remote http) to MPD. Warning: This is not compatible with other DASH options and does not convert associated segments
-dash,--dash-strict (number) create DASH from input files with given segment (subsegment for onDemand profile) duration in ms
-dash-live (number) generate a live DASH session using the given segment duration in ms; using -dash-live=Fwill also write the live context to F. MP4Box will run the live session until q is pressed or a fatal error occurs
-ddbg-live (number) same as .I dash-live without time regulation for debug purposes
-frag (number) specify the fragment duration in ms. If not set, this is the DASH duration (one fragment per segment)
-out (string) specify the output MPD file name
-profile (string, values: onDemand|live|main|simple|full|hbbtv1.5:live|dashavc264:live|dashavc264:onDemand) specify the target DASH profile, and set default options to ensure conformance to the desired profile. Default profile is full in static mode, live in dynamic mode
-profile-ext (string) specify a list of profile extensions, as used by DASH-IF and DVB. The string will be colon-concatenated with the profile used
-rap ensure that segments begin with random access points, segment durations might vary depending on the source encoding
-frag-rap ensure that all fragments begin with random access points (duration might vary depending on the source encoding)
-segment-name (string) set the segment name for generated segments. If not set (default), segments are concatenated in output file except in live profile where dash_%%s. Supported replacement strings are: - $Number[%%0Nd]$ is replaced by the segment number, possibly prefixed with 0 - $RepresentationID$ is replaced by representation name - $Time$ is replaced by segment start time - $Bandwidth$ is replaced by representation bandwidth - $Init=NAME$ is replaced by NAME for init segment, ignored otherwise - $Index=NAME$ is replaced by NAME for index segments, ignored otherwise - $Path=PATH$ is replaced by PATH when creating segments, ignored otherwise - $Segment=NAME$ is replaced by NAME for media segments, ignored for init segments
-segment-ext (string, default: m4s) set the segment extension, null means no extension
-init-segment-ext (string, default: mp4) set the segment extension for init, index and bitstream switching segments, null means no extension
-segment-timeline use SegmentTimeline when generating segments
-segment-marker MARK (string) add a box of type MARK (4CC) at the end of each DASH segment
-insert-utc insert UTC clock at the beginning of each ISOBMF segment
-base-url (string) set Base url at MPD level. Can be used several times. Warning: this does not  modify generated files location
-mpd-title (string) set MPD title
-mpd-source (string) set MPD source
-mpd-info-url (string) set MPD info url
-cprt (string) add copyright string to MPD
-dash-ctx (string) store/restore DASH timing from indicated file
-dynamic use dynamic MPD type instead of static
-last-dynamic (string) same as .I dynamic but close the period (insert lmsg brand if needed and update duration)
-mpd-duration (number, default: 0) set the duration in second of a live session (if 0, you must use .I mpd-refresh)
-mpd-refresh (number) specify MPD update time in seconds
-time-shift (number) specify MPD time shift buffer depth in seconds, -1 to keep all files)
-subdur (int) specify maximum duration in ms of the input file to be dashed in LIVE or context mode. This does not change the segment duration, but stops dashing once segments produced exceeded the duration. If there is not enough samples to finish a segment, data is looped unless .I no-loop is used which triggers a period end
-run-for (int) run for given ms  the dash-live session then exits
-min-buffer (int) specify MPD min buffer time in ms
-ast-offset (int, default: 0) specify MPD AvailabilityStartTime offset in ms if positive, or availabilityTimeOffset of each representation if negative
-dash-scale (int) specify that timing for .I dash and .I frag are expressed in given timexale (units per seconds)
-mem-frags fragmentation happens in memory rather than on disk before flushing to disk
-pssh (Enum) set pssh store mode * v: initial movie * f: movie fragments * m: MPD * mv, vm: in initial movie and MPD * mf, fm: in movie fragments and MPD
-sample-groups-traf store sample group descriptions in traf (duplicated for each traf). If not set, sample group descriptions are stored in the initial movie
-mvex-after-traks store mvex box after trak boxes within the moov box. If not set, mvex is before
-sdtp-traf (Enum) use sdtp box in traf (Smooth-like) * no: do not use sdtp * sdtp: use sdtp box to indicate sample dependencies and don't write info in trun sample flags * both: use sdtp box to indicate sample dependencies and also write info in trun sample flags
-no-cache disable file cache for dash inputs
-no-loop disable looping content in live mode and uses period switch instead
-hlsc insert UTC in variant playlists for live HLS
-bound segmentation will always try to split before or at, but never after, the segment boundary
-closest segmentation will use the closest frame to the segment boundary (before or after)
-subsegs-per-sidx (int) set the number of subsegments to be written in each SIDX box * 0: a single SIDX box is used per segment * -1: no SIDX box is used
-ssix enable SubsegmentIndexBox describing 2 ranges, first one from moof to end of first I-frame, second one unmapped. This does not work with daisy chaining mode enabled
-url-template use SegmentTemplate instead of explicit sources in segments. Ignored if segments are stored in the output file
-daisy-chain use daisy-chain SIDX instead of hierarchical. Ignored if frags/sidx is 0
-single-segment use a single segment for the whole file (OnDemand profile)
-single-file use a single file for the whole file (default)
-bs-switching (string, default: inband, values: inband|merge|multi|no|single) set bitstream switching mode * inband: use inband param set and a single init segment * merge: try to merge param sets in a single sample description, fallback to no * multi: use several sample description, one per quality * no: use one init segment per quality * single: to test with single input
-moof-sn (int) set sequence number of first moof to given value
-tfdt (int) set TFDT of first traf to given value in SCALE units (cf -dash- scale)
-no-frags-default disable default fragments flags in trex (required by some dash-if profiles and CMAF/smooth streaming compatibility)
-single-traf use a single track fragment per moof (smooth streaming and derived specs may require this)
-tfdt-traf use a tfdt per track fragment (when -single-traf is used)
-dash-ts-prog (int) program_number to be considered in case of an MPTS input file
-frag-rt when using fragments in live mode, flush fragments according to their timing
-cp-location (string, values: as|reoth) set ContentProtection element location * as: sets ContentProtection in AdaptationSet element * rep: sets ContentProtection in Representation element * both: sets ContentProtection in both elements
-start-date (string) for live mode, set start date (as xs:date, eg YYYY-MM- DDTHH:MM:SSZ). Default is current UTC Warning: Do not use with multiple periods, nor when DASH duration is not a multiple of GOP size
-cues (string) ignore dash duration and segment according to cue times in given XML file (tests/media/dash_cues for examples)
-strict-cues throw error if something is wrong while parsing cues or applying cue-based segmentation
File Dumping MP4Box has many dump functionalities, from simple track listing to more complete reporting of special tracks.
-stdb dump/write to stdout and assume stdout is opened in binary mode
-stdb dump/write to stdout  and try to reopen stdout in binary mode
-tracks print the number of tracks on stdout
-info (string) print movie info (no parameter) or track info with specified ID