github cdgriffith/FastFlix 6.3.0
Version 6.3.0

3 hours ago
  • Adding back the Beautiphoto installer promo with code FF30OFF2026 (30% off for a year), shown until 2027-01-01 UTC; clicking the code or its copy icon copies it to the clipboard, and the Launch FastFlix button no longer has a countdown

  • Adding #202 new video filters to the Advanced panel: vibrance, color temperature, curves presets, colorbalance presets, unsharp mask, deflicker, pad/letterbox, LUT3D file loading, and nlmeans_opencl GPU-accelerated denoise — with rigaya hardware encoder support for curves (--vpp-curves), unsharp (--vpp-unsharp), pad (--vpp-pad), LUT3D (--vpp-colorspace lut3d), and nlmeans_opencl (--vpp-nlmeans)

  • Adding #212 full source and output file path tooltip on hover for queue items, with responsive text eliding for long file names (thanks to bmcassagne)

  • Adding #344 lossless encoding option for AVC (x264), AV1 (AOM), VP9, and AV1 (SVT-AV1) encoders

  • Adding #377 #550 #694 gamma and hue options to the Equalizer in the Advanced panel (FFmpeg eq/hue filters for software encoders, --vpp-tweak for rigaya) (thanks to lincsat, DCNerds, and Patrick Isbendjian)

  • Adding #405 sharpen filter (CAS) to the Advanced panel (FFmpeg cas filter for software encoders, --vpp-unsharp for rigaya)

  • Adding #447 GOP length setting to the Advanced panel (FFmpeg -g, rigaya --gop-len) (thanks to colemar)

  • Adding #457 QSVEncC --tune parameter support (default, psnr, ssim, ms_ssim, vmaf, perceptual) for HEVC, AV1, and AVC encoders (thanks to Marco Ravich)

  • Adding #480 2-pass CRF encoding for the AOM AV1 encoder for improved quality (thanks to jimbow973)

  • Adding #498 deinterlace method and mode options (yadif, bwdif, w3fdif, estdif with send_frame/send_field modes) to the Advanced panel, with persistence in profiles

  • Adding #520 "Source" option for the output file extension, matching the output container to the source format for batch encoding mixed MKV/MP4 files (thanks to x9sim9)

  • Adding #523 drag and drop folder support in the Concatenation Builder (thanks to GokieKS)

  • Adding #526 -movflags +faststart toggle for MP4/MOV containers, enabled by default (thanks to Aria)

  • Adding #594 codec and codec+profile matching options for audio profile pattern matching, allowing users to distinguish between e.g. DTS-HD MA and regular DTS tracks (thanks to Damundai)

  • Adding #665 profile-level control for subtitle "default" and "forced" disposition flags with Keep Source, Clear All, and Set on First Track modes (thanks to legoleigh)

  • Adding #677 "Keep source loaded after adding to queue" setting to allow tweaking and re-queuing the same source without reloading (thanks to Mine181)

  • Adding #682 HE-AAC and HE-AAC v2 audio profile selection for the libfdk_aac codec, including in profile audio matching and for rigaya encoders (HE-AAC v2 falls back to HE-AAC for non-stereo output) (thanks to Augusto7743)

  • Adding Reverse Video option in the Advanced panel (applies FFmpeg reverse video filter and areverse audio filter for converted tracks, always seeking on the input side so trimmed segments stay aligned)

  • Adding rigaya encoder support for Equalizer (--vpp-tweak), Denoise (--vpp-nlmeans/knn/pmd), Deblock (--vpp-deblock), Output FPS (--vpp-fps), and Video Track Title — only Video Speed and Reverse Video remain unsupported

  • Adding #544 Download HDR10 Metadata button in Source Details tab for exporting mastering display and content light level data in x265-compatible format (thanks to yundebian918)

  • Adding structured table view to Source Details tab with grouped sections, human-readable value formatting, Download JSON export, and full path tooltips on source/output filename fields

  • Adding warning in Data & Attachments tab and reason text when tracks are incompatible with the output format (e.g. data streams in MKV)

  • Adding Go-based Windows installer, launcher and uninstaller using an embeddable Python distribution (per-user and all-users installs, Add/Remove Programs integration, upgrades from previous NSIS installs) replacing the PyInstaller and NSIS Windows builds, plus a portable zip release

  • Changing Advanced panel layout to use QGroupBox sections (Video Details, Frame Rate, Video Processing, Color & Appearance, Color, Output) with restoration filters separated from color correction filters

  • Fixing #766 FFmpeg and other external tools failing on Linux PyInstaller builds (e.g. AUR fastflix-bin) with library symbol errors due to inherited bundled LD_LIBRARY_PATH (thanks to anne-o-pixel)

  • Fixing #741 VideoToolbox HEVC and H264 encoders passing invalid numeric profile index instead of profile name, causing "incorrect parameters" errors on macOS (thanks to enaveso)

  • Fixing #560 queue items could not be removed while encoding — now allows removing non-running items and grays out unavailable controls (move, reload, load queue) during encoding (thanks to 54x1)

  • Fixing #736 thumbnail and crop preview generation failing with FFmpeg 8.0+ by adding -update 1 flag required by the image2 muxer for single-image output (thanks to kliffgomel)

  • Fixing #738 conversion error with Google Pixel videos by disabling data stream mapping for Matroska containers which do not support data streams (attachments like fonts are still allowed) (thanks to Hankuuuu)

  • Fixing attachment streams (fonts, etc.) losing mimetype/filename metadata during conversion due to -map_metadata -1 stripping per-stream tags required by the muxers

  • Fixing cover image metadata targeting wrong output stream when data/attachment tracks are present (FFmpeg places -map streams before -attach streams in output order)

  • Fixing data streams being auto-included by FFmpeg when encoding to MKV, causing "Only audio, video, and subtitles are supported" errors — now explicitly excludes unmapped data with -dn and rechecks compatibility when output format changes

  • Fixing #739 unable to add more than 1 video per session due to AttributeError when closing audio track widgets (thanks to mrdav1)

  • Fixing #130 auto-crop producing invalid crop rectangles for non-standard aspect ratios (4:3 FHD, 2.76:1 ultra-wide) due to independent dimension tracking across cropdetect frames and Python falsy-zero bug (thanks to hallmansm)

  • Fixing HDR tonemapping failing with zscale "no path between colorspaces" by passing complete source colorspace parameters (primaries, matrix, transfer) to the zscale filter, with fallback retry for crop previews when tonemapping still fails

  • Fixing bitrate combobox being unreadably small on x264 and x265 encoders — combo now sizes to fit its widest item

  • Fixing rigaya encoder pad/letterbox calculation ignoring crop dimensions due to incorrect type check

  • Fixing rigaya encoders (NVEncC, QSVEncC, VCEEncC) crashing with no output when data streams are copied to non-MKV containers — --data-copy and --attachment-copy are now only emitted for Matroska output

  • Fixing startup crash when queue file exists but is missing the 'queue' key

  • Fixing FFmpeg HEVC and AV1 NVENC bitrate mode failing with FFmpeg 8 due to removed -2pass option and unsupported -pass two-pass mode — now a single encode using NVENC -multipass

  • Fixing FFmpeg HEVC NVENC passing invalid -spatial_aq option instead of -spatial-aq

  • Fixing auto-detected interlaced sources having deinterlacing turned off by profile defaults on load and profile change

  • Fixing bwdif, w3fdif and estdif deinterlace send_frame mode doubling the frame rate (filters default to one frame per field)

  • Fixing duplicate queue entry ids and work folders when keeping the source loaded after adding to queue

  • Fixing custom resolution values such as 1280:-2 / -1:720 disabling scaling, and auto-calculated dimensions rounding down instead of to the nearest multiple of 8

  • Fixing auto-crop being thrown off by fully black frames and over-cropping mixed letterbox/pillarbox samples by using the union of detected content per edge

  • Fixing x264 lossless failing when a profile other than high444 is selected, and SVT-AV1 / AOM lossless encodes still applying film grain and denoise

  • Fixing pad/letterbox being applied before rotation (FFmpeg and rigaya encoders)

  • Fixing duplicate --vpp-colorspace arguments when combining HDR to SDR with a 3D LUT on rigaya encoders

  • Fixing nlmeans_opencl denoise failing without HDR removal and in previews, and truncating 10-bit sources to 8-bit

  • Fixing data, attachment and cover stream metadata being written to the wrong output stream after toggling tracks or burning in subtitles

  • Fixing Copy encoder reversing converted audio when Reverse Video is enabled, and burned-in text subtitles playing forward over reversed video

  • Fixing GOP length of 0 producing all-intra encodes and being lost on reload

  • Fixing video speed and reverse warning dialogs popping up while loading videos, profiles or queue items

  • Fixing Data & Attachments track selection being lost after switching to an incompatible output format and back

  • Fixing Source Details tab leaving the HDR10 button visible after clearing the video, rendering tag text as HTML, and silently ignoring save errors

  • Fixing missing word wrap in yes/no dialogs, queue titles not eliding, and disabled toggle switches not looking disabled

  • Fixing missing and English-only translations for new strings

  • Adding SVT-AV1 tune options 3 (IQ), 4 (MS-SSIM) and 5 (VMAF) (IQ and MS-SSIM for AVIF), Variance Boost (strength and octile), temporal filtering, startup mini-gop size and quantization matrix (min/max) options to the SVT-AV1 encoder

  • Fixing config file being written non-atomically; it is now replaced atomically with a .bak kept, and a corrupt or truncated config falls back to the backup (or defaults, keeping the bad file aside) instead of preventing startup

  • Fixing a single invalid profile or wrongly-typed config value preventing FastFlix from starting

  • Fixing legacy fastflix.json upgrade setting the ffmpeg path from the ffprobe value

  • Fixing a single unreadable queue item discarding the entire saved queue; bad items are skipped and the original queue file is kept aside

  • Fixing queue file lock handling and replacing the queue file atomically on Windows, and cleaning up leftover temporary queue files

  • Fixing a corrupt history file being overwritten with an empty history (it is now moved aside to history.yaml.corrupt- and a new history started, while a file that is only temporarily unreadable is left untouched), and history thumbnail deletion following paths outside the thumbnails folder

  • Fixing encodes killed by a signal (out of memory, crash) being reported as successful

  • Fixing cancel, pause and resume not affecting every process of a piped or shell-run command

  • Fixing Download FFmpeg latest from the version warning dialog raising an error

  • Fixing AMD (Advanced Micro Devices, ATI) GPUs not being detected, and GPU encoder downloads that fail or are cancelled never being retried

  • Fixing the encoder worker leaving ffmpeg running or hanging on exit after a crash or closing the GUI

  • Fixing HDR10+ detection checking the wrong stream and reading entire files

  • Fixing the FastFlix update check failing on unusual release tags and having its timeouts reversed

  • Fixing file paths with spaces near the start being altered in subtitle and LUT filters

  • Fixing FFmpeg, rigaya encoder and hdr10plus_tool downloads lacking timeouts and checksum verification, and picking the wrong FFmpeg build or version

  • Fixing concat list files resolving relative paths and escaped quotes incorrectly

  • Fixing the overwrite confirmation allowing Esc to overwrite an existing output file

  • Fixing the after-done action running when an encode is cancelled or paused

  • Fixing crop and large preview images not rendering (ffmpeg was run through a shell) and hanging without a timeout

  • Fixing drag and drop of non-file URLs and slow rebuilds and overlapping thumbnail generation while typing start, end or crop values

  • Fixing a hung FFmpeg thumbnail process blocking all later thumbnail generation (it now times out after 2 minutes)

  • Fixing deleting a duplicated audio track breaking the remaining audio tracks, and audio title edits rebuilding commands on every keystroke

  • Fixing HDR10+ extraction using a full CPU core while waiting, and post-encode validation hanging with no timeout

  • Fixing file paths being rendered as rich text in concat, multiple files and profile windows, and removing the unused HDR10+ Inject window

  • Fixing VCEEncC pre analysis (--pa) being passed as a single argument containing a space

  • Fixing invalid --vpp-deblock parameters on NVEncC, QSVEncC and VCEEncC

  • Fixing output frame rate using a non-existent --vpp-fps option; NVEncC now uses --vpp-fruc, QSVEncC and VCEEncC ignore it with a warning

  • Fixing HDR10 mastering display and max CLL metadata being written when tone mapping to SDR on rigaya encoders

  • Fixing NVEncC custom arguments being split on whitespace instead of shell quoting, and video stream id 0 being ignored on rigaya encoders

  • Fixing NVEncC AV1 emitting HEVC only --tier, and VCEEncC AV1 emitting H.264/HEVC only --motion-est and --vbaq

  • Fixing NVEncC profile, and VCEEncC HEVC/AV1 B frames being collected but never passed to the encoder

  • Fixing QSVEncC lookahead depth being passed with rate control modes that ignore it, and AV1 lookahead missing --extbrc

  • Fixing rigaya encoder detection finding no devices when the encoder prints warnings, and hanging on a stuck encoder

  • Adding NVEncC --tune option (hq, uhq, lowlatency, ultralowlatency, lossless) and NVEncC / QSVEncC / VCEEncC quality based VBR (--qvbr)

  • Fixing PGS (hdmv_pgs_subtitle) burn-in generating a text subtitles filter that fails; bitmap subtitles are now overlaid, and after tone mapping

  • Fixing bitmap subtitle tracks (PGS/VobSub) failing MP4/MOV encodes (they are now skipped) and -default_mode being passed to non-Matroska muxers

  • Fixing burn-in of the first subtitle track not renumbering later subtitle tracks, and external subtitle burn-in track lookup

  • Fixing audio conversion crashing on channel layouts such as 5.1.2, 7.1.4 and octagonal, unknown layouts being forced to stereo, and AC-3 quality bitrates exceeding the 640k limit

  • Fixing HDR tone mapping being applied after color grading filters, dimming burned-in bitmap subtitles, dropping to 8-bit for 10-bit targets, and not tagging the SDR output as bt709

  • Fixing invalid pad colors breaking the filter chain, quoted values and backslashes in custom start options being mangled on Windows, and eq being forced to per-frame evaluation

  • Fixing PGS OCR reporting failure when the .srt already exists, not handling ISO 639-2/B language codes (fre, ger, chi), and modifying the global PATH

  • Fixing VAAPI encoders passing the invalid -low-power option instead of -low_power

  • Fixing VAAPI scaling being silently dropped, and VAAPI filters (crop, rotate, scale, burn-in) now run on software frames before hwupload so sources the GPU cannot hardware-decode no longer fail at hwdownload

  • Adding 8-bit/10-bit selection for VAAPI HEVC and VP9 (nv12/p010 upload with Main10/Profile 2), and fixing VAAPI HDR to SDR tone mapping so it receives 10-bit p010 input

  • Fixing VAAPI ICQ/QVBR rate control to use -global_quality, avoiding incoherent rate control and bitrate combinations, and no longer emitting -level auto

  • Fixing removed NVENC presets and rate control modes (hp, hq, ll, lossless, vbr_hq, ...) in saved profiles and queues, they are now converted to the equivalent p1-p7 preset and tune

  • Adding NVENC multipass selection (disabled, qres, fullres) for HEVC bitrate encodes

  • Adding HEVC and AV1 NVENC temporal AQ, AQ strength, constant quality (CQ), temporal filter, lookahead level, split encode, weighted prediction, unidirectional B-frames and no scenecut options

  • Fixing AV1 NVENC AQ Strength showing the wrong value when loading a profile

  • Fixing HEVC in MP4, M4V and MOV not being tagged hvc1, which prevented playback in QuickTime, iOS and Safari (x265, NVENC, VAAPI and VideoToolbox)

  • Fixing VideoToolbox bitrate mode running a useless first pass (VideoToolbox ignores two-pass), it is now a single pass with an optional constant bit rate setting

  • Fixing HEVC VideoToolbox failing when the profile (Main/Main10) did not match the selected bit depth

  • Fixing VVC (libvvenc) two-pass encoding and bitrate caps failing at encoder init by using FFmpeg -pass/-passlogfile instead of pass/rcstatsfile/vbv-* keys in -vvenc-params

  • Fixing VP9 CRF encoding ignoring the Speed setting (and the fast first pass option) in single and two-pass modes

  • Fixing GIF encoding of HDR sources producing washed-out colors by tone mapping when Remove HDR is set, and dropping frames to the target FPS before scaling so GIF creation is faster

  • Fixing x265 two-pass stats file being written to the working directory instead of the FastFlix work path, and x265 HDR10 settings leaking into later rebuilds of the same video

  • Fixing HDR10 metadata (mastering display, max CLL) being dropped for 4:2:2 and 4:4:4 10/12-bit output in x265, x264, SVT-AV1, rav1e and VVC encoders

  • Adding HDR10 mastering display and content light level metadata for 10-bit AVC (x264) encodes

Don't miss a new FastFlix release

NewReleases is sending notifications on new releases.