Skip to content
TanPassPublic

About

ФОРМА / FORMA - Constructivist FFmpeg GUI for Windows (single 1.3 MB exe, .NET Framework 4.8 + WebView2). Transcode, remux, mux, trim, frames, images, subtitles, GPU.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

FORMA / ФОРМА

GitHub Release License Size

FFmpeg 构成工坊 — 一个体积只有 1–2 MB 的 Windows 单文件图形界面,把 ffmpeg 的全部常用能力收进一套构成主义(Constructivism)界面:转码、封装、合流、剪辑、截帧、图片转换、GPU 加速、字幕。

单文件 FORMA.exe,不安装、不解压目录、不写注册表;ffmpeg 由程序自动探测(也可以一键下载)。

FORMA 主界面

设置与 GPU 检测

截帧与缩略图

特性

  • 六大工作模式(左栏 01–06):转码 / 封装合流 / 剪辑截取 / 帧与缩略图 / 图片 / 队列
  • 自由组合:视频编码器 × 音频编码器 × 容器三者任意搭配;也可以只留视频(去音轨)或只留音频(提取音轨)
  • 转码:H.264 / H.265 / AV1 / VP9 / VP8 / MPEG-4 / ProRes / GIF,质量滑块(CRF / 目标码率 / 无损)、preset、tune、profile、像素格式
  • 封装(remux):-c copy 换容器,秒级完成不损画质;合流(mux):视频 + 音频 + 字幕自由组合、替换音轨、保留或烧录字幕
  • 字幕:保留原字幕轨、封装外部字幕(SRT / ASS / VTT → 独立字幕轨,mp4 自动转 mov_text)、烧录进画面(可调字号)、以及从视频中提取字幕为 SRT / ASS / VTT / TXT
  • GPU 加速:自动检测 NVENC / QSV / AMF / VideoToolbox 编码器与 D3D11VA / CUDA / QSV 硬件解码;失败自动回退同族软件编码器
  • 剪辑与截取:起止时间精确剪辑、按段拆分、无损关键帧切割
  • 帧:单帧导出(PNG/JPG/WEBP)、按间隔抽帧、按 fps 抽帧、仅关键帧、缩略图拼贴(sprite sheet)
  • 图片:批量转码、缩放、旋转/翻转、质量/无损、背景色填充;图片序列 ↔ 视频
  • 队列:并行任务、实时进度/速度/剩余时间/码率、任务日志、取消、重试、重名自动避让(_1/_2,绝不覆盖已有文件)
  • 拖放导入:文件直接拖进窗口即可
  • 命令行预览:每次执行前都能看到将运行的 ffmpeg 命令行,可复制
  • 无边框自绘窗口:构成主义版式,米白纸底 / 墨黑 / 朱红 / 芥末黄,硬阴影、斜纹进度、时间码

运行要求

项 要求
系统 Windows 10 1809+ / Windows 11(x64 或 arm64)
运行时 .NET Framework 4.8(Windows 10 1903+ 自带)
界面 Microsoft Edge WebView2 Runtime(Win11 自带;Win10 通常随 Edge 安装)
ffmpeg 不需要预装:程序自动探测;找不到时界面内一键下载

首次使用

  1. 双击 FORMA.exe。
  2. 程序按以下顺序寻找 ffmpeg:设置中指定 → exe 同目录 → PATH → WinGet 安装目录 → 常见安装路径。
  3. 找不到时点「下载 ffmpeg」:自动从 gyan.dev 获取 essentials 构建(约 114 MB),解压到本地数据目录并立即启用。
  4. 把视频/音频/图片拖进窗口,或在左栏选模式后点「选择文件」。

数据目录:优先 exe 同级/FormaData,不可写时用 %APPDATA%\Forma。日志在 logs\forma-YYYYMMDD.log。

六种模式

# 模式 说明
01 转码 TRANSCODE 换编码/改质量/缩放/改帧率;自由组合视频+音频编码与容器;字幕保留/封装/烧录
02 封装合流 REMUX / MUX 换容器(无损 copy)、视频+音频+字幕合流、替换音轨
03 剪辑截取 TRIM 起止时间精确剪辑、按段拆分、导出片段
04 帧与缩略图 FRAMES 单帧、序列、关键帧、缩略图拼贴、GIF
05 图片 IMAGE 批量图片转码/缩放/旋转,图片序列与视频互转
06 队列 QUEUE 任务队列、进度、日志、取消/重试

