Skip to content

Distribute a standalone Windows binary (single .exe) for ffsubsync #221

@xmha97

Description

@xmha97

Hello Stephen (and maintainers),

Thank you for ffsubsync — it's extremely useful.

I'd like to request an official standalone Windows binary (single .exe) distribution of ffsubsync, similar to how tools like yt-dlp provide prebuilt executables. This would help many Windows users who are not comfortable installing Python and dependencies with pip or setting up virtual environments.

Benefits:

  • Much easier onboarding for non-Python users.
  • Fewer issue reports caused by environment/dependency differences.
  • Ability to provide signed releases for improved user trust.

Suggested implementation approach (minimal effort, well-tested path):

  1. Use PyInstaller (or similar) to build a single-file Windows executable from the Python package. Many projects use this and you can automate builds in CI. ([GitHub][1])
  2. Add a GitHub Actions workflow that runs on new releases and produces Windows artifacts (.exe) and uploads them to the release page. There are existing Actions and examples for PyInstaller on Windows. ([Medium][2])
  3. Decide whether to bundle ffmpeg inside the exe or to document that the user must have ffmpeg available on PATH. Bundling makes the exe bigger but more user-friendly; requiring external ffmpeg keeps the binary smaller and avoids legal/distribution questions.
  4. Optionally sign the Windows executable (code signing) to reduce Windows Defender / SmartScreen warnings.

Notes / references:

  • I saw an independent single-file distribution repo for ffsubsync (ffsubsync-bin) which shows demand for an official binary. It might be useful as a reference. ([GitHub][3])
  • Latest official ffsubsync repo and releases are here. ([GitHub][4])

If you’d like, I can:

  • Open a draft issue or PR with a sample GitHub Actions workflow (PyInstaller) and a .spec suggestion.
  • Produce a tested GitHub Actions YAML to build & attach a Windows .exe on each release.

Thanks again for the great tool!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions