VariaReEncoder / CHANGELOG.md
Newer Older
61 lines | 2.97kb
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)
Bogdan Timofte authored 2 weeks ago
13
- `--unattended` automatically enables input staging when `--staging-dir` is set
14
- Source and destination preflight checks now fail before staging/scanning when
15
	source or destination NFS/autofs mounts are unreadable or unwritable
Bogdan Timofte authored a month ago
16
### Added
17
- `--unattended` preset (`--delete-source` + `--keep-going`) for long unattended runs
Bogdan Timofte authored a month ago
18
- `--staging-dir DIR` to place intermediate transcoding temp files on a fast local path,
19
	with automatic fallback to destination temp files when staging is unavailable
Bogdan Timofte authored a month ago
20
	or lacks sufficient free space for the current file
Bogdan Timofte authored 2 weeks ago
21
- `--stage-input` to copy each source video to staging before encoding, which avoids
22
	long ffmpeg reads directly from flaky NAS/autofs mounts
Bogdan Timofte authored a month ago
23
- automatic RAM disk creation on macOS when `--staging-dir` points to a missing
24
	`/Volumes/<Name>` path, configurable with `--staging-ramdisk-mb N`
25
- `--debug-timing N` to stop after N video files and print timing statistics for quick profiling
Bogdan Timofte authored a month ago
26

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

            
31
### Behavior
32
- Import cleanup returns exit code `1` when duplicate groups are blocked and need manual review
33

            
Bogdan Timofte authored a month ago
34
## [1.0.0] — 2026-05-04
35

            
36
Initial release.
37

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