Menu ▾ ▴

#63 Video Frame Splitting

open
nobody
enhancement (9)
2026-10-12
2026-10-12
Anonymous
No

Originally created by: pleguen
Originally owned by: KnifeLemon

What would you like Filee to do?
I would like Filee to support Video Frame Splitting / Extraction when converting a video file (MP4, MKV, MOV, etc.) into an image format (JPEG or PNG).

Instead of converting the video into another single video container, Filee should be able to explode/split the video file into its individual frames (a full sequence of images) and save them inside a dedicated subfolder named after the original video (e.g., /MyVideo_frames/).

Why / when would you use it?
I'm a photographer doing Focus Stacking (especially in macrophotography). Many modern cameras or setups record focus bracketing sequences as high-resolution 4K video files.

Currently, web-based tools fail or skip frames and doing it manually via VLC or scripts is tedious. Having this natively at a "right-click" distance in Filee would be a nice to have feature.

Ideas for how it could work
Since Filee already relies on FFmpeg under the hood for video conversions, the engine is already there! The application just needs to detect if the source is a video and the target output is selected as JPEG or PNG, then run a frame extraction command instead of a standard format conversion.

  1. Target Folder Creation: Automatically create a subfolder in the output directory to avoid flooding the user's workspace with thousands of images:
    [Output_Directory]/[Video_Name]_frames/

  2. Underlying FFmpeg command suggestion:
    bash ffmpeg -i "input.mp4" -q:v 2 "[Output_Directory]/[Video_Name]_frames/frame_%04d.jpg"
    (Note: -q:v 2 ensures high-quality JPEG extraction without massive compression artifacts, which is critical for photography and stacking software).

Work in progress :

https://github.com/pleguen/Filee/pull/1

Discussion

  • Anonymous

    Anonymous - 2026-10-12
     
  • Anonymous

    Anonymous - 2026-10-12

    Originally posted by: KnifeLemon

    Thanks for this, and for already getting it working in your fork! I'd love to have it in Filee. Could you open the PR against KnifeLemon/Filee? It'll be merged under your name, and you'll be in the release notes as a contributor.

    A few changes it needs first, because video → JPG/PNG already has a job today:

    1. Make it a preset option, off by default: "Save every frame as images". Right now video → JPG/PNG saves one still frame, and other routes depend on it (video → WebP/PDF go through that single PNG). Splitting by default would turn a thumbnail preset into thousands of files and break those routes.
    2. Option: MediaOptions in src/Filee.Core/Presets/Preset.cs
    3. Checkbox: PresetEditorViewModel + PresetEditorView.axaml, with strings in Assets/i18n (en/ko/zh-CN; English for all three is fine and I'll translate).
    4. Keep what the still frame does: PosterFrame in MediaEncoding.cs applies SquarePixels (anamorphic video) and rotation. Please keep Video_gives_a_still_frame_for_images as it is, and add a new test for the sequence.
    5. Folder: take the path from step.Output and create a unique folder (MyVideo_frames, then MyVideo_frames (2)) instead of writing into an existing one.
    6. Nice to have for long 4K clips: "every Nth frame" or "frames per second".
    7. JPG quality can follow the preset's quality (Image.Quality) instead of a fixed -q:v 2.

    CONTRIBUTING.md has the build and test steps. Ping me if anything is unclear, and no rush.

     

Log in to post a comment.