VariaReEncoder / CHANGELOG.md
Newer Older
54 lines | 2.409kb
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

            
Bogdan Timofte authored a month ago
8
## [Unreleased]
9

            
10
### Changed
11
- `--move-source` renamed to `--delete-source` (old name kept as alias)
12
- `--continue-on-error` renamed to `--keep-going` (old name kept as alias)
13
### Added
14
- `--unattended` preset (`--delete-source` + `--keep-going`) for long unattended runs
Bogdan Timofte authored a month ago
15
- `--staging-dir DIR` to place intermediate transcoding temp files on a fast local path,
16
	with automatic fallback to destination temp files when staging is unavailable
Bogdan Timofte authored a month ago
17

            
18
- `cleanup_garmin_varia_media_folder.sh` helper for media-folder hygiene (import + transcoded output):
19
	removes AppleDouble artifacts (`._*`), removes zero-size MP4 files,
20
	and normalizes single-suffix duplicate timestamp names
21

            
22
### Behavior
23
- Import cleanup returns exit code `1` when duplicate groups are blocked and need manual review
24

            
Bogdan Timofte authored a month ago
25
## [1.0.0] — 2026-05-04
26

            
27
Initial release.
28

            
29
### Added
30
- Batch HEVC transcoding with `hevc_videotoolbox`, `libx265`, or `libx264`
31
- Encoding modes: `hardware`, `auto`, `quality`, `compat`
32
- Default mode: `hardware` (hevc_videotoolbox on macOS)
33
- Recursive directory traversal (default on)
34
- Directory structure preservation at destination
35
- Per-file audio detection via ffprobe; AAC 128k output when audio present
36
- HEVC outputs tagged `hvc1` for Apple Photos / QuickTime compatibility
37
- `-map_metadata 0` and `-movflags +faststart`
38
- Source file timestamp preservation via `touch -r`
39
- `--move-source`: delete source only after codec + duration validation
40
- `--no-overwrite`: skip existing output files
41
- `--no-recursive`: restrict to top-level directory
42
- `--dry-run`: print actions without writing files
43
- `--verbose`: full per-operation logs and ffmpeg/ffprobe output
44
- `--crf`: override CRF value for software modes
45
- `--extensions`: configurable video extension list
46
- Auto single-file mode when `--source` is a file path
47
- Quiet default output: one progress line per file with elapsed seconds
48
- Summary line with counts and timing after each run
49
- JSON sidecar copy (preserves relative paths)
50
- `telemetry_manifest.json` placeholder written to destination
51
- Destination-inside-source guard (hard error)
52
- At-least-one-of `--source`/`--destination` requirement
53
- Fail-fast: encoding chain stops on first ffmpeg error
54
- Bash 3.2 compatible (macOS system bash)