Commit graph

10 commits

Author SHA1 Message Date
Michael Mayer
5242964330 FFmpeg: Fix duplicate hwupload in Vulkan transcoding command #5631
encode.FormatNV12 already ends in hwupload, so appending it again produced
"format=nv12,hwupload,hwupload", which fails because the frames are already on
the GPU. Build the filter from FormatNV12 directly to upload exactly once, and
add a gated Vulkan case to the transcode command tests.
2026-05-30 20:14:14 +00:00
Michael Mayer
c5b5362649 FFmpeg: Use PHOTOPRISM_FFMPEG_TEST_ENCODER to opt into HW tests #5630
The transcode tests gated their real hardware run on PHOTOPRISM_FFMPEG_ENCODER,
but the package init() unconditionally unset that variable, so the hardware path
never executed and an FFmpeg 8 regression like #5630 could pass unnoticed.

Switch the opt-in to a dedicated PHOTOPRISM_FFMPEG_TEST_ENCODER variable so real
VAAPI/QSV/NVENC transcodes run when enabled on a matching host, while a runtime
PHOTOPRISM_FFMPEG_ENCODER value still cannot trigger them by accident.
2026-05-30 19:02:16 +00:00
Michael Mayer
465d8e0245 FFmpeg: Fix VAAPI transcoding by setting the filter device #5630
FFmpeg 8 no longer derives a filter hardware device from "-hwaccel
vaapi" alone, so the "format=nv12,hwupload" step aborts with "A hardware
device reference is required to upload frames to." and PhotoPrism falls
back to software encoding.

Initialize a named VAAPI device and reference it for both decoding
(-hwaccel_device) and filtering (-filter_hw_device). When no device path
is configured, FFmpeg auto-detects the default render node.
2026-05-30 17:40:21 +00:00
Michael Mayer
e888b0ddb1 FFmpeg: Remove unstable "directory is unwritable" tests
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-27 11:46:27 +02:00
Michael Mayer
2e2ebab433 Videos: Improve downloading, remuxing, and transcoding #4982 #4892 #5040
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-06-09 15:31:23 +02:00
Michael Mayer
eb4fc032ff Config: Add preset, quality, and device options for FFmpeg #4969
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-27 14:36:36 +02:00
Michael Mayer
f73b703123 Videos: Increase transcoding bitrate limit default to 60 Mbps #1307
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-24 11:59:29 +02:00
Michael Mayer
a76bbba2a6 FFmpeg: Fix Intel Quick Sync Video (QSV) hardware transcoding #4382
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-28 16:31:20 +01:00
Michael Mayer
67811d87fa Videos: Create fragmented MP4s when transcoding with FFmpeg #4892
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-24 20:47:57 +01:00
Michael Mayer
e2195d535e FFmpeg: Refactor extraction of JPEG and PNG images from videos #4604
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-09 10:24:53 +01:00
Renamed from internal/ffmpeg/convert_test.go (Browse further)