diff options
Diffstat (limited to 'system/mediaextract/mediaextract.1')
-rw-r--r-- | system/mediaextract/mediaextract.1 | 328 |
1 files changed, 328 insertions, 0 deletions
diff --git a/system/mediaextract/mediaextract.1 b/system/mediaextract/mediaextract.1 new file mode 100644 index 0000000000..6b73a5a325 --- /dev/null +++ b/system/mediaextract/mediaextract.1 @@ -0,0 +1,328 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "MEDIAEXTRACT" 1 "2022-01-03" "1.1.1" "SlackBuilds.org" +.SH NAME +mediaextract \- extracts media files that are embedded within other files +.\" RST source for mediaextract(1) man page. Convert with: +. +.\" rst2man.py mediaextract.rst > mediaextract.1 +. +.\" rst2man.py comes from the SBo development/docutils package. +. +.SH SYNOPSIS +.sp +mediaextract [\fI\-options\fP] \fIfilename\fP [\fIfilename\fP ...] +.SH DESCRIPTION +.sp +\fBmediaextract\fP extracts known media types such as RIFF, Ogg, etc, +from various \(aqresource\(aq or \(aqarchive\(aq format files. files. It works +by looking for \(aqmagic\(aq byte sequences (like the \fBfile(1)\fP command +does). A typical use case would be extracting resources from a +game. \fBmediaextract\fP does not support compression (zip/rar/7z/etc), so +uncompress the file first, if necessary. +.SH OPTIONS +.INDENT 0.0 +.TP +.B \-h\fP,\fB \-\-help +Print this help message. +.TP +.B \-q\fP,\fB \-\-quiet +Do not print status messages. +.TP +.B \-s\fP,\fB \-\-simulate +Don\(aqt write any output files. +.TP +.BI \-o\fP,\fB \-\-output\fB= DIR +Directory where extracted files should be written. (default: ".") +.TP +.BI \-a\fP,\fB \-\-filename\fB= FORMAT +Format string for the file names. (default: "{filename}_{offset}.{ext}") +.INDENT 7.0 +.TP +.B Supported variables: +.INDENT 7.0 +.TP +.B filename +Filename of the extracted archive. +.TP +.B offset +Offset within the archive, in hexadecimal. +.TP +.B index +0\-based index of the extracted file in decimal. +.TP +.B size +Size of the extracted file in decimal. +.TP +.B ext +Extension associated with the filetype of the extracted file. +.UNINDENT +.UNINDENT +.TP +.BI \-i\fP,\fB \-\-offset\fB= OFFSET +Start processing at byte OFFSET. (default: 0) +.TP +.BI \-n\fP,\fB \-\-length\fB= LENGTH +Only process LENGTH bytes. (default and maximum: 8 EB) +.TP +.BI \-m\fP,\fB \-\-min\-size\fB= SIZE +Minumum size of extracted files (skip smaller). (default: 0) +.TP +.BI \-x\fP,\fB \-\-max\-size\fB= SIZE +Maximum size of extracted files (skip larger). Default and maximum: 16 EB. +.sp +The last character of OFFSET, LENGTH and SIZE may be one of the following: +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +B (or none) for Bytes +.IP \(bu 2 +k for Kilobytes (units of 1024 Bytes) +.IP \(bu 2 +M for Megabytes (units of 1024 Kilobytes) +.IP \(bu 2 +G for Gigabytes (units of 1024 Megabytes) +.IP \(bu 2 +T for Terabytes (units of 1024 Gigabytes) +.IP \(bu 2 +P for Petabytes (units of 1024 Terabytes) +.IP \(bu 2 +E for Exabytes (units of 1024 Petabytes) +.UNINDENT +.UNINDENT +.UNINDENT +.sp +The special value "max" selects the maximum alowed value. +.TP +.BI \-f\fP,\fB \-\-formats\fB= FORMATS +Comma separated list of formats (file magics) to extract. +.INDENT 7.0 +.TP +.B Supported formats: +.INDENT 7.0 +.TP +.B all +all supported formats +.TP +.B default +the default set of formats (AIFF, ASF, AU, BINK, BMP, GIF, ID3v2, IT, JPEG, MPEG 1, MPEG PS, MIDI, MP4, Ogg, PNG, RIFF, S3M, SMK, XM, XMIDI) +.TP +.B audio +all audio files (AIFF, ASF, AU, ID3v2, IT, MIDI, MP4, Ogg, RIFF, S3M, XM, XMIDI) +.TP +.B text +all text files (ASCII, UTF\-8, UTF\-16LE, UTF\-16BE, UTF\-32LE, UTF\-32BE) +.TP +.B image +all image files (BMP, PNG, JPEG, GIF) +.TP +.B mpeg +all safe mpeg files (MPEG 1, MPEG PS, ID3v2) +.TP +.B tracker +all tracker files (MOD, S3M, IT, XM) +.TP +.B video +all video files (ASF, BINK, MP4, RIFF, SMK) +.TP +.B aiff +big\-endian (Apple) wave files +.TP +.B ascii +7\-bit ASCII files (only printable characters) +.TP +.B asf +Advanced Systems Format files (also WMA and WMV) +.TP +.B au +Sun Microsystems audio file format (.au or .snd) +.TP +.B bink +BINK files +.TP +.B bmp +Windows Bitmap files +.TP +.B gif +Graphics Interchange Format files +.TP +.B id3v2 +MPEG layer 1/2/3 files with ID3v2 tags +.TP +.B it +ImpulseTracker files +.TP +.B jpeg +JPEG Interchange Format files +.TP +.B midi +MIDI files +.TP +.B mod \fI[1]\fP +Noisetracker/Soundtracker/Protracker Module files +.TP +.B mpg123 \fI[1]\fP \fI[2]\fP +MPEG layer 1/2/3 files (MP1, MP2, MP3) +.TP +.B mpeg1 +MPEG 1 System Streams +.TP +.B mpegps +MPEG 2 Program Streams +.TP +.B mpegts \fI[1]\fP +MPEG 2 Transport Streams +.TP +.B mp4 +MP4 files (M4A, M4V, 3GPP etc.) +.TP +.B ogg +Ogg files (Vorbis, Opus, Theora, etc.) +.TP +.B png +Portable Network Graphics files +.TP +.B riff +Resource Interchange File Format files (ANI, AVI, MMM, PAL, RDI, RMI, SGT, STY, WAV, WEBP and more) +.TP +.B s3m +ScreamTracker III files +.TP +.B smk +Smaker files +.TP +.B utf\-8 +7\-bit ASCII and UTF\-8 files (only printable code points) +.TP +.B utf\-16be +big\-endian UTF\-16 files (only printable code points) +.TP +.B utf\-16le +little\-endian UTF\-16 files (only printable code points) +.TP +.B utf\-32be +big\-endian UTF\-32 files (only printable code points) +.TP +.B utf\-32le +little\-endian UTF\-32 files (only printable code points) +.TP +.B xm +Extended Module files +.TP +.B xmidi +XMIDI files +.UNINDENT +.UNINDENT +.UNINDENT +.sp +If \(aq\-\(aq is written before a format name, that format will be removed +from the set of formats to extract. E.g. extract everything except +tracker files: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mediaextract \-\-formats=all,\-tracker data.bin +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fI[1]\fP WARNING: Because MP1/2/3 files do not have a nice file magic, using +the \(aqmpg123\(aq format may cause \fIa lot\fP of false positives. Nowadays +MP3 files usually have an ID3v2 tag at the start, so using the \(aqid3v2\(aq +format is the better option anyway. +.sp +The detection accuracy of MOD files is not much better and of MPEG TS +it is even worse and thus the \(aqmpg123\(aq, \(aqmpegts\(aq and \(aqmod\(aq formats are +per default disabled. +.sp +\fI[2]\fP NOTE: When using only the \(aqmpg123\(aq format but not \(aqid3v2\(aq, any ID3v2 +tag will be stripped. ID3v1 tags will still be kept. +.SH EXAMPLES +.sp +Extract .wav, .aif and .ogg (might actually be .ogg, .opus or .ogm) files from +the file \fBdata.bin\fP and store them in the \fB~/Music\fP directory: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mediaextract \-f riff,aiff,ogg \-o ~/Music data.bin +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This will then write files like such into \fB~/Music\fP: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +data.bin_00000000.ogg +data.bin_00FFB2E3.wav +data.bin_01F3CD45.aif +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The hexadecimal number in the written file names gives the offset where the audio +file was found, within the data file. +.sp +Extract .mp3, .mp2 and .mp1 files (with or without ID3v2 tags). The \fBmpg123\fP +option yields a lot of false positives because there is no nice way to +unambigiously detect MPEG files. These false positives are however usually very +small, so using the \fB\-\-min\-size\fP option one can hopefully extract only real MPEG +files: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mediaextract \-f id3v2,mpg123 \-\-min\-size=100k \-o ~/Music data.bin +.ft P +.fi +.UNINDENT +.UNINDENT +.SH COPYRIGHT +.sp +See the file /usr/doc/mediaextract\-1.1.1/LICENSE.txt for license information. +.SH AUTHOR +.sp +mediaextract was written by Mathias Panzenböck. +.sp +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. +.\" Generated by docutils manpage writer. +. |