Skip to content

1.4.0

Choose a tag to compare

@github-actions github-actions released this 21 Jan 22:40
· 34 commits to main since this release

Features

  • AVIF “Auto-detect FFmpeg” button in settings. Press the button to let plugin automatically find ffmpeg executable on your system.

  • AVIF hardware acceleration with auto encoder detection and software fallback. *

  • AVIF "Detect encoder" button in settings. After providing path to ffmpeg . Press the button to auto-detect the best encoder for your system. If anything fails, it automatically detects hardware encoder failures and falls back to software encoders. For example: : For each encoder found, it runs a quick test encode e.g.:: ffmpeg -f lavfi -i color=c=black:s=64x64 -frames:v 1 -c:v av1_nvenc -f null -. If av1_nvenc fails (Cannot load nvcuda.dll) → Try next encoder. Find libaom-av1 → Test it → Success! ✅ → Report: "✓ Working encoder: libaom-av1 (software)"
    Obsidian_XRDRi2OIgV

    • Windows: Priority is as follows: av1_nvenc (NVIDIA) > av1_qsv (Intel) > av1_amf (AMD) > av1_mf (MediaFoundation)
    • Linux gets VAAPI support.
    • Software fallback uses libsvtav1 (faster) > libaom-av1 (reference)
  • Each encoder has different CRF ranges. If supported encoder is identified on your system, the input field for CRF values will change accordingly:

    • libaom-av1, libsvtav1: 0-63
    • av1_nvenc, av1_qsv: 0-51
    • av1_amf, av1_vaapi: 0-255
    • av1_mf: 0-100
  • Encoder-Specific preset names - the dropdown now dynamically changes based on the detected encoder too. Presets are applied only for encoders that support it. Hardware encoders (QSV, AMF, VideoToolbox, VAAPI) don't use presets. Automatically selects the middle preset for each encoder (balanced speed/quality).

Encoder Preset Options Default Notes
libaom-av1 0, 1, 2, 3, 4, 5, 6, 7, 8 4 Uses -cpu-used  (0=slowest/best, 8=fastest)
libsvtav1 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 6 Uses  -preset  (0=slowest/best, 13=fastest/lowest)
av1_nvenc p1, p2, p3, p4, p5, p6, p7 p4 p1=fastest, p7=slowest/best quality
av1_qsv (hidden) - Hardware encoder, no preset support
av1_amf (hidden) - Hardware encoder, no preset support
av1_vaapi (hidden) - Hardware encoder, no preset support

Fixes

  • Frontmatter mime/type values are now validated against supported MIME types. Invalid values are ignored.
  • {vaultpath} now correctly returns the filesystem path on desktop.
  • {MD5:fullpath} and {sha256:fullpath} now hash the full image path (not just the filename).
  • Settings preview now works even in empty vaults (uses sample data as fallback). In the past it would throw an error: "Failed to generate preview."
  • Rare edge case that could cause image processing to hang.
  • AVIF/FFmpeg path handling normalized across platforms (quotes, env/tilde expansion, OS path normalization).
  • AVIF conversion stability improvements when using FFmpeg - Closes #363, #349, #382
  • Image Alignment cache migration now moves from .obsidian to the vault config folder.
  • Image Annotation modal resize handle no longer shows a double icon.
  • Removed Quality parameter from AVIF presets.

Improvements

  • Better compatibility with Obsidian 1.11 - closes #376
  • Image Converter settings now reserve scrollbar space to prevent layout jumping.
  • Preset and modal FFmpeg paths now stay in sync.
  • Alignment with obsidianmd/eslint-plugin - https://github.com/obsidianmd/eslint-plugin

* I have limited access to hardware, if you encounter any issues, or it throws error please open up a new issue, and I will be happy to work with you to get it resolved 💖

Full Changelog: 1.3.21...1.4.0