VideoExport插件教程:序列帧录制与FFmpeg合成参数全面解析
简介《视频导出插件教程-VideoExport V1.1.0》是一份面向恋活工作室玩家的PDF文档详解插件从启动到完成录制的完整流程可输出MP4、WEBM、GIF、AVI及序列帧适合游戏录像、动画制作与自定义渲染需求。资源为单个PDF文件约310KB内容由插件开发者joan6694编写另附中文整理说明。当前已有3691人学习既适合刚接触该插件的新手快速上手也方便有经验的玩家对照排查设置问题。文档先介绍通过左CtrlE热键启动插件并提醒与部分人物卡导出插件存在冲突接着逐项解析帧速率常见24、25、30、50、60、自动合成视频、自动删除序列帧、按帧/秒/动画时间设定结束条件、自定义输出分辨率等核心选项。进阶部分则对比Screenshot Manager与内置BMP捕获插件讲解3D模式、MP4/WEBM的编码器H.264/H.265/VP8/VP9质量与预设以及GIF、AVI的适用场景同时说明cfg配置文件对输出目录和帧缓存目录的调整方法帮助用户按需组合设置得到清晰流畅且体积可控的录制结果。1. 这个录制插件为什么绕开了显卡性能VideoExport 这类插件的思路和录屏软件完全不同。常规录屏OBS、Bandicam 这类走的是抓屏路线画面经过 GPU 渲染管线后在显示环节被截取并编码机器性能不够时帧率直接掉。VideoExport 的做法是先让游戏画面白屏把渲染链路里写屏的那一步替换成“写序列帧”也就是一帧一帧 BMP 落盘最后再统一交给 FFmpeg 合成。这个方案带来的直接效果是录制帧率和游戏内实时帧率解耦哪怕场景卡到十几帧导出的视频仍然能维持在 24/30/60fps代价是录制耗时是视频时长的数倍。适合的场景很明确——渲染负重、需要稳定帧率、或者打算通宵挂机出片的场景如果你是做 MMDFormat 舞蹈视频、场景展示、或者要给 3D 作品做预渲染这个插件比外挂录屏靠谱得多。2. 从菜单到 CFG把录制参数一次说透启动热键是左 CtrlE这一点建议刻意记住因为官方教程里提到的冲突问题非常实际工作室的某个人物卡导出插件会占用同一组热键表现是启动了没反应。绕过办法是先保证场景内没有人物启动插件后再添加角色。如果只按下没弹菜单优先排查是不是已经有别的东西吃掉了这个组合键。菜单里第一组要动的是录制控制和帧率。Framerate 决定每秒写多少帧序列帧常用值之间的取舍如下帧速率流畅度表现产出体积适用场景24电影感轻微顿挫最小慢节奏镜头、剧情展示25/30观感连贯通用性最好中等大部分网络平台发布50/60丝滑动作细节完整明显增大舞蹈动作、快速镜头、后期慢放设置帧率时不要只看流畅度还要把结束条件一起算进去。Limit By 提供三种结束方式Frames 按帧数截断、Seconds 按秒数截断、Animation 按动画时间截断。三者的换算关系很直接总帧数 总秒数 × 每秒帧数。我一般会先确定需要的视频长度再反推计数器数值。比如目标是一条 15 秒的 30fps 视频Limit Count 填 450如果是 60fps 就是 900。这里容易踩的坑是 Animation 模式的判定方式和前两种不同它的计数器与当前播放的动画时间轴绑定而不是墙上时钟所以实际耗时受动画播放速度和游戏内部时钟影响不能拿秒表硬比。分辨率设置放在 Resize 里。不勾选时按当前屏幕分辨率输出勾选后可以手动指定宽高Default 按钮一键填回屏幕分辨率。建议通常保持关闭让它跟随工作室的分辨率设置。真正的输出位置由配置文件决定默认视频放在BepInEx\plugins\VideoExport\Output序列帧放在BepInEx\plugins\VideoExport\Frames。帧序列文件按“前缀 帧序 后缀 扩展名”命名帧序是纯数字不补零这一点后面手动合成视频时要特别注意排序方式。Auto Generate Video 和 Auto Delete Images 这两个开关决定了录制结束后干什么。前者打开会调用 FFmpeg 把序列帧合成为 MP4/WEBM/GIF/AVI后者在合成完成后自动清掉 Frames 目录里的 BMP。如果你只是想要序列帧做后期可以关掉自动合成反过来只想出成品视频不想留中间产物就两个都开。开始录制前把 Start Recording On Next Click 打开它会等下一次鼠标单击才真正开始这个设计对 VMD 插件尤其有用——你可以先把动画调好点击一次播放键的同时触发录制播放和录制在同一点起步。配置文件的调整逻辑和 GUI 菜单完全对应。插件把设置持久化在com.joan6694.illusionplugins.videoexport.cfg用文本编辑器打开后会看到类似这样的内容selectedScreenshotPlugin0 framerate60 autoGenerateVideotrue autoDeleteImagestrue selectedLimitDurationType0 limitDurationNumber7200 selectedExtension0 resizefalse outputFolderBepInEx\plugins\VideoExport\Output framesFolderBepInEx\plugins\VideoExport\Frames其中selectedLimitDurationType的 0/1/2 分别对应 Frames、Seconds、AnimationselectedExtension的 0/1/2/3 对应 MP4、WEBM、GIF、AVI。GUI 里每改一个值最终都会落到这个文件反过来直接改配置也能生效适合批量部署或者给多台机器统一参数。注意limitDurationNumber类型是小数改的时候保留小数点不会报错但实际是按截断处理的。多数情况下在菜单里设置完直接录就行cfg 主要用于复现已有录制配置——把整个文件拷贝给同事或换机时插件行为能完全一致。3. 捕获链路的选型Screenshot Manager、Build-in BMP 与 3D整个录制管线的上游是屏幕捕获插件VideoExport 并没有自己去做抓屏而是把抓屏职责抽象出来允许在两种实现之间切换。Screenshot Manager 是 IllusionMods 组织开发的捕获方案支持捕获取景器画面和 360 度全景画面默认带超采样抗锯齿Build-in BMP 是作者自己写的 BMP 导出器只提供超采样倍率调节不支持透明通道。选型时要意识到Build-in BMP 更接近原始实现兼容性稳但能力上限低Screenshot Manager 适合要全景、抗锯齿或后续接 VR 渲染的场合。如果录制过程中出现花屏、画面错位、或者透明背景需求优先怀疑捕获插件选错了而不是参数没调对。超采样倍率bmpSizeMultiplier是个容易误用的参数。它表示输出分辨率相对屏幕分辨率的倍数2 就是宽和高各翻一倍像素总量是四倍。超采样对最终画质的影响本质上是抗锯齿对静止帧特别明显阴影边缘和发丝轮廓会平滑很多但代价是写入磁盘的 BMP 数量不变、单张体积变大。当机器负载高、或者磁盘写入速度跟不上帧率时我一般不开超采样而是把分辨率直接拉高再靠视频编码降下来效果接近且省内存。3D 输出由 Screencap_in3d 控制勾选后插件会录制左右眼两个视角的画面合成双目视频以配合 VR 设备。这个功能只有在选择 Screenshot Manager 时才生效。开启后录制时间是普通模式的近两倍因为每帧要渲染两次。同时Screencap_captureType 可以选择 0摄像机模式和 1360 度全景模式。全景模式适合做沉浸式场景展示但输出分辨率要求高编码压力也会显著提升不推荐在低端配置上开。Rotation 旋转参数在 GUI 里是 None、90°CW、180°、90°CCW 四个选项在 cfg 里则映射为 0/1/2/3。需要留意的是它旋转的是输出视频的方向不是游戏画面的相机角度。我通常会在手机竖屏观看的场景里把横向录制的视频旋转 90°CW这样可以省掉一道后期转码的工序。Dynamic Bones Update Mode 控制物理引擎更新骨骼的频率Default 是固定的 50HzEvery Frame 则是与录制帧率同步。当录制帧率高于 50fps 时Every Frame 能让头发、裙子这类动态骨骼表现更顺滑但物理计算量也相应增大帧率不高的情况下维持 Default 即可。4. 编码参数对照MP4 / WEBM / GIF / AVI 怎么选VideoExport 的 Format 下拉框一共四个出口实际编码路径差异很大。MP4 是通用性最好的选择封装设计优秀几乎全平台可播放WEBM 作为开放格式在网页端表现好GIF 只有 256 色色彩还原最差AVI 则是旧设备的兼容性选项。既然教程本身给的 PDF 手册就是「快速定位 参数说明」的结构下面按格式把关键参数捋一遍方便录制前直接做决定。MP4 的编码配置包含 Code、Quality、Encoding Preset 三项。Code 默认 H.264H.265 虽然同体积画质更好但截止到目前为止大量播放器、浏览器、聊天工具对它的支持仍然不完整如果视频要发出去给别人看别碰 H.265。Quality 是 CRF 一类的质量参数数值越小画质越高体积越大默认 18 对肉眼来说基本无痕。Encoding Preset 控制编码速度与体积的平衡越慢体积越小。经验值如下场景编码器QualityPreset说明网络发布通用H.26418-206 或更慢画质体积均衡高码率留档H.26414-16最慢档接近无损体积大本机预览H.26423最快档快速出片看节奏移动/浏览器兼容H.264206避开 H.265 兼容性问题极限体积压缩H.26518慢速仅当确认所有播放端支持WEBM 的参数结构和 MP4 对应Code 可选 VP8 和 VP9。VP9 同体积下比 VP8 画质好但移动平台支持度次一些。WEBM 的 Quality 用 10 左右对肉眼就足够。Encoding Preset 在 cfg 里对应 webmDeadline取值范围 0-20 最慢最精细2 最快体积最大。GIF 是一个需要提前接受其局限性的格式。256 色调色板意味着渐变和复杂纹理必然出现色块作者给出的建议是低分辨率导出。实际使用中我一般把分辨率压到 720 以下再生成 GIF这样色块问题在视觉上会被掩盖不少。另外需要注意 Build-in BMP 捕获器和 GIF 搭配可能不正常建议使用 GIF 时切到 Screenshot Manager。AVI 则纯粹是面向老设备的兜底选择新项目里没必要主动选它只有在旧型号播放器不支持 MP4 解码时才考虑。mp4Preset在 cfg 中的取值范围是 0-8依次变快0 最慢。这个值在 GUI 里直接选的话推荐从中间档位起步录制时长越长越值得把档位调慢换取体积收益。与 x264 的 preset 对应关系可以理解为0≈placebo、4≈medium、8≈ultrafast但不建议完全等价看待。FFmpeg 内部还是按参数逐项去设置的所以实践中更稳妥的做法是观察同场景下两次渲染的产出大小和耗时再决定往快调还是往慢调。5. 控制录制节奏Animation 计数、帧序列与挂机渲染Animation 结束条件值得单独提出来说。它按动画时间轴计数配合prewarmLoopCount使用可以跳过动画前一段不稳定的起始帧。比如角色的裙子物理在动画开始后的前 10 帧还在摆动收敛直接录会录进一段抖动把 prewarmLoopCount 设为 10插件会等动画播过 10 帧后才真正开始写帧序列。这个参数的实际作用相当于“预热”对依赖物理演算的动画镜头非常关键。帧序列生成完成后如果没开 Auto Generate Video可以手动调用 FFmpeg 合成。用下面这条命令能把 Frames 目录下所有 PNG/BMP 按帧序合成 MP4ffmpeg -framerate 60 -i BepInEx/plugins/VideoExport/Frames/frame_%d.png -c:v libx264 -crf 18 -pix_fmt yuv420p output.mp4注意-i里的%d是通配数字序号的占位符因为插件输出的帧序不补零这种写法能正确匹配 1、2、3 直到任意位数如果文件名是补零的要改成%04d形式。-pix_fmt yuv420p是兼容性关键不加的话某些播放器会出绿屏或无法硬解。编码参数参考上一章的表格按需调整即可。通宵挂机渲染时把 Empty Scene Before Encoding 和 Close Studio When Done 都勾上。前者保证 FFmpeg 编码阶段不会受场景里物理演算的干扰后者在全部完成后直接关游戏进程。这样 GPU 可以在渲染结束后自动降负载避免早上起来发现机器热了一整夜。录制中白屏是设计行为不是崩溃——这套插件本质上是把整个渲染过程从实时推到了编码阶段白屏期间屏幕只是没有回显序列帧仍在按设定帧率往磁盘写。判断是否真正卡住看磁盘写入活动和 Frames 目录的帧数增长比看画面可靠。本文还有配套的精品资源点击获取

