- File:
FFmpeg_GUI_macOS_ARM64.dmg(68MB) - Type: DMG installer containing .app bundle
- Architecture: ARM64 (Apple Silicon M1/M2/M3)
- Format: Native macOS application bundle
- Installation: Mount DMG, drag .app to Applications
- Execution: Double-click or
open FFmpeg_GUI.app
- File: Previous attempt created ARM64 Mach-O (not real Windows .exe)
- Issue: Cross-compilation from macOS creates macOS executable, not Windows
- Solution: Native build files created for Windows systems
- Platform Dependency: PyInstaller creates executables for the host platform
- macOS to Windows: Not supported natively
- Result: Creates ARM64 Mach-O instead of Windows PE32+ .exe
PyInstaller Process:
- Creates executable (EXE stage)
- Bundles dependencies (PKG stage - this is PyInstaller's internal PKG, not macOS installer)
- Creates app bundle (BUNDLE stage for macOS)
- Optional: Creates DMG installer (external tool)
PKG in PyInstaller = Internal packaging step (not macOS .pkg installer) DMG = Final distribution format for macOS
- Requirements: Windows 10/11 AMD64 system
- Files Created:
FFmpeg_GUI_Windows.spec- PyInstaller specificationBUILD_WINDOWS_NATIVE.md- Complete instructions
- Result: True Windows .exe (PE32+ format)
- Size: ~40-60MB (smaller than cross-compiled)
# .github/workflows/build-releases.yml
name: Build Releases
on: [push, release]
jobs:
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- run: pip install -r requirements.txt
- run: pyinstaller FFmpeg_GUI_Windows.spec
- uses: actions/upload-artifact@v3
with:
name: windows-executable
path: dist/FFmpeg_GUI_Windows_AMD64.exe
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- run: pip install -r requirements.txt
- run: python build_macos.py
- uses: actions/upload-artifact@v3
with:
name: macos-app
path: FFmpeg_GUI_macOS_ARM64.dmg- Install Wine on macOS/Linux
- Run Windows Python under Wine
- Not recommended for distribution
Repository Files:
├── FFmpeg_GUI_macOS_ARM64.dmg # Ready for distribution
├── build_macos.py # Working macOS builder
├── build_windows.py # Cross-compile only
├── build_windows_native.py # Creates Windows build files
├── FFmpeg_GUI_Windows.spec # For native Windows build
└── BUILD_WINDOWS_NATIVE.md # Windows build instructions
- Download:
FFmpeg_GUI_macOS_ARM64.dmg - Install: Mount DMG, drag to Applications
- Requirements: macOS 11+ on Apple Silicon
- Current: No native executable available
- Solution: Need Windows machine to build or use GitHub Actions
- Alternative: Run Python source code directly
- Use Python source code directly
- Future: Add Linux AppImage build
- macOS ARM64: Complete with DMG installer
- Windows AMD64: Spec files ready, needs native Windows build
- Cross-compilation: Not viable for Windows executables
- PyInstaller PKG: Internal step, not macOS installer format
- DMG: macOS distribution format (created successfully)