Skip to content

Releases: cdgriffith/FastFlix

Version 6.2.1

21 Mar 22:56
d881887

Choose a tag to compare

  • Fixing #529 window geometry and menu anchoring issues when displays are powered off/on or reconfigured during use (thanks to wiznillyp)
  • Fixing #734 startup crash when FFmpeg/FFprobe exits with non-zero code despite producing valid output (e.g. custom builds that crash during cleanup) (thanks to kliffgomel)
  • Fixing #727 post-encode FFprobe failure when FFprobe crashes on cleanup but produces valid probe data (thanks to danycat201489-a11y)
  • Fixing return from queue bug with FFmpeg nvenc av1

Version 6.2.0

21 Mar 14:31
9f035e8

Choose a tag to compare

  • Adding AV1 (NVENC) encoder for FFmpeg-based AV1 hardware encoding on NVIDIA GPUs (RTX 4000+) with quality-focused defaults including spatial/temporal AQ, lookahead, and multipass support
  • Adding #724 "exit" option to the After Conversion dropdown, which closes FastFlix after all queue items complete (thanks to jrff123)
  • Adding #731 OpenCL Support setting (Auto/Disable) with re-detection button in Application Locations settings (thanks to sks2012)
  • Adding favicon to root of repo so it shows up on fastflix.org (thanks to Balthazar)
  • Adding encoding history feature with browsable history window, "Apply Last Used Settings" menu action, and startup opt-in prompt
  • Adding FFmpeg 8.0+ version check on startup with option to download latest FFmpeg on Windows
  • Adding "Keep source format" option to Audio Normalize, which detects and uses the same audio codec and bitrate as the source video
  • Adding Audio Encoders tab in Settings to view and select which FFmpeg audio encoders appear in audio codec dropdowns
  • Adding Data tab to profile settings with passthrough all or remove all options for data and attachment streams
  • Adding clear current video X button next to source path and "Clear Current Video" option in File menu
  • Adding rotation and flip buttons to the visual crop window, allowing users to change rotation (0/90/180/270) and toggle horizontal/vertical flip without leaving the crop view
  • Changing visual crop window to show the video frame with rotation and flip applied, matching the final output so crop edges can be set intuitively in the rotated view
  • Changing Copy encoder to use modern FFmpeg display_rotation, display_hflip, and display_vflip for lossless rotation and flip metadata instead of deprecated rotate metadata tag, with support for MP4, MOV, MKV, and M4V containers
  • Changing non-copy encoder rotation handling to use FFmpeg's built-in auto-rotation instead of manual display_rotation overrides, which also properly handles source flips from the display matrix
  • Changing -fps_mode to be used instead of deprecated -vsync for frame rate control
  • Fixing #725 encoder detection to check ffmpeg -encoders output in addition to compilation flags, so encoders like VAAPI are shown even when the build flag is absent (thanks to Davius and Generator)
  • Fixing #728 rigaya encoders (NVEncC, QSVEncC, VCEEncC) now pass --dolby-vision-rpu-prm crop=true when Dolby Vision RPU copy is enabled and a crop is applied (thanks to izzy697)
  • Fixing #730 6.1.1 arm no subtitles tab with VideoToolBox (Apple M1 and above) HEVC & H264 (thanks to enaveso)
  • Fixing page_update() busy-wait that could deadlock the GUI thread when called reentrantly
  • Fixing shutdown-while-encoding bug where the worker would lose the shutdown intent after the current encode finished, requiring a forceful GUI kill instead of graceful shutdown
  • Fixing visual crop window showing incorrect bounds and dimensions when user rotation is applied, by showing the frame in pre-rotation space where crop actually operates
  • Fixing video crop and dimension detection for rotated videos where display matrix rotation was not found when other side data (e.g., HDR mastering display) preceded it
  • Fixing cover extraction to not be during video load and blocking, but a background task
  • Fixing 6.1.1 > 6.2.0 mixed queue saving bug (thanks to Norbert)
  • Removing -strict experimental from SVT-AV1 encoders (no longer needed with FFmpeg 8+)

