Setting up 2D video funscript player for ~300 toys on windows (all FREE)


Hi there,

I recently set up all neccesary software and tools on windows to play funscripts.
It took some quite some time and effort to find and set up all those things, since I never heared of funscripts before.
So I thought I’m going to post a little guide for starters.

First off there are many different ways and concepts how funscripts can be used and what they may control.
I decided for the maybe most common way, while using only software available for free.
This guide will explain how to get started with playing funscripts for 2D videos (VR is currently out of my scope) on a PC, connected to a supported (see below) toy.
The funscript must be avialable offline downloaded on your PC, the video might as well, but this player also can stream some videos online.

So I ended up with this concept:

  1. buttplug.io (Intiface) for controlling ~300 different devices from various manufacturers

  2. A:
    MPV as compatible video player
    youtube-dl (the tube streaming plugin of MPV) doesn’t seem to be maintained anymore, fails for many platforms nowadays.
    B:
    MPC-HC as alternative for MPV and compatible to MFP (you might need to enable its “webinterface” within the player options for MFP to connect).
    yt-dlp (with its streaming plugin) seems to be actively maintained and actually works, at least its nightly-build.

  3. MultiFunPlayer for playing the funscript and syncronizing the video player with toy control

1. Set up Intiface
Download and install Intiface Desktop available here or here.
Next step is to connect your device and try to control it to test the connection.
Depending on the toy it may vary how exactly this can be done.

Your device should be listed here, otherwise it might not be supported.
In general you should try to connect the device to your PC hardware at first.

So e.g. turn on your PCs bluetooth and try to pair it as a regular bluetooth device.


Some devices might be connected by Intiface directly and may not require this step.
Also wired (e.g. USB) devices… of course.

Next get started with Intiface. Start the program and have a look at the “Server Status” tab.


Description see screenshot.
Select your hardware driver manager service and start it.

Intiface is a manager program for buttplug.io.
You’ve now started its device management server.
Later we will connect MultiFunPlayer to this server to control your device.
For testing the connection you can connect Intiface itself to its server now by switching to the “Devices” tab and click “Connect to server and scan for devices”.


Description see screenshot. Your device should pop up after few seconds and show its abilities for you to test.

If not try again to pair it, restart it, initialize it, reset it, whatever, it’s kind of a try and error procedure. E.g. especially my toy needs to be reset to factory settings each time I want to pair it to a different device (PC / mobile phone).
So… connecting it can be tricky. Don’t give up to soon. Try different ways and search the internet if you don’t get your device working… IF it’s listed as compatible.

After you did get this working you should care about the your video player next.

2. Set up MPV
MPV is a simple, free and MultiFunScript and Intiface compatible video player.
Download it here. Either as installation or archive.
Alternatively you can try the automatic download button of MultiFunPlayer and continue with point 3.

Once installed or unpacked you should be see something like this after starting it:
image
Close the MPV player now. It will be started later by MultiFunPlayer.
By default you cannot stream videos with it. Only play locally stored files.

If you want to be able to stream many (not all supported) video platforms youtube-dl can be used.
Downloaded here.
Simply put it in the same directory as the MPV exe itself, there it should find it.
Then you also should be able to stream online videos, so next is to connect MPV with Intiface.

3. MultiFunPlayer
Download it here and unpack and start it.


Descriptions see screenshot.
Add MPV video player, set the reference to the player file and the video file.
If you haven’t downloaded MPV manually yet, try the download button to get it, then the path should be automatically set.
Also by dragging and dropping the video file or link on the MFP text field it should insert it.
After clicking play it should open MPV and start playing the video (or paused if –pause added).
If it doesn’t open or close immediately, your reference to MPV, the video or youtube-dl is wrong.
Then select the desired axis channel and load its funscript file (also possible by dragging and dropping).
If the funscript file is identical to the video name it might automatically be recognized.
Add buttplug.io controls, assign the axis channel to a device feature.

Now you’re ready to hit the play button on the MPV player and have fun!

This is just the first version of this guide. I may adjust, correct or extend it based on your feedback.

10 Likes

Another guide for MultiFunPlayer :partying_face:

Some input from me:

You actually dont have to manually download mpv and youtube-dl, there is a “Download” button in MultiFunPlayer, to the right of the “Executable” field. It will auto download latest mpv version and auto set the path to mpv.exe

  • You dont have to manually enter the path to the video file in arguments, just drag/drop the file/link on top of mpv window
  • You can also use the play/pause button in MFP to control the video as an alternative
  • You dont have to manually select the funscript file, if they are named correctly they will auto load (described in MFP post), best solution here is to either use the “Link script” option and link V0 to L0 (so that the script is copied from L0), or go to Settings -> Device and check “Load unnamed script” for V0 axis.
  • If you want to play some random script not matched to a video then you can also drag/drop the funscript on top of the “File” field.
2 Likes

MFP is a very capable, full featured player with a very helpful dev if you have any questions.

If you are able, I would highly consider chippin’ in a buck or two by subbing his Patreon. This is one of the few Patreons I support wholeheartedly. I am completely sold on the Random Stroker function on MFP.

Thanks for your helpful input.

Added those points to the description.
I might also update the screenshot comments later.

However this should not be a copy of the documentation of all those tools.
I just wanted to point out the most important and common steps.
Without all setting details and optional possibilities… once started with these tools, people should be able to look up specific application problems, use cases and settings by themself.

Is this sarcastic?
I actually only found one other guide explaining this stuff and that one is quite complex describing many possible usecases.
I just wanted something clear and easy for one usecase for people getting started.

No worries, I was just pointing out some things so people dont get a wrong impression of MFP that you have to do all this things manually. Loading each video and script like that will get annoying fast.

Why would it be sarcastic?
I very much welcome any tutorial/guide for MFP because it means I dont have to write any documentation/help :stuck_out_tongue:
I just like to come in and post some further tips or corrections on feature behavior.

Shame on me…
I just realized now you’re actually the guy behind MFP (at least I guess so…).
Let me use this opportunity to thank you for your efforts to that project, great work!

I’m more the guy giving something back by contributing to the community instead of donating.

I wanted to contact you anyway…
I’ve got a vey interesting idea for an MFP API extension.
What’s the proper way for suggesting new features?
May I put it on GitHub as “Issue”?

1 Like

Dat me :slight_smile:

Yea you can create an issue, post the suggestion on the main thread: MultiFunPlayer v1.28.4 - Multi axis funscript player - Now with SLR Interactive support, dm me on discord, or ask me on tempest osr discord. Either works.

Mentioned MPC-HC with yt-dlp since MPV and youtube-dl fails for most streaming platforms nowadays.