相关新闻

TIA Portal V20安装全攻略:从系统准备到许可证配置

TIA Portal V20安装全攻略:从系统准备到许可证配置

新电脑到手,准备装TIA Portal V20,结果装到一半报错、装完打不开、打开之后没许可……这几件事我见过太多。TIA Portal,大家在工控圈里更习惯叫它博图,是Siemens S7-1200/1500、HMI和驱动调试的集成工程平台。V20是目前比较新的版…

2026/9/19 12:35:37 阅读更多 →
换电站电池动态充电策略:SOC-温度耦合建模与工程落地

换电站电池动态充电策略:SOC-温度耦合建模与工程落地

简介:本资源是一篇发表于2015年《电气工程》期刊的学术论文,聚焦电动汽车换电站电池充电策略优化这一关键技术问题,面向新能源汽车、智能电网与微电网领域的研究人员、工程师及高校师生。研究以平抑含风电、光伏的微电网等效负荷波动为目标&a…

2026/9/19 12:35:37 阅读更多 →
介电弹性体工程化指南:应变率调控与疲劳寿命优化

介电弹性体工程化指南:应变率调控与疲劳寿命优化

简介:这份PDF文档是围绕仿生肌肉驱动机构的系统性技术资料,面向介电弹性体、柔性电子与智能驱动器领域的研究人员和工程师。它从介电弹性体材料基础特性与驱动原理讲起,依次覆盖应变率调控机制、多物理场建模、梯度结构设计、预拉伸与复合电极…

