Attck's Merge Tool - Combines videos and funcscripts

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.

  1. Install ffmpeg, Open command prompt and run this command
winget install Gyan.FFmpeg
  1. Get the scripts from my GitHub - attckdog/AttcksMergeTool: Merges videos and funcscripts, make your own compliations or combine small animations to make a longer video. · GitHub
  2. Click code in the top right (green button)
  3. Select download Zip
  4. Extract the zip somewhere in a new folder (I’d recommend 7zip)
  5. Create a Folder next to the scripts named “Input”

How to Use

  1. 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.
  2. (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.
  3. Right click MergeScriptsAndVideos.ps1 and click run with powershell.
  4. It will prompt for a resulting file name. Enter one or paste one, avoid special characters. Hit enter to submit it and continue.
  5. 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.
  6. 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.
  7. 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.
10 Likes

Nice! Watching this now! I’ll probably be making some stamina videos with this!

1 Like

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.

combined everything into 1 powershell script and added NVEC support for nvidia gpus GREATLY improving speed of encoding in most cases

1 Like

Fixed spaces in file names breaking the script. idk how i didn’t run into this until today.

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.

1 Like
  • 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.
  • Fixed Chapter problems on videos
1 Like

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

1 Like

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.

1 Like

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.

5 Likes

I got a this error

Make sure you’ve extracted the files someplace accessible, like a new folder on the c drive.

Also make sure you have matching funscript files for each video

Update: Release GUI_2026-08-24 · attckdog/AttcksMergeTool · GitHub

I’m open sourcing the .NET desktop app.

Changes:

  • Added options panel with persistent settings
  • Completely replaced old method of script smoothing between transitions.
  • Added configurable:
    • Encoding quality settings
    • Resolution
    • Frame Rate
    • Scene(aka video) transition settings
    • video extensions
    • Behavior for handling missing funscript for video
  • Added ordering controls in app, also Random and Alphabetic buttons
  • Added display of video length, and if a matched funscript was detected and if it’s axis count
  • Added way better reporting of problems like Desync
  • Fixed a bunch of possible desync issues:
    • script length longer/shorter than clip causing drift
    • missing video for funscript still being included (and options)
    • missing funscript not adding filler timeline to result
    • frame rate difference from original causing drift
  • Fixed a couple bugs in the chapter creation

Update: Release GUI_2026-08-24 · attckdog/AttcksMergeTool · GitHub

I’m open sourcing the .NET desktop app.

Changes:

  • Added options panel with persistent settings
  • Completely replaced old method of script smoothing between transitions.
  • Added configurable:
    • Encoding quality settings
    • Resolution
    • Frame Rate
    • Scene(aka video) transition settings
    • video extensions
    • Behavior for handling missing funscript for video
  • Added ordering controls in app, also Random and Alphabetic buttons
  • Added display of video length, and if a matched funscript was detected and if it’s axis count
  • Added way better reporting of problems like Desync
  • Fixed a bunch of possible desync issues:
    • script length longer/shorter than clip causing drift
    • missing video for funscript still being included (and options)
    • missing funscript not adding filler timeline to result
    • frame rate difference from original causing drift
  • Fixed a couple bugs in the chapter creation

Working on a smart scene transition based on speed limit so it doesn’t over compensate or rip your dick off.