I wanted to share my merge script, these will eventually be converted into a proper application with a GUI. However for now this might be useful to someone. Let me know if you have any problems. If you use the script post a comment / like it so I know people care.
How To Install:
Note: This is a windows PowerShell Script. I’d expect it Only work on modern windows systems.
Install ffmpeg, Open command prompt and run this command
Extract the zip somewhere in a new folder (I’d recommend 7zip)
Create a Folder next to the scripts named “Input”
How to Use
Add Videos and Funscripts to the Input Folder. The script will merge them in Alphabetical order. To control the order simply rename the source files, 1,2,3,4 etc. Be sure that the video and funscripts are the same name.
(Optional) If you have an nvida GPU open the MergeScriptsAndVideos.ps1 file with a text editor and set NVEC to $true, save and close. Most people should do this. It will error and stop worst case, So try it.
Right click MergeScriptsAndVideos.ps1 and click run with powershell.
It will prompt for a resulting file name. Enter one or paste one, avoid special characters. Hit enter to submit it and continue.
The Script will first merge the funscripts. Spitting the merged result out next to the batch scripts. If you have multiple per video see notes below.
Multi-axis is supported in either all in 1 funscript files OR separate axis per file.
The Video merge will first convert the source videos into steams using the same settings so they all match. This will take a while, longer video = longer encoding phase. It will tell you what video it’s on as it moves through the list. Enable NVEC if you can.
Once all the videos are converted to streams it will concat them (joining them together in order). The final video will be created next to the batch scripts.
Notes:
Multi-Axis files should use the convention of {SameFileNameAsVideo}{Axis}.funscript. example: TifaVideo.roll.funscript OR be embedded as axis in the main funscript.
If you get errors about ffmpeg not being found/recognized restart the machine after installing it. It’s likely not in the PATH, google how to fix that it’s simple.
Change History:
Click to see History
2025-12-04
Updated to handle separate files for the different axis. IE; .roll.funscript
Fixed a problem with desync caused by video and script length not being the same.
2025-12-06
combined everything into 1 powershell script.
Added support NVEC encoding
Added chapter/bookmark support
Added retaining of source funscript metadata where possible
Added video chapter support but it’s kind of buggy
Added loading bar for the encoding.
Added config in the script for resulting resolution, no up-scaling is done, Default: 1080p
2025-12-22
Fixed spaces in file names breaking the script. idk how i didn’t run into this yet.
2025-12-29
Added support for AV1, edit the script and set AV1 to true. False will use h.264 AV1 isn’t supported by all devices but it’s great for those that can use it.
2026-03-02
Added Script transition smoothing, Fixed Multi-Axis issues do to axis names, Fixed Chapter problems
2026-03-04
Converted to .Net 10 and WinForms
Added GUI
Added Option to Trim video inputs to a specific segment. will also split the funscript. Note: this could use some testing/feedback.
Pushed a few updates, if you’re using this make sure you grab the updated version.
Changes:
2025-12-04
Updated to handle separate files for the different axis. IE; .roll.funscript - Fixed a problem with desync caused by video and script length not being the same.
Added AV1 support for the resulting encoding. Edit the script to Enable / Disable it.
Support for AV1 in modern devices is great but not quite universial like h.264 so I’ll default it off.
Added Script transition smoothing, configurable but defaults to 500ms. Idea is that it prevent massive instant swings 0-100 on transition from 1 funscript to the next.
Fixed Multi-Axis issues due to axis names
Fixed Multi-Axis to no longer care if it’s split into multiple files named by axis, partial combined, or all in one.
Awesome!! You should consider adding the ability to truncate videos as well so you can clip your favorite parts from several videos and smash them together
Finally pulled the trigger on converting to a .net app.
I’ll have something to share with others in a few days prolly. Got all the existing features from the powershell script in. I’ve added a stupid simple version of trimming to the app as well. It’s just a Start time and stop time to extract out of the original video to include in the merge.
Test Release of the GUI built in .NET 10 WinForms. Build should be self contained.
This also has trimming options, test it out and let me know how shite it is lol.