2026/9/19 12:34:37 阅读更多 →

最新新闻

基于Python的软件故障预测框架:从监控告警到提前预警

基于Python的软件故障预测框架:从监控告警到提前预警

简介:一份基于Python的软件故障预测框架源码包,面向软件质量保障、数据挖掘方向的开发者与研究人员,针对静态代码度量与面向对象度量中的特征冗余、样本不平衡问题,提供从特征选择、数据平衡到分类建模的完整流程。包内包含RF信息…

2026/9/20 20:59:21 阅读更多 →
ClickHouse CI Engine:基于 Webhook、SQS 与 EC2 常驻 Runner 的自托管 CI 编排引擎解析

ClickHouse CI Engine:基于 Webhook、SQS 与 EC2 常驻 Runner 的自托管 CI 编排引擎解析

ClickHouse CI Engine:基于 Webhook、SQS 与 EC2 常驻 Runner 的自托管 CI 编排引擎解析 【免费下载链接】ClickHouse ClickHouse is a real-time analytics database management system 项目地址: https://gitcode.com/GitHub_Trending/cli/ClickHouse 导读…

2026/9/20 20:59:21 阅读更多 →
Yoga 样式(Styling)系统深度解析:默认样式、边框盒语义、边(Edge)与单位模型

Yoga 样式(Styling)系统深度解析:默认样式、边框盒语义、边(Edge)与单位模型