字幕

在 01 转码页的「字幕 / SUBTITLES」折叠区,或直接点顶部的两张快捷卡:

模式 行为
保留原字幕 COPY 原字幕轨原样带进输出(容器支持时)
封装外部字幕 EMBED 选一个 .srt / .ass / .vtt 等外部字幕,作为独立字幕轨封装;mp4/mov 转 mov_text,mkv 保留原格式
烧录进画面 BURN 用 libass 把字幕压进画面,可调字号;输出不再有字幕轨
提取字幕(快捷卡) 把视频里的第一条字幕轨导出成 .srt 文本(引擎同时支持 ass / vtt / txt)

GPU 加速

  • 启动时探测可用硬件编码器(NVENC / QSV / AMF 等)与硬件解码器(D3D11VA / CUDA / QSV / DXVA2)。
  • 在编码器下拉框中选择带 GPU 标记的编码器即可;解码可选「自动」或指定后端。
  • 硬件编码失败时自动回退到同族软件编码器重试一次,任务不会因此失败。

快捷键

键 动作
Ctrl+O 选择文件
Ctrl+Enter 加入队列
Delete 移除选中任务
Esc 关闭弹层 / 取消当前编辑
F12 开发者工具(仅当设置里开启 devTools)

体积与实现

部分 说明
宿主 C# / .NET Framework 4.8 / WinForms,单文件 exe,约 1.3 MB
界面 纯静态 HTML/CSS/JS(无框架、无 CDN、无构建步骤),内嵌在 exe 资源里,运行时释放到临时目录
渲染 WebView2(手动 CoreWebView2Controller,只嵌入 Core SDK 与 WebView2Loader.dll)
引擎 子进程调用 ffmpeg/ffprobe,-progress pipe:1 解析进度,taskkill /T 取消
ffmpeg 不内嵌(内嵌会让体积增加 100–200 MB),改为自动探测 + 一键下载

构建

需要 Windows + .NET Framework 4.8(系统自带)+ 仓库内 vendor 的 Roslyn 编译器与 WebView2 SDK (tools/vendor/ 已裁剪到只保留构建必需的 csc 与 WebView2 托管/原生 DLL,约 26 MB):

powershell -NoProfile -ExecutionPolicy Bypass -File .\build.ps1

产物:dist\FORMA.exe。加 -Check 可只做编译检查(使用 tests\_stub\EngineStub.cs 桩)。 测试素材不随仓库分发,运行 tests/qa/make-media.ps1 可重新生成。

目录

forma/
  build.ps1            构建脚本(csc 直接编译,无需 dotnet SDK)
  src/                 宿主(窗口、桥、配置、ffmpeg 定位/下载)
  src/Engine/          引擎(能力探测、probe、命令构建、队列)
  ui/                  静态界面(index.html + css/ + js/ + assets/)
  docs/                PROTOCOL.md(宿主↔前端协议)/ JOBSPEC.md / DESIGN.md / QA.md
  tests/               引擎自测、QA 脚本与素材
  assets/forma.ico     应用图标
  dist/FORMA.exe       交付产物

许可与第三方

  • FORMA 本体(宿主 + 界面 + 文档):MIT,见 LICENSE。
  • ffmpeg 不在本仓库、也不在 FORMA.exe 内:程序运行时调用用户机器上的 ffmpeg/ffprobe 子进程(不链接、不嵌入)。一键下载只是替你从 gyan.dev 取回第三方构建。
  • 再分发 ffmpeg 时(打包进安装器、随介质分发等)必须自行满足其 GPLv3 要求:附许可全文、提供对应源码或书面承诺、保留版权声明。详见 LICENSING.md 与 THIRD-PARTY-NOTICES.md。
  • WebView2 SDK / .NET Framework:Microsoft 许可;运行时由系统提供。
  • 字体:仅使用 Windows 自带字体(Bahnschrift / Microsoft YaHei UI),不分发字体文件。

About

ФОРМА / FORMA - Constructivist FFmpeg GUI for Windows (single 1.3 MB exe, .NET Framework 4.8 + WebView2). Transcode, remux, mux, trim, frames, images, subtitles, GPU.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages