Commit graph

10 commits

Author SHA1 Message Date
41adf0d9f9 Revert transcode-hevc thread cap; let ffmpeg use all cores
Thread cap didn't move the thermals, so the real culprit is likely
dried-out thermal paste rather than concurrency. Reverting to the
unbounded default while the compound gets redone; running one stream
at a time is enough of a workaround in the meantime.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 12:14:46 +01:00
1fcfbedc9d Cap transcode-hevc to 8 ffmpeg threads by default
Concurrent transcodes on the 56-core mediaserver were running hot.
Limits each ffmpeg invocation to 8 threads via -threads and x265's
pools= param (libx265 ignores -threads alone). Overridable with
TRANSCODE_THREADS env var.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 12:04:13 +01:00
7d50716bc6 Show total storage savings in transcode-hevc --status
Parse every Saved: entry in the log to compute cumulative original
size, new size, bytes saved, and percentage reduction so we have a
single command for the transcode impact.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 19:56:46 +01:00
3c6e86aca9 Clean up leftover temp files on transcode-hevc startup
Removes any .transcode-* files left behind by interrupted runs
before starting the encoding loop.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 22:55:53 +01:00
7ef39af81b Fix transcode-hevc hanging on files with attached pictures
Map only the first video stream, all audio, and all subtitles instead
of mapping everything. This avoids feeding cover art images through
the libx265 encoder which caused hangs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 21:00:59 +01:00
5f31149565 Skip actively seeded files in transcode-hevc via qBittorrent API
Queries qBittorrent for individual file sizes of all active torrents.
Files whose size matches a seeded torrent file are skipped, catching
cross-filesystem copies where hardlink detection doesn't work.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 19:31:37 +01:00
c8c7606eb7 Skip hardlinked files in transcode-hevc to avoid breaking seed links
Files with multiple hardlinks are likely linked from downloads/ where
they are still being seeded. Transcoding would break the hardlink and
cause both copies to take up disk space separately.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 19:22:24 +01:00
f431d1a5b0 Always output MKV in transcode-hevc to avoid container codec issues
MP4 containers don't support all subtitle/codec combinations with HEVC.
MKV handles everything, so always output .mkv and remove the original
if it was a different format.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 19:20:02 +01:00
603ac86f0a Skip downloads directories in transcode-hevc
Files in downloads/ are still being seeded and must not be altered.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 10:27:48 +01:00
7fe1ccb8a7 Add transcode-hevc script for bulk H.264 to HEVC conversion
Resumable batch script that finds H.264 files, re-encodes to HEVC
(libx265 CRF 24), verifies duration, and replaces originals.
Tracks completed files in /var/lib/transcode-hevc/completed.log.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 10:25:36 +01:00