Install Instructions: https://github.com/cdgriffith/FastFlix/wiki/Install-Instructions

Version 6.1.1

22 Feb 01:38
10a6955

Choose a tag to compare

  • Adding "Show completion popup message" (default off) and "Show error popup message" (default on) settings, replacing the old "Disable completion and error messages" toggle (thanks to Balthazar)
  • Adding #703 precise frame-based trimming (--trim) for rigaya encoders (NVEncC, QSVEncC, VCEEncC) when using Exact seek mode (thanks to Augusto7743)
  • Fixing #722 Timeout while extracting covers (thanks to larsk2)
  • Fixing #722 Bottom Crop words cut off (thanks to larsk2)

Install Instructions: https://github.com/cdgriffith/FastFlix/wiki/Install-Instructions

Version 6.1.0

19 Feb 23:09
b8d92b8

Choose a tag to compare

  • Adding #717 Output Naming settings tab with template editor, clickable variable chips, live preview, and validation for customizing output filenames with 23 pre-encode variables (thanks to roxerqermik)
  • Adding #660 Data & Attachments tab for per-track control of data streams (timecodes, navigation) and non-image attachments (fonts) (thanks to techguru0)
  • Adding #706 language and disposition metadata parsing from auto-detected external subtitle filenames (e.g., video.forced.deu.srt) (thanks to mpek)
  • Adding #706 auto-detection of external subtitle files (.srt, .ass, .ssa, .vtt, .sup, .sub, .idx) when loading a video, configurable in Settings (thanks to mpek)
  • Adding #698 external subtitle support for Rigaya encoders (NVEncC, QSVEncC, VCEEncC) via --sub-source (thanks to Augusto7743)
  • Adding always-on ffprobe validation of output files after every encode to catch silent failures
  • Adding Visual Crop window for dragging crop edges directly on a video frame preview, with live overlay and divisible-by-8 snapping on save
  • Adding bottom status bar with animated icon showing encoding state, progress bar, and status messages
  • Adding startup tasks (FFmpeg config, GPU detect, HDR10+ download) running through the status bar with main window visible
  • Adding Terms and Agreements dialog shown on first startup requiring user acceptance before proceeding
  • Fixing #719 Unable to save/load film grain setting for SVT-AV1 (thanks to gabriel101x)
  • Fixing #716 Maximize button not working (thanks to roxerqermik and 19Battlestar65)
  • Fixing #349 NVEncC audio conversion losing multichannel layout for EAC3 (thanks to Wontell)
  • Fixing #384 Remove HDR leaving Dolby Vision metadata traces in Rigaya encoder output (thanks to end2endzone)
  • Fixing #511 UI labels and buttons truncated in non-English translations by auto-shrinking text to fit (thanks to PegHorse)
  • Fixing #514 excessive memory usage when adding directory of files (thanks to gxcreator)
  • Fixing #548 incorrect aspect ratio for DVD sources with non-square pixels on auto resolution (thanks to DCNerds)
  • Fixing #600 anime subtitle size increasing during burn-in encoding (thanks to TinderboxUK)
  • Fixing #693 subtitle tracks losing title metadata during encoding (thanks to mpissarello)
  • Fixing #715 WINDOWS_BUILD.md needed updated to show Python 3.13 (thanks to Jack L)
  • Fixing #720 custom profile resolution settings (Height, Width, Long Edge, Custom, explicit like 640x480) being ignored when loading a video, defaulting to source resolution instead of profile resolution (thanks to Xoanon88)
  • Fixing UI scaling for Source/Folder/Filename text boxes, file extension dropdown, Resolution label, Start/End Time controls, and Crop input fields being too small
  • Fixing profile load/save for VVC period and threads, VP9 auto alt ref, lag in frames, AQ mode, and sharpness, rav1e photon noise, and AOM-AV1 denoise settings using integer as combo box index instead of matching by value
  • Fixing VCEEncC pre-analysis lookahead setting reading from wrong widget (pa_initqpsc instead of pa_lookahead) in HEVC, AV1, and AVC encoders
  • Fixing Settings window staying on top and freezing when notification dialogs appeared behind it
  • Fixing tab bar scroll arrows being too small and both stuck on the right side - now larger with left arrow on far left

