aboutsummaryrefslogtreecommitdiff
path: root/transcode.sh.1 (follow)
Commit message (Collapse)AuthorAge
* chore(docs): update author email and add SPDX headersDennis Fink2026-05-08
| | | | | | | | | | | The contact address dennis.fink@c3l.lu has been replaced with me+coding@dennisfink.me across all files where it appeared: SPDX-FileCopyrightText, AUTHOR constant, --version output, README footer, LICENSE file, and the man page AUTHOR section. SPDX licence headers were also added to transcode.sh.1 and transcode.sh.bash-completion to bring all files into full REUSE compliance.
* feat(cli)!: add TOML config file supportDennis Fink2026-05-08
| | | | | | | | | | | | | | | | | | | | | | | | | Add a structured config file so common defaults can live in one place instead of being repeated in aliases or shell wrappers. CLI flags keep precedence, which keeps one-off overrides predictable. Use tomlq only when a config file is present, and fail early on missing dependencies or invalid TOML so configuration mistakes do not silently change encode behavior. Move the persistent skip-codec list from the legacy skip.conf file to [skip] codecs in config.toml. Config codecs are merged with --skip-codec so global defaults and per-run skips can be combined. Document the new format in the README and man page, update dependency notes, and extend bash completion for config-file paths and the new negative boolean flags. BREAKING CHANGE: skip.conf is no longer read for codec skips. Migrate its entries to [skip] codecs in config.toml and remove the old file. BREAKING CHANGE: --encodefile and --encodefile= are replaced by --encode-file and --encode-file=. Update scripts, aliases, and completion usage to use the hyphenated option name.
* docs: document all variables available to presetsDennis Fink2026-02-24
| | | | | | | Previously only output_pixel_format was mentioned. All three variables (input_codec, input_pixel_format, output_pixel_format) are now listed with descriptions in the script header comment, the README, and the man page.
* docs: document base ffmpeg arguments passed before preset ffargsDennis Fink2026-02-22
| | | | | | | | | | | Both the README and the man page now explain that the script always passes -map 0, -map_metadata 0, -map_chapters 0, and -c copy to ffmpeg before appending the preset's ffargs array. This context is important for preset authors, who only need to override the streams they intend to re-encode. Also fix a minor blockquote rendering issue in the README (missing blank line before the fenced code block in the PATH note).
* feat: initial release of transcode.sh v1.0.0Dennis Fink2026-02-22
Batch transcode helper for media files using ffmpeg. Encoding parameters are supplied by user-defined preset files (shell snippets that set an `ffargs` array) stored under ${XDG_CONFIG_HOME:-$HOME/.config}/transcode.sh/presets/. Key capabilities: - Probes input codec and pixel format via ffprobe; derives an output pixel format that preserves chroma subsampling and bit depth. - Per-user and per-invocation codec skip lists to leave already-encoded files untouched. - Atomic in-place replacement: encodes to a temp file in the same directory, then renames on success. - --only-if-smaller: discard the result if it is larger than the original. - --saving: append filename, original/new sizes and percentage saved to a log file after each successful encode. - --dry-run, --verbose, --quiet, --nice and --continue flags. - Respects the NO_COLOR standard. - Script hardening: strict PATH, safe IFS, errtrace, nounset, pipefail. Also included: - Man page (transcode.sh.1) - Bash completion script (transcode.sh.bash-completion) - README.md - .gitmessage commit message template License: BSD-3-Clause