<feed xmlns='http://www.w3.org/2005/Atom'>
<title>transcode.sh/transcode.sh.1, branch main</title>
<subtitle>Batch transcode helper for media files using ffmpeg.</subtitle>
<id>https://git.dennisfink.me/transcode.sh/atom/transcode.sh.1?h=main</id>
<link rel='self' href='https://git.dennisfink.me/transcode.sh/atom/transcode.sh.1?h=main'/>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/'/>
<updated>2026-05-30T19:16:51Z</updated>
<entry>
<title>feat(output): add no-replacement output mode</title>
<updated>2026-05-30T19:16:51Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-30T19:16:51Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=8d98f988a52dbfd7edc074725c628f24c20c270a'/>
<id>urn:sha1:8d98f988a52dbfd7edc074725c628f24c20c270a</id>
<content type='text'>
Add --output-dir and [processing].output_dir so encoded files can be
written to an existing output directory without replacing, moving, or
deleting originals.

Preserve input paths below the output directory, avoid overwriting
existing outputs with numeric suffixes, and keep --backup-dir compatible
with --output-dir.

Update finalization, backup, and size-report handling so replacement
mode and output-dir mode share the same output path flow.

Document the new mode in the README and man page, add bash completion
for the new option, and expand the size report schema with input and
output paths.

Closes #7.
</content>
</entry>
<entry>
<title>refactor(config): remove skip.conf deprecation path</title>
<updated>2026-05-25T05:57:09Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-25T05:57:09Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=1f25fa369061a7dd1796d2f4def7242d4cb9ca2f'/>
<id>urn:sha1:1f25fa369061a7dd1796d2f4def7242d4cb9ca2f</id>
<content type='text'>
Remove the remaining skip.conf compatibility warning and related
constant now that skip.conf is no longer part of the supported
configuration flow.

Clean up the script header and man page so configuration documentation
only describes config.toml and the current [processing].skip_codecs
setting.
</content>
</entry>
<entry>
<title>refactor(config)!: reorganize processing settings</title>
<updated>2026-05-24T19:45:38Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-24T19:45:38Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=d576731f91231a3e38d3f7a9ebdd2fa2b229e7dc'/>
<id>urn:sha1:d576731f91231a3e38d3f7a9ebdd2fa2b229e7dc</id>
<content type='text'>
Move processing-related configuration keys out of [encoding] and [skip]
into a dedicated [processing] section.

Use [processing].skip_codecs, [processing].backup_dir,
[processing].only_if_smaller, [processing].verify_output, and
[processing].continue so the config structure matches the CLI help
sections.

Update README, man page, startup warnings, and debug output to use the
new configuration layout.

BREAKING CHANGE: config.toml keys for skip codecs and processing options
moved. Replace [skip].codecs with [processing].skip_codecs, and move
[encoding].backup_dir, [encoding].only_if_smaller,
[encoding].verify_output, and [encoding].continue to [processing].
Existing config files using the old keys must be updated.
</content>
</entry>
<entry>
<title>docs(cli): regroup option documentation</title>
<updated>2026-05-24T15:09:09Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-24T15:09:09Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=8804eba7a519bccc6c0ae6b90d666d4e1c09eaf0'/>
<id>urn:sha1:8804eba7a519bccc6c0ae6b90d666d4e1c09eaf0</id>
<content type='text'>
Reorganize CLI options into matching sections across help output,
README, man page, and bash completion.

Split input, encoding, skip, processing, size report, display, and
general options so related flags are easier to find and the documented
order matches the parser more closely.

Add --no-config to the README and man page while updating bash
completion order to follow the new help structure.
</content>
</entry>
<entry>
<title>chore(release): prepare 2.1.0</title>
<updated>2026-05-23T07:07:20Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-23T07:07:20Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=1c55ed7ccbe2adca05059c7cff12c23d8a8aef67'/>
<id>urn:sha1:1c55ed7ccbe2adca05059c7cff12c23d8a8aef67</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(streams): allow selecting video probe stream</title>
<updated>2026-05-22T04:40:27Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-22T04:40:27Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=3e8c51b898eb9cc888a156cb9678ec4c1478cc8d'/>
<id>urn:sha1:3e8c51b898eb9cc888a156cb9678ec4c1478cc8d</id>
<content type='text'>
Add --video-stream and [encoding].video_stream so users can choose which
input video stream is probed for preset helper variables.

Use the selected stream for codec, pixel format, frame rate, output
pixel format, and GOP size metadata while leaving preset stream mapping
unchanged.

Validate CLI stream selectors strictly and ignore invalid config values
with a warning so bad configuration falls back to the default v:0
stream.

Document the new option in the README and man page, add verbose dry-run
output, and provide bash completion for common video stream selectors.

Closes #6.
</content>
</entry>
<entry>
<title>feat(output): make ffmpeg loglevel configurable</title>
<updated>2026-05-19T16:31:43Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-19T16:31:43Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=99e6b7ceb93db5ce9c4b70619c6ead5a2aaa281c'/>
<id>urn:sha1:99e6b7ceb93db5ce9c4b70619c6ead5a2aaa281c</id>
<content type='text'>
Add --ffmpeg-loglevel so users can choose which ffmpeg messages are
shown during encoding instead of always using the built-in default.

Load the same setting from [output].ffmpeg_loglevel when it is
configured and no CLI value was provided.

Document the new option in the README and man page, and add shell
completion for supported ffmpeg log levels.
</content>
</entry>
<entry>
<title>chore(release): prepare 2.0.0</title>
<updated>2026-05-17T06:54:52Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-17T06:54:52Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=7ec4afb9f14c96db843d9569e0c32c14283ea9a5'/>
<id>urn:sha1:7ec4afb9f14c96db843d9569e0c32c14283ea9a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(skip): allow overriding config skip codecs</title>
<updated>2026-05-16T13:08:15Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-16T13:08:15Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=7a33be9034e7d950459c7a30a49d544cf36e5270'/>
<id>urn:sha1:7a33be9034e7d950459c7a30a49d544cf36e5270</id>
<content type='text'>
Add --skip-codec-override so users can ignore configured skip codecs for
a single run and use only codecs provided through --skip-codec.

Defer CLI skip-codec parsing until after config loading so the final
skip list can be resolved independently of option order.

Document the new override behavior in the README and man page, and add
shell completion for the new flag.
</content>
</entry>
<entry>
<title>feat(backup): add original file backups</title>
<updated>2026-05-16T10:39:15Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-16T10:39:15Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=054a300fe5b81ed04f84e902e05c4f4efb95a193'/>
<id>urn:sha1:054a300fe5b81ed04f84e902e05c4f4efb95a193</id>
<content type='text'>
Add --backup-dir support so successful encodes can copy the original
file to an existing backup directory before replacing it.

Preserve each source file's absolute path below the backup directory and
avoid overwriting existing backups by appending numeric suffixes when
needed.

Document the new CLI and config option, and add directory completion for
the backup path.
</content>
</entry>
</feed>