Mac

macOS 14 or greater required

With the appbundle, you may need to allow it to run by opening a command line and running:

xattr -rd com.apple.quarantine FastFlix.app

Then try opening again normally, it may take a minute to load without any splash screen.

Windows 11

Please use the installer below FastFlix_6.1.0_installer.exe

The win64 standalone is now a full portable mode which uses the local directory for configuration and workspace.

Ubuntu

Ubuntu 22.04 or greater required

Please extract the FastFlix file and run it via terminal ./FastFlix

Linux: Make sure you have libopengl0 installed from your package manager. If you have other issues please consult the wiki first.

Run from source

You will need Python 3.13 and git

Setup

git clone https://github.com/cdgriffith/FastFlix.git
cd FastFlix
python3.13 -m pip install --upgrade pip
python3.13 -m venv venv
. ./venv/bin/activate       # venv\Scripts\activate.bat or venv\Scripts\activate.ps1 on windows   
pip install setuptools
pip install .

Running

Linux

venv/bin/python -m fastflix

Windows

venv\Scripts\python.exe -m fastflix

Version 6.0.1

10 Feb 05:00
56f62ac

Choose a tag to compare

  • Fixing Dolby Vision copy for Rigaya encoders (NVEncC, QSVEncC, VCEEncC) by adding --dolby-vision-profile copy alongside --dolby-vision-rpu copy
  • Fixing Readme to list AOM-AV1 as having HDR10+ support

Mac

macOS 14 or greater required

With the appbundle, you may need to allow it to run by opening a command line and running:

xattr -rd com.apple.quarantine FastFlix.app

Then try opening again normally, it may take a minute to load without any splash screen.

Windows 11

Please use the installer below FastFlix_6.0.1_installer.exe

The win64 standalone is now a full portable mode which uses the local directory for configuration and workspace.

Ubuntu

Ubuntu 22.04 or greater required

Please extract the FastFlix file and run it via terminal ./FastFlix

Linux: Make sure you have libopengl0 installed from your package manager. If you have other issues please consult the wiki first.

Run from source

You will need Python 3.13 and git

Setup

git clone https://github.com/cdgriffith/FastFlix.git
cd FastFlix
python3.13 -m pip install --upgrade pip
python3.13 -m venv venv
. ./venv/bin/activate       # venv\Scripts\activate.bat or venv\Scripts\activate.ps1 on windows   
pip install setuptools
pip install .

Running

Linux

venv/bin/python -m fastflix

Windows

venv\Scripts\python.exe -m fastflix

Version 6.0.0

10 Feb 04:22
a337a44

Choose a tag to compare