Yoga 样式(Styling)系统深度解析:默认样式、边框盒语义、边(Edge)与单位模型 【免费下载链接】yoga Yoga is an embeddable layout engine targeting web standards. 项目地址: https://gitcode.com/gh_mirrors/yog/…

2026/9/20 20:59:21 阅读更多 →
Slang 语言参考:向量与矩阵类型(Vector/Matrix Types)完整指南

Slang 语言参考:向量与矩阵类型(Vector/Matrix Types)完整指南

Slang 语言参考:向量与矩阵类型(Vector/Matrix Types)完整指南 【免费下载链接】slang Making it easier to work with shaders 项目地址: https://gitcode.com/GitHub_Trending/sl/slang 本篇指南以 Slang 官方语言参考中《Vector an…

2026/9/20 20:59:21 阅读更多 →
pnpm 版本切换拒绝损坏版本:从 `packageManager` 钉住到 `ERR_PNPM_BROKEN_PNPM_RELEASE` 的完整机制

pnpm 版本切换拒绝损坏版本:从 `packageManager` 钉住到 `ERR_PNPM_BROKEN_PNPM_RELEASE` 的完整机制

pnpm 版本切换拒绝损坏版本:从 packageManager 钉住到 ERR_PNPM_BROKEN_PNPM_RELEASE 的完整机制 【免费下载链接】pnpm Fast, disk space efficient package manager 项目地址: https://gitcode.com/gh_mirrors/pn/pnpm 本指南以 pnpm 仓库的变更记录 refuse…

2026/9/20 20:59:21 阅读更多 →
Page Assist:免费本地AI浏览器助手,任意网页一键呼出AI

Page Assist:免费本地AI浏览器助手,任意网页一键呼出AI

Page Assist:免费本地AI浏览器助手,任意网页一键呼出AI 【免费下载链接】page-assist Use your locally running AI models to assist you in your web browsing 项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist 读一篇长文档、啃…

2026/9/20 20:58:20 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →