|
Bogdan Timofte
authored
a month ago
|
1
|
# Changelog
|
|
|
2
|
|
|
|
3
|
All notable changes to `garmin_varia_transcode.sh` are documented here.
|
|
|
4
|
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
5
|
|
|
|
6
|
---
|
|
|
7
|
|
|
|
8
|
## [1.0.0] — 2026-05-04
|
|
|
9
|
|
|
|
10
|
Initial release.
|
|
|
11
|
|
|
|
12
|
### Added
|
|
|
13
|
- Batch HEVC transcoding with `hevc_videotoolbox`, `libx265`, or `libx264`
|
|
|
14
|
- Encoding modes: `hardware`, `auto`, `quality`, `compat`
|
|
|
15
|
- Default mode: `hardware` (hevc_videotoolbox on macOS)
|
|
|
16
|
- Recursive directory traversal (default on)
|
|
|
17
|
- Directory structure preservation at destination
|
|
|
18
|
- Per-file audio detection via ffprobe; AAC 128k output when audio present
|
|
|
19
|
- HEVC outputs tagged `hvc1` for Apple Photos / QuickTime compatibility
|
|
|
20
|
- `-map_metadata 0` and `-movflags +faststart`
|
|
|
21
|
- Source file timestamp preservation via `touch -r`
|
|
|
22
|
- `--move-source`: delete source only after codec + duration validation
|
|
|
23
|
- `--no-overwrite`: skip existing output files
|
|
|
24
|
- `--no-recursive`: restrict to top-level directory
|
|
|
25
|
- `--dry-run`: print actions without writing files
|
|
|
26
|
- `--verbose`: full per-operation logs and ffmpeg/ffprobe output
|
|
|
27
|
- `--crf`: override CRF value for software modes
|
|
|
28
|
- `--extensions`: configurable video extension list
|
|
|
29
|
- Auto single-file mode when `--source` is a file path
|
|
|
30
|
- Quiet default output: one progress line per file with elapsed seconds
|
|
|
31
|
- Summary line with counts and timing after each run
|
|
|
32
|
- JSON sidecar copy (preserves relative paths)
|
|
|
33
|
- `telemetry_manifest.json` placeholder written to destination
|
|
|
34
|
- Destination-inside-source guard (hard error)
|
|
|
35
|
- At-least-one-of `--source`/`--destination` requirement
|
|
|
36
|
- Fail-fast: encoding chain stops on first ffmpeg error
|
|
|
37
|
- Bash 3.2 compatible (macOS system bash)
|