Web Funscript Player - A straightforward WebBluetooth Funscript Video Player
An extremely straightforward web-app to enjoy your favourite funscript-enabled videos on iOS, Android and the Web.
Update Nov. 2024
After a long hiatus, Eroscripts came to my mind and I was able to re-login again. It’s nice to see how well-received this web-app is with users to this day. I’ll take a look at the codebase and go towards improving it further. Much love
How to use :
- Visit the site
- Connect device
- Load funscript file
- Load video
- Enjoy!
When finished, click the disconnect button to disconnect your device from the site.
Note: The player does not currently support VR videos. Only 2D videos work currently.
Tips on loading videos :
I used my iPad Pro to test and opened a ~300mb video. The video wasn’t loaded locally on my iPad, it was connected to a shared folder on my network; there’s a delay of about 30 seconds from tapping ‘till the select box goes away and it’s loaded up. The video also had trouble playing when I seeked to different times. I have not tested a video that has been saved in the Files app, maybe it’d be faster and would work better.
Regardless, I had a great experience using the Video URL feature. Just paste the URL of the video and enjoy. The player supports both standard video formats & HLS streams.
Requirements :
- iOS: Currently, only this iOS app works properly. It costs $2.99, a small price to pay to use your toys on the go in my eyes.
Edit: Here’s a picture of the app in the App Store:
Note:
- Android: I haven’t tested on an Android device yet but Chrome for Android supposedly has WebBluetooth already baked in.
Development notes :
I was upset that I couldn’t use my Kiiroo Keon on my iPad and wanted something like ScriptPlayer to exist. A native app would take much longer to dive into / develop, but a web-app that we can use with a web Bluetooth browser, sign me up!
This web-app was initially put together in the last two days, I enjoyed putting it together but my body did not (lack of sleep and good ‘ol problem-solving fatigue )
I intend to improve this web-app over time.
Two most important planned improvements currently:
- Device Playback: I wish to make device playback smoother. Current implementation is real rough around the corners, especially when it comes to quick actions.
- Video player: Unfortunately, the iOS app that we need to use to be able to play on iOS seems like it dosen’t allow for full screen with the video player the site uses. I was disappointed not being able to full-screen and tried other web Bluetooth browsers on the App Store, some of them do allow for fullscreen, but unfortunately none of them actually work with devices properly.
Current roadmap (as of 6th feb):
- Improve codebase quality
- Work on new faster method to reduce latency between device and events
- Support VR videos / move video player providers? (one issue w/ current player; last i tested, current player fullscreen does not work on iOS when using WebBLE which was pretty annoying)
Gave it a shot? How’d it go?
Gave the web-app a try and want to share your feedback? Reply to this thread, I’d love to hear from you, thanks again!
Thanks
A big thanks to the works of @qdot and the buttplug community. The buttplug implementation that the web-app uses is great. The connector implementation was sped up greatly thanks to Buttplug Playground and it’s GitHub, oh the powers of an open source world! Donating to buttplug would be a great way to show our appreciation
Changelog
October 4
- Added heatmap under video
- Don’t log debug logs in production
- Fixed issue of using incorrect funscript file path
October 11
- Added link to discussion forum
- Added dark / light theme
November 14
- Reworked / streamlined UI
April 19 2022
- Vibrating devices are now supported. (Added settings state linked to local storage, currently with variable to set command type. User can select device command type, previously only linear.)
- Added hotkeys with a space bar hotkey to pause/ play the funscript only playback bar. All hot keys can be seen in the settings modal shown after clicking the settings button.
- Refactored logic concerning events (still not happy with this, feels jagged esp when a lot of actions are packed together. Will need to sit and focus on ways that’ll improve playback smoothness.