Hey All,
I’ve been seeing a few posts again on generating thumbnail previews and it’s motivated me to share my OFS fork I’ve recently finalized.
To Preface, this is vibe-coded. I don’t have the experience in C or C++. I tend to keep my Cs SHARP. The changes to the fork are relatively small so all of the root functionality of the app are untouched. I’ve simply expanded some sections of the app.
It’s still just OFS
Don’t have high expectations! This is just OFS with a few +1s. It’s still the same interface and scripting workflow. Nothing fancy has been added to the functionality.
So it’s just OFS?
Well… yes, it’s OFS with my personal workflow integrated to help create previews and multi-axis scripts. It’s based on Dimava’s Fork not the original.
Sooo what is different about it?
- 3D Device Simulator is back in the editor.
No more having to overlay a third-party application on your screen. You can disable or enable it on the fly inside of OFS! It has quite a few options to configure it as well. - Ability to export both quality script previews and previews alike. It supports AV1 with Audio and .WebPs with scalable resolutions. Again, no need for 3rd party software to make this possible.
Why did you bother doing this?
Well because someone pointed out how inefficient my previous process was. I won’t name names but they drove me to this point so I guess I should thank them.
I hated using the external 3D simulator because I tend to tab in and out while scripting (short attention span ftw) and it would continue to overlay on everything. I would have to move it off screen, reposition it back on screen etc… It became annoying so I thought.. why not just put it back into OFS. IT belongs there anyway.
In my script collection and in every post, I would manually edit each and every preview in Adobe Premiere and After Effects. Takes a lot of time to just prep a post.
My original workflow was:
- Input video into Premiere, cut various clips 2-3 normal previews, 1 thumbnail.
- Export to Adobe Media Encoder as h.264
- Re-encode to .WebPs via Ffmpeg
- Record OFS with 3d Simulator on screen.
- Upload to After Effects, crop screen
- Reimport to Premiere, cut it.
- Export to Adobe Media Encoder as h.264
- Re-encode to AV1 via Ffmpeg
Pretty bad huh, it produced quality but it is pretty innefficient.
Now its:
- Create chapters for previews
- Export as preview for each.
- Done.
Why not GIFs? (They are a thing of the past)

Because GIFs suck.
No seriously just look at this:
| Feature | GIF | Animated WebP |
|---|---|---|
| Color depth | 256 colors | 24-bit color (16.7 million colors) |
| Transparency | 1-bit (on/off only) | 8-bit alpha (smooth transparency) |
| Compression | Lossless (LZW), inefficient | Lossy or lossless, highly efficient |
| File size | Large | Typically 25–80% smaller |
| Animation | Yes | Yes |
| Partial frame updates | Limited | Efficient frame compression |
| Audio | No | No |
| Browser support | Universal | Supported by all major modern browsers |
| Created | 1987 | 2010 |
There are only a few disadvantages of .WebPs and it all stems in the lack of support from older applications and editing software otherwise they absolutely crush GIFs.
3D Simulator
I’ve designed the 3D simulator to be a replica of the FunscriptSimulator3D model. There is a bit of variance in the community in terms of certain details but this new inhouse simulator has configuration enabling you to edit it to your liking.
Example:
I won’t bore you with the details, especially if you aren’t a multi-axis scripter. So I’ll hide it just below:
Configuration Options
All Settings:
Presets based on device:
Tongue:
Center fin:
Gizmo:
Stroke line:
Height value:
Scrolling affects zoom:
Animated Previews + Script Previews
I’ve implemented a new option in the View tab called: Animated Preview Export
This allows you to put in timestamps to use for the preview or optionally (but better) you can right click on a chapter and export preview (this auto fills the timestamps for you).
From here you can edit your export settings:
Then proceed to export it! It’s that easy. That’s all there really is to it.
I won’t bore you with all the details but if your interested check the guidelines and recommendations.
Here are some examples of what it can do:
.WebPs


AV1
Single Axis with 2D Simulator
Multi-axis with 3D Simulator
Guidelines + Recommendations
Here are the guidelines I follow for generating previews for my posts:
.WebPs
Regular Previews
Resolution: 640x360
FPS: 20-30 fps
Range: 8 - 15 seconds (12 seconds is my go-to)
Thumbnail Previews
Resolution: 160x90
FPS: 20-30 fps
Range: 20 - 30 seconds
AV1s
Script Previews
Resolution: Native (Lowest I’d go is 1280x720)
FPS: 20-30 fps
Range: 10 - 20 seconds
Compilation Previews
You can have OFS generate slices to compile together to create a compilation of your script!
Other Additonal Features
New Shortcuts
Ctrl + 1, 2, 3, 4, 5, 6, 7, 8, 9 sets action 5, 15, 25, 35, 45, 55, 65, 75, 85, 95
I’ve become a big believer in the power of 5s so these were necessary for my scripting but others might find them useful.
Custom Color Schemes + Presets
You can change the editors stroke lines to custom colors or you can swap between the 2 existing presets, Original OFS and Eroscripts (Fork). You can find these in Options => Preferences
Requirements
- ffmpeg build with libstav1 in the OFS directory (Builds - CODEX FFMPEG @ gyan.dev)
If you get an error for AV1 encoding as seen below follow these steps:
- Close OFS
- Navigate to %APPDATA%\OFS\OFS3_data\
- Delete ffmpeg.exe
- Open OFS
- Click Yes on the download prompted by OFS. (This goes out to the link above to download the full version of ffmpeg)
- Done!
Alternatively you can download from gyan.dev (get the full version) and extract it there, replacing the original ffmpeg.exe.
If you’re interested in checking it out you can find it here: Releases · SaekoM/OFS · GitHub

