Note: Dolby Vision support has not been tested. Only implemented by following encoder readme, please report back with findings

  • Adding #709 PGS to SRT OCR subtitle extraction feature (thanks to mikeSGman)
  • Adding #712 audio profile title options: No Title, Generate Title, and Custom Title (thanks to gaalos)
  • Adding gifski GIF encoder support with automatic PATH detection and manual path configuration
  • Adding external subtitle file support - import .srt, .ass, .ssa, .vtt, and .sup files into the subtitle track list
  • Adding AVC (x264) encoder options: AQ Mode, Psy-RD, Level, and custom x264 params
  • Adding "Detected External Programs" section to Settings showing status of NVEncC, QSVEncC, VCEEncC, HDR10+ Parser, and PGS OCR tools
  • Adding resizable columns to Concatenation Builder window with minimum widths based on header text
  • Adding Keyframe checkbox to Settings menu as "Use keyframes for preview images" option (default enabled)
  • Adding video info bar below file area showing bit depth, color space, chroma subsampling, HDR10, and HDR10+ at a glance
  • Adding HDR10+ passthrough awareness for AOM AV1 encoder with FFmpeg 8.0+ version detection and UI indicators
  • Adding HDR10+ tool auto-download on Windows startup and Help menu
  • Adding AOM AV1 encoder options: Tune (psnr/ssim), Denoise, AQ Mode, allintra usage mode, and custom aom-params pass-through
  • Adding rav1e encoder options: Tune (Psychovisual/Psnr), Photon Noise (film grain synthesis), Scene Detection toggle, HDR10 metadata passthrough, and custom rav1e-params pass-through
  • Adding Dolby Vision copy support for NVEncC, QSVEncC, and VCEEncC HEVC/AV1 encoders
  • Adding preview time slider to overlay at bottom of preview image
  • Adding time display next to preview slider in H:MM:SS format
  • Adding async queue saving to prevent GUI blocking during queue operations
  • Adding atomic file writes for queue to prevent corruption from interrupted saves
  • Adding file-based locking for queue operations to prevent race conditions between instances
  • Adding graceful shutdown handling for worker process and background threads
  • Adding Start/End Time tab to right-side options panel between Size and Crop tabs with compact 3-column layout
  • Adding save dialog for subtitle extraction allowing users to choose output location, defaulting to the output directory
  • Adding VVC encoder options: Perceptual QPA toggle, Intra Period, Threads, IFP (inter-frame parallelism), 8-bit pixel format support, and HDR10 metadata passthrough (mastering display, content light level, color signaling, chroma location)
  • Adding VP9 encoder options: Auto Alt-Ref Frames, Lag in Frames, Tune Content, AQ Mode, and Sharpness
  • Fixing #337 #700 #597 refactoring all FFmpeg command building from string concatenation to List[str] to fix shlex.split() failures with quotes, special characters in titles, and Windows path handling issues (thanks to Xoanon88 and Buzz0016)
  • Fixing #481 MP4 subtitle copy mode using wrong codec - now uses mov_text instead of copy for MP4 containers (thanks to wmonte75)
  • Fixing #687 dialogs staying on top of all windows and unable to minimize by removing WindowStaysOnTopHint flag (thanks to Krawk)
  • Fixing #688 typo in changelog (thanks to luzpaz)
  • Fixing #695 Qt6 decimal input fields enforcing locale-specific decimal separators (comma vs dot) by forcing C locale (thanks to isben)
  • Fixing #696 RAW command display boxes too small on macOS by using actual document size for height calculation (thanks to isben)
  • Fixing #707 Rigaya encoder binary detection with case-insensitive search (thanks to anne-o-pixel)
  • Fixing #708 process priority niceness values inverted on Linux and removed Realtime option on non-Windows (thanks to JacobDev1)
  • Fixing copy encoder failing when OpenCL is enabled by not adding hardware device flags when filters are disabled
  • Fixing zscale "no path between colorspaces" error during HDR tonemapping by explicitly specifying input transfer characteristic
  • Fixing thumbnail generation failing on non-full-range YUV sources (e.g. HDR AV1) with FFmpeg 8.0+ by adding -strict unofficial to mjpeg encoder
  • Fixing FFmpeg download failing when destination directories (e.g. presets) already exist from a previous install
  • Fixing HDR10+ detection to use ffprobe for non-HEVC codecs (AV1, VP9, etc.) and as fallback when hdr10plus_tool is unavailable
  • Fixing Windows taskbar showing generic icon instead of FastFlix icon by setting AppUserModelID and deferring blocking version check until after event loop starts
  • Fixing Settings browse buttons column being too wide by setting fixed width and column stretch
  • Fixing PGS OCR requiring manual checkbox enable - now auto-detects availability from tesseract and pgsrip
  • Fixing PGS OCR subtitle extraction using pgsrip.Sup to process already-extracted .sup file instead of re-extracting from MKV (fixes wrong file path and mkvextract failures)
  • Fixing extract dropdown arrow being oversized by scaling the menu-indicator to match up/down button proportions
  • Fixing QFont::setPointSize warnings in PyInstaller executables by using pt instead of px for stylesheet font sizes
  • Fixing video track selector showing unnecessarily when source video has only one video track
  • Fixing rav1e and AOM AV1 custom params list being corrupted to "[]" string on profile load/reload, breaking HDR10+ metadata passthrough
  • Fixing visual border between filename area and video track selector
  • Fixing test suite hanging due to missing QApplication in PySide6 widget tests
  • Fixing window resizing beyond screen boundaries when switching profiles on macOS
  • Fixing potential GUI freeze when log queue fills up during encoding
  • Fixing file handle leaks in command runner when process startup fails
  • Fixing crash when dragging non-video content over the main window
  • Fixing rotation setting not being applied correctly when loading profiles
  • Fixing flip settings not restoring correctly when returning video from queue
  • Fixing GIF encoder not applying resolution scaling
  • Fixing audio profile loading - validator returned wrong enum type (MatchType instead of MatchItem)
  • Fixing "monoo" typo in downmix mapping that caused mono downmix to fail
  • Fixing undefined variable crash when creating duplicate audio tracks via profile filters
  • Fixing IndexError when applying profile audio filters to videos with non-sequential track indices
  • Fixing TypeError crash with Rigaya encoders when audio quality not explicitly set
  • Fixing AttributeError crash when audio track metadata is incomplete
  • Fixing queue file generation mismatch errors due to redundant save calls on startup and when adding to queue

