This is an automated email from the ASF dual-hosted git repository.
tballison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/main by this push:
new 07ab61b1a5 add ffmpeg to tika-server full (#3202)
07ab61b1a5 is described below
commit 07ab61b1a5b38e84b23eade31b9a80e03010f796
Author: Tim Allison <[email protected]>
AuthorDate: Fri Sep 18 16:03:45 2026 -0400
add ffmpeg to tika-server full (#3202)
---
CHANGES.txt | 2 ++
docs/modules/ROOT/pages/configuration/inference.adoc | 3 ++-
docs/modules/ROOT/pages/maintainers/release-guides/docker.adoc | 2 +-
docs/modules/ROOT/pages/using-tika/docker.adoc | 8 +++++---
tika-server/docker-build/full/Dockerfile | 1 +
5 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/CHANGES.txt b/CHANGES.txt
index 8650c09085..8c5b58bb7d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
Release 4.1.0 - unreleased
+ * Add ffmpeg to tika-server's "full" Docker image (TIKA-4910).
+
* Enable environment variable interpolation in tika-config.json (TIKA-4909).
* Fix a cache-budget leak: tar, 7z and streamed zip entries never released
diff --git a/docs/modules/ROOT/pages/configuration/inference.adoc
b/docs/modules/ROOT/pages/configuration/inference.adoc
index f3c3e66a3b..8bc792c5d4 100644
--- a/docs/modules/ROOT/pages/configuration/inference.adoc
+++ b/docs/modules/ROOT/pages/configuration/inference.adoc
@@ -378,7 +378,8 @@ is reported once as the binding's warning and the next file
runs.
ffmpeg and ffprobe are looked up on the `PATH` once, at config load: a MEDIA
binding without
them logs one warning and stands by, and each audio or video document is then
skipped with a
-warning in its metadata rather than failed, the way OCR behaves without
tesseract.
+warning in its metadata rather than failed, the way OCR behaves without
tesseract. The
+`apache/tika:<version>-full` image ships them; the minimal and grpc images do
not.
ffmpeg runs under the parse's time budget: each probe and cut asks for its own
cap (60 s and
5 min) and gets the smaller of that and what remains of the request's total
timeout, with
diff --git a/docs/modules/ROOT/pages/maintainers/release-guides/docker.adoc
b/docs/modules/ROOT/pages/maintainers/release-guides/docker.adoc
index af2e3aad06..5123be81dd 100644
--- a/docs/modules/ROOT/pages/maintainers/release-guides/docker.adoc
+++ b/docs/modules/ROOT/pages/maintainers/release-guides/docker.adoc
@@ -42,7 +42,7 @@ Apache Tika server with base dependencies (Java + the unpacked
`tika-server-standard-<v>.zip`).
full::
-Adds Tesseract OCR, GDAL, ImageMagick, and Microsoft fonts.
+Adds Tesseract OCR, GDAL, ImageMagick, ffmpeg, and Microsoft fonts.
`apache/tika-grpc`::
The gRPC server packaged with parser-package jars and pipes plugin zips.
diff --git a/docs/modules/ROOT/pages/using-tika/docker.adoc
b/docs/modules/ROOT/pages/using-tika/docker.adoc
index 67034cf092..efb07e6162 100644
--- a/docs/modules/ROOT/pages/using-tika/docker.adoc
+++ b/docs/modules/ROOT/pages/using-tika/docker.adoc
@@ -44,14 +44,16 @@ external.
|`apache/tika:<version>-full`
|Adds the external tools some parsers shell out to: Tesseract OCR (with `eng`,
`ita`, `fra`,
-`spa`, `deu`, `jpn` language packs), GDAL, ImageMagick, and the Liberation /
FreeFont /
-msttcorefonts font sets. Considerably larger.
+`spa`, `deu`, `jpn` language packs), GDAL, ImageMagick, ffmpeg (for the audio
and video
+segments of a MEDIA inference binding), and the Liberation / FreeFont /
msttcorefonts font
+sets. Considerably larger.
|`apache/tika-grpc:<version>`
|gRPC server on port 9090, with OCR, GDAL and fonts included.
|===
-Take `-full` if you OCR scanned documents or parse geospatial rasters;
otherwise take minimal.
+Take `-full` if you OCR scanned documents, parse geospatial rasters, or embed
audio and video
+with a xref:configuration/inference.adoc#media[MEDIA inference binding];
otherwise take minimal.
Tags come in three forms: `<version>` rolls forward if the image is rebuilt
for the same Tika
release, `<version>-<N>` is immutable and is what to pin in production, and
`latest` tracks the
diff --git a/tika-server/docker-build/full/Dockerfile
b/tika-server/docker-build/full/Dockerfile
index 8aee0e743e..caff173fc4 100644
--- a/tika-server/docker-build/full/Dockerfile
+++ b/tika-server/docker-build/full/Dockerfile
@@ -59,6 +59,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get install --yes
--no-install-recommends $JRE \
gdal-bin \
imagemagick \
+ ffmpeg \
tesseract-ocr \
$(printf 'tesseract-ocr-%s ' $LANGUAGES) \
&& echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula
select true | debconf-set-selections \