Files
AmiReel/README.md
T

4.8 KiB
Raw Blame History

AmiReel

AmiReel is a Windows video-rendering tool for turning Amiga AVI captures into:

  • a 4K 50 FPS final video,
  • PNG/JPG thumbnails,
  • an animated WebP preview,
  • and a publishable Windows desktop app workflow.

The repository currently contains two desktop frontends that share the same render pipeline:

  • AmiReel.WinUI
    The newer WinUI 3 application. This is the default publish target.
  • AmigaDB.VideoRenderer.csproj
    The existing WPF application.

Features

  • multiple ordered AVI inputs
  • 3840×2160 output at 50 FPS
  • NVIDIA NVENC with automatic CPU libx264 fallback
  • configurable trim, fade, end-card hold, and thumbnail interval
  • optional end-card image
  • live render progress with frame counters
  • FFmpeg log output
  • source video preview and final render preview
  • dark and light themes
  • optional custom ffmpeg.exe / ffprobe.exe paths
  • automatic FFmpeg detection from PATH
  • single-file WinUI publish for easier distribution

Requirements

For development:

  • Windows 10 or Windows 11
  • .NET SDK
    • WPF project: .NET 8 SDK
    • WinUI project: .NET 10 SDK and WinUI/Windows App SDK support
  • Windows x64 FFmpeg binaries in ThirdParty
    • ThirdParty\ffmpeg.exe
    • ThirdParty\ffprobe.exe

For end users:

  • Windows 10 or Windows 11 x64
  • the published AmiReel executable
  • FFmpeg is not required separately if you distribute AmiReel with embedded ThirdParty FFmpeg binaries

Project Layout

  • AmiReel.WinUI\ WinUI 3 frontend
  • MainWindow.xaml and MainWindow.xaml.cs WPF frontend
  • Services\RenderPipeline.cs Main render workflow
  • Services\ProcessRunner.cs FFmpeg process execution and progress parsing
  • Services\ToolExtractor.cs FFmpeg resolution, extraction, and fallback logic
  • publish-win-x64.ps1 Publish script

Run in Development

WinUI

dotnet build .\AmiReel.WinUI\AmiReel.WinUI.csproj
dotnet run --project .\AmiReel.WinUI\AmiReel.WinUI.csproj

WPF

dotnet build .\AmigaDB.VideoRenderer.csproj
dotnet run --project .\AmigaDB.VideoRenderer.csproj

Publish

Default: WinUI

The publish script now defaults to the WinUI application:

.\publish-win-x64.ps1

This publishes the WinUI app as a self-contained single-file executable.

At the end of the script you will see:

  • the release folder path
  • the final executable path

Example output path:

AmiReel.WinUI\bin\Release\net10.0-windows10.0.26100.0\win-x64\publish\AmiReel.exe

Publish WPF instead

.\publish-win-x64.ps1 -Target Wpf

Installation

For developers

  1. Clone the repository.
  2. Add ffmpeg.exe and ffprobe.exe to ThirdParty.
  3. Restore and build the desired app:
dotnet build .\AmigaDB.VideoRenderer.sln
  1. Run either the WinUI or WPF project.

For end users

  1. Copy the published AmiReel.exe from the publish folder to any location, for example:
C:\Apps\AmiReel\
  1. Double-click AmiReel.exe.
  2. If FFmpeg is embedded in the build, no extra setup is required.
  3. If you want to use your own FFmpeg build: open Settings and select:
    • ffmpeg.exe
    • ffprobe.exe

Optional desktop shortcut

  1. Right-click AmiReel.exe.
  2. Choose Send to -> Desktop (create shortcut).

FFmpeg Behavior

AmiReel resolves FFmpeg in this order:

  1. custom paths from settings
  2. ffmpeg.exe and ffprobe.exe found on system PATH
  3. embedded ThirdParty binaries

If NVENC cannot be initialized, AmiReel automatically falls back to CPU libx264.

Settings Location

User settings are stored in:

%LOCALAPPDATA%\AmiReel\settings.json

This includes values such as:

  • output folder
  • end-card path
  • FFmpeg paths
  • theme
  • encoder selection
  • timing settings

Notes for Distribution

  • If you distribute FFmpeg binaries with AmiReel, you are responsible for complying with the license terms of the FFmpeg build you use.
  • Keep any required notices, source offer, or attribution required by that FFmpeg distribution.
  • Windows Explorer may cache executable icons. If a freshly published build still shows an old icon, rename the file or refresh the icon cache before assuming the embed failed.

Troubleshooting

App falls back to CPU instead of NVENC

This usually means FFmpeg could not initialize h264_nvenc. AmiReel will continue with CPU encoding automatically.

FFmpeg tool error

If embedded FFmpeg is missing or broken, AmiReel will try:

  1. configured tool paths
  2. FFmpeg from PATH

If needed, set the paths manually in Settings.

Render failed popup

The popup shows a short human-readable summary. Full technical details remain available in the FFmpeg log panel.

Current Default Recommendation

Use the WinUI build for publishing and distribution unless you specifically need the WPF variant.