Mac

macOS 14 or greater required

With the appbundle, you may need to allow it to run by opening a command line and running:

xattr -rd com.apple.quarantine FastFlix.app

Then try opening again normally, it may take a minute to load without any splash screen.

Windows 11

Please use the installer below FastFlix_6.0.0_installer.exe

The win64 standalone is now a full portable mode which uses the local directory for configuration and workspace.

Ubuntu

Ubuntu 22.04 or greater required

Please extract the FastFlix file and run it via terminal ./FastFlix

Linux: Make sure you have libopengl0 installed from your package manager. If you have other issues please consult the wiki first.

Run from source

You will need Python 3.13 and git

Setup

git clone https://github.com/cdgriffith/FastFlix.git
cd FastFlix
python3.13 -m pip install --upgrade pip
python3.13 -m venv venv
. ./venv/bin/activate       # venv\Scripts\activate.bat or venv\Scripts\activate.ps1 on windows   
pip install setuptools
pip install .

Running

Linux

venv/bin/python -m fastflix

Windows

venv\Scripts\python.exe -m fastflix

Version 5.12.4

12 Jul 22:44
250db2f

Choose a tag to compare

  • Fixing #675 "Default Source Folder" not used when adding Complete Folders (thanks to Krawk)
  • Fixing #678 Cannot copy the cover (thanks to danielly2020)
  • Fixing #679 Subtitle extraction (thanks to danielly2020)
  • Fixing adding subtitle track would fail if video has a title (thanks to The_Donn)

Mac

macOS 13 or greater required

With the appbundle, you may need to allow it to run by opening a command line and running:

xattr -rd com.apple.quarantine FastFlix.app

Then try opening again normally, it may take a minute to load without any splash screen.

Windows 11

Please use the installer below FastFlix_5.12.4_installer.exe

The win64 standalone is now a full portable mode which uses the local directory for configuration and workspace.

Ubuntu

Ubuntu 22.04 or greater required

Please extract the FastFlix file and run it via terminal ./FastFlix

Linux: Make sure you have libopengl0 installed from your package manager. If you have other issues please consult the wiki first.

Run from source

You will need Python 3.12 and git

Setup

git clone https://github.com/cdgriffith/FastFlix.git
cd FastFlix
python3.12 -m pip install --upgrade pip
python3.12 -m venv venv
. ./venv/bin/activate       # venv\Scripts\activate.bat or venv\Scripts\activate.ps1 on windows   
pip install setuptools
pip install .

Running

Linux

venv/bin/python -m fastflix

Windows

venv\Scripts\python.exe -m fastflix

Version 5.12.3

05 Jul 02:50
93e3a5a

Choose a tag to compare

  • Fixing #673 changing subtitle language in the UI did not take effect in the command (thanks to danielly2020)
  • Fixing #673 extract subtitle command was looking for subtitle index, not absolute index (thanks to danielly2020)

