summaryrefslogtreecommitdiffstats
path: root/system/mediaextract
diff options
context:
space:
mode:
Diffstat (limited to 'system/mediaextract')
-rw-r--r--system/mediaextract/README12
-rw-r--r--system/mediaextract/mediaextract.134
-rw-r--r--system/mediaextract/mediaextract.SlackBuild17
-rw-r--r--system/mediaextract/mediaextract.info6
-rw-r--r--system/mediaextract/mediaextract.rst31
5 files changed, 60 insertions, 40 deletions
diff --git a/system/mediaextract/README b/system/mediaextract/README
index 964261c7a4..0452c5a624 100644
--- a/system/mediaextract/README
+++ b/system/mediaextract/README
@@ -1,8 +1,8 @@
mediaextract (extract media files that are embedded in other files)
-mediaextract extracts known media types such as RIFF, Ogg, etc,
-from various 'resource' or 'archive' format files. files. It works
-by looking for 'magic' byte sequences (like the file(1) command
-does). A typical use case would be extracting resources from a
-game. mediaextract does not support compression (zip/rar/7z/etc), so
-uncompress the file first, if necessary.
+mediaextract extracts known media types such as RIFF, Ogg, etc, from
+various 'resource' or 'archive' format files. It works by looking for
+'magic' byte sequences (like the file(1) command does). A typical use
+case would be extracting resources from a game. mediaextract does not
+support compression (zip/rar/7z/etc), so uncompress the file first,
+if necessary.
diff --git a/system/mediaextract/mediaextract.1 b/system/mediaextract/mediaextract.1
index 6b73a5a325..c3cab91cf7 100644
--- a/system/mediaextract/mediaextract.1
+++ b/system/mediaextract/mediaextract.1
@@ -27,15 +27,13 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" 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"
+.TH "MEDIAEXTRACT" 1 "2024-08-13" "1.2.0" "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 ...]
@@ -53,6 +51,9 @@ uncompress the file first, if necessary.
.B \-h\fP,\fB \-\-help
Print this help message.
.TP
+.B \-v\fP,\fB \-\-version
+Print program version.
+.TP
.B \-q\fP,\fB \-\-quiet
Do not print status messages.
.TP
@@ -133,16 +134,16 @@ Comma separated list of formats (file magics) to extract.
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)
+the default set of formats (AIFF, ASF, AU, AVIF, BINK, BMP, GIF, HEIF, 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
+.B text \fI[1]\fP
all text files (ASCII, UTF\-8, UTF\-16LE, UTF\-16BE, UTF\-32LE, UTF\-32BE)
.TP
.B image
-all image files (BMP, PNG, JPEG, GIF)
+all image files (BMP, PNG, JPEG, GIF, AVIF, HEIF)
.TP
.B mpeg
all safe mpeg files (MPEG 1, MPEG PS, ID3v2)
@@ -153,6 +154,9 @@ all tracker files (MOD, S3M, IT, XM)
.B video
all video files (ASF, BINK, MP4, RIFF, SMK)
.TP
+.B avif
+AVIF image files
+.TP
.B aiff
big\-endian (Apple) wave files
.TP
@@ -174,6 +178,9 @@ Windows Bitmap files
.B gif
Graphics Interchange Format files
.TP
+.B heif
+HEIF images files
+.TP
.B id3v2
MPEG layer 1/2/3 files with ID3v2 tags
.TP
@@ -186,10 +193,10 @@ JPEG Interchange Format files
.B midi
MIDI files
.TP
-.B mod \fI[1]\fP
+.B mod \fI[2]\fP
Noisetracker/Soundtracker/Protracker Module files
.TP
-.B mpg123 \fI[1]\fP \fI[2]\fP
+.B mpg123 \fI[2]\fP \fI[3]\fP
MPEG layer 1/2/3 files (MP1, MP2, MP3)
.TP
.B mpeg1
@@ -198,7 +205,7 @@ MPEG 1 System Streams
.B mpegps
MPEG 2 Program Streams
.TP
-.B mpegts \fI[1]\fP
+.B mpegts \fI[2]\fP
MPEG 2 Transport Streams
.TP
.B mp4
@@ -257,7 +264,10 @@ mediaextract \-\-formats=all,\-tracker data.bin
.UNINDENT
.UNINDENT
.sp
-\fI[1]\fP WARNING: Because MP1/2/3 files do not have a nice file magic, using
+\fI[1]\fP NOTE: \(aqtext\(aq format might detect too much bogus text in UTF\-16 or
+UTF\-32 encodings. I recommend to use \(aqutf\-8\(aq or \(aqascii\(aq instead, if you can.
+.sp
+\fI[2]\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.
@@ -266,7 +276,7 @@ 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
+\fI[3]\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
@@ -317,7 +327,7 @@ mediaextract \-f id3v2,mpg123 \-\-min\-size=100k \-o ~/Music data.bin
.UNINDENT
.SH COPYRIGHT
.sp
-See the file /usr/doc/mediaextract\-1.1.1/LICENSE.txt for license information.
+See the file /usr/doc/mediaextract\-1.2.0/LICENSE.txt for license information.
.SH AUTHOR
.sp
mediaextract was written by Mathias Panzenböck.
diff --git a/system/mediaextract/mediaextract.SlackBuild b/system/mediaextract/mediaextract.SlackBuild
index d64d96b8a9..034b4479d4 100644
--- a/system/mediaextract/mediaextract.SlackBuild
+++ b/system/mediaextract/mediaextract.SlackBuild
@@ -6,10 +6,12 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20240813 bkw: updated for v1.2.0.
+
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=mediaextract
-VERSION=${VERSION:-1.1.1}
+VERSION=${VERSION:-1.2.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -33,16 +35,12 @@ OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
fi
set -e
@@ -51,7 +49,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-v$VERSION
-unzip $CWD/$PRGNAM-v$VERSION.zip -x '*/build-*/*'
+unzip $CWD/$PRGNAM-v$VERSION.zip -x '*/*/mediaextract' '*/*/*.exe'
cd $PRGNAM-v$VERSION
chown -R root:root .
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
@@ -64,10 +62,10 @@ find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
# was 9. The patch just hardcodes it to 9 and gets rid of the nested
# macro calls. This should be revisited when/if there's a new
# version of mediaextract.
+# 20240813 bkw: still 9, in v1.2.0.
patch -p1 < $CWD/compilefix.diff
cd source
-mkdir -p build-linux32 build-linux64
# The last -e here stops it building the man page. Do this because
# we have our own (better-formatted) man page, and also to fix
@@ -78,11 +76,12 @@ sed -i \
-e "/all:/s, [^ ]*MANPAGE.*$,," \
Makefile
-make
+make builddir BUILD_TYPE=release # need this first to fix parallel builds.
+make BUILD_TYPE=release
# upstream's install target is weird and inflexible.
mkdir -p $PKG/usr/bin $PKG/usr/man/man1 $PKG/usr/doc/$PRGNAM-$VERSION
-install -s -m0755 build-linux*/$PRGNAM $PKG/usr/bin
+install -s -m0755 build/linux*/release/$PRGNAM $PKG/usr/bin
install -m0644 LICENSE.txt ../README* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/mediaextract/mediaextract.info b/system/mediaextract/mediaextract.info
index 7a00f922f5..c35edc40e6 100644
--- a/system/mediaextract/mediaextract.info
+++ b/system/mediaextract/mediaextract.info
@@ -1,8 +1,8 @@
PRGNAM="mediaextract"
-VERSION="1.1.1"
+VERSION="1.2.0"
HOMEPAGE="https://github.com/panzi/mediaextract"
-DOWNLOAD="https://github.com/panzi/mediaextract/releases/download/v1.1.1/mediaextract-v1.1.1.zip"
-MD5SUM="eb24172ca19e141090cbd7330abc55da"
+DOWNLOAD="https://github.com/panzi/mediaextract/releases/download/v1.2.0/mediaextract-v1.2.0.zip"
+MD5SUM="124bdbbd2e7835e83b0b0684bf35637c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/mediaextract/mediaextract.rst b/system/mediaextract/mediaextract.rst
index 819354fbd6..a10dd5b4ee 100644
--- a/system/mediaextract/mediaextract.rst
+++ b/system/mediaextract/mediaextract.rst
@@ -1,8 +1,7 @@
.. RST source for mediaextract(1) man page. Convert with:
.. rst2man.py mediaextract.rst > mediaextract.1
-.. rst2man.py comes from the SBo development/docutils package.
-.. |version| replace:: 1.1.1
+.. |version| replace:: 1.2.0
.. |date| date::
============
@@ -39,6 +38,9 @@ OPTIONS
-h, --help
Print this help message.
+-v, --version
+ Print program version.
+
-q, --quiet
Do not print status messages.
@@ -95,16 +97,16 @@ OPTIONS
all supported formats
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)
+ the default set of formats (AIFF, ASF, AU, AVIF, BINK, BMP, GIF, HEIF, ID3v2, IT, JPEG, MPEG 1, MPEG PS, MIDI, MP4, Ogg, PNG, RIFF, S3M, SMK, XM, XMIDI)
audio
all audio files (AIFF, ASF, AU, ID3v2, IT, MIDI, MP4, Ogg, RIFF, S3M, XM, XMIDI)
- text
+ text *[1]*
all text files (ASCII, UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE)
image
- all image files (BMP, PNG, JPEG, GIF)
+ all image files (BMP, PNG, JPEG, GIF, AVIF, HEIF)
mpeg
all safe mpeg files (MPEG 1, MPEG PS, ID3v2)
@@ -115,6 +117,9 @@ OPTIONS
video
all video files (ASF, BINK, MP4, RIFF, SMK)
+ avif
+ AVIF image files
+
aiff
big-endian (Apple) wave files
@@ -136,6 +141,9 @@ OPTIONS
gif
Graphics Interchange Format files
+ heif
+ HEIF images files
+
id3v2
MPEG layer 1/2/3 files with ID3v2 tags
@@ -148,10 +156,10 @@ OPTIONS
midi
MIDI files
- mod *[1]*
+ mod *[2]*
Noisetracker/Soundtracker/Protracker Module files
- mpg123 *[1]* *[2]*
+ mpg123 *[2]* *[3]*
MPEG layer 1/2/3 files (MP1, MP2, MP3)
mpeg1
@@ -160,7 +168,7 @@ OPTIONS
mpegps
MPEG 2 Program Streams
- mpegts *[1]*
+ mpegts *[2]*
MPEG 2 Transport Streams
mp4
@@ -208,7 +216,10 @@ tracker files::
mediaextract --formats=all,-tracker data.bin
-*[1]* WARNING: Because MP1/2/3 files do not have a nice file magic, using
+*[1]* NOTE: 'text' format might detect too much bogus text in UTF-16 or
+UTF-32 encodings. I recommend to use 'utf-8' or 'ascii' instead, if you can.
+
+*[2]* WARNING: Because MP1/2/3 files do not have a nice file magic, using
the 'mpg123' format may cause *a lot* of false positives. Nowadays
MP3 files usually have an ID3v2 tag at the start, so using the 'id3v2'
format is the better option anyway.
@@ -217,7 +228,7 @@ The detection accuracy of MOD files is not much better and of MPEG TS
it is even worse and thus the 'mpg123', 'mpegts' and 'mod' formats are
per default disabled.
-*[2]* NOTE: When using only the 'mpg123' format but not 'id3v2', any ID3v2
+*[3]* NOTE: When using only the 'mpg123' format but not 'id3v2', any ID3v2
tag will be stripped. ID3v1 tags will still be kept.
EXAMPLES