Mac

macOS 13 or greater required

With the appbundle, you may need to allow it to run by opening a command line and running:

xattr -rd com.apple.quarantine FastFlix.app

Then try opening again normally, it may take a minute to load without any splash screen.

Windows 11

Please use the installer below FastFlix_5.12.3_installer.exe

The win64 standalone is now a full portable mode which uses the local directory for configuration and workspace.

Ubuntu

Ubuntu 22.04 or greater required

Please extract the FastFlix file and run it via terminal ./FastFlix

Linux: Make sure you have libopengl0 installed from your package manager. If you have other issues please consult the wiki first.

Run from source

You will need Python 3.12 and git

Setup

git clone https://github.com/cdgriffith/FastFlix.git
cd FastFlix
python3.12 -m pip install --upgrade pip
python3.12 -m venv venv
. ./venv/bin/activate       # venv\Scripts\activate.bat or venv\Scripts\activate.ps1 on windows   
pip install setuptools
pip install .

Running

Linux

venv/bin/python -m fastflix

Windows

venv\Scripts\python.exe -m fastflix

Version 5.12.2

03 Jul 19:13
dfacda2

Choose a tag to compare

  • Fixing #671 Switching to the NVEncC AV1 encoder will break FastFlix (thanks to Krawk)
  • Fixing error switching between copy and other encoders will break FastFlix

Mac

macOS 13 or greater required

With the appbundle, you may need to allow it to run by opening a command line and running:

xattr -rd com.apple.quarantine FastFlix.app

Then try opening again normally, it may take a minute to load without any splash screen.

Windows 11

Please use the installer below FastFlix_5.12.2_installer.exe

The win64 standalone is now a full portable mode which uses the local directory for configuration and workspace.

Ubuntu

Ubuntu 22.04 or greater required

Please extract the FastFlix file and run it via terminal ./FastFlix

Linux: Make sure you have libopengl0 installed from your package manager. If you have other issues please consult the wiki first.

Run from source

You will need Python 3.12 and git

Setup

git clone https://github.com/cdgriffith/FastFlix.git
cd FastFlix
python3.12 -m pip install --upgrade pip
python3.12 -m venv venv
. ./venv/bin/activate       # venv\Scripts\activate.bat or venv\Scripts\activate.ps1 on windows   
pip install setuptools
pip install .

Running

Linux

venv/bin/python -m fastflix

Windows

venv\Scripts\python.exe -m fastflix

Version 5.12.1

03 Jul 01:47
3f5cc51

Choose a tag to compare

  • Fixing #654 Failed to import attachment due to bad mime type gathering (thanks to larsk2)
  • Fixing #659 current profile panel won't open (thanks to danielly2020)
  • Fixing missing undefined option for audio tracks (thanks to danielly2020)
  • Fixing missing unittests for common encoder options
  • Fixing some extra spaces in commands
  • Fixing logs were showing red for info commands
  • Fixing missing translations (thanks to danielly2020)

Mac

macOS 13 or greater required

With the appbundle, you may need to allow it to run by opening a command line and running:

xattr -rd com.apple.quarantine FastFlix.app

Then try opening again normally, it may take a minute to load without any splash screen.

Windows 11

Please use the installer below FastFlix_5.12.1_installer.exe

The win64 standalone is now a full portable mode which uses the local directory for configuration and workspace.

Ubuntu

Ubuntu 22.04 or greater required

Please extract the FastFlix file and run it via terminal ./FastFlix

Linux: Make sure you have libopengl0 installed from your package manager. If you have other issues please consult the wiki first.

Run from source

You will need Python 3.12 and git

Setup

git clone https://github.com/cdgriffith/FastFlix.git
cd FastFlix
python3.12 -m pip install --upgrade pip
python3.12 -m venv venv
. ./venv/bin/activate       # venv\Scripts\activate.bat or venv\Scripts\activate.ps1 on windows   
pip install setuptools
pip install .

Running

Linux

venv/bin/python -m fastflix

Windows

venv\Scripts\python.exe -m fastflix