VRPorn.com videos growing offset

So if I got this right you think it would be the fps that’s causing the shift?

Wait, they are notorious to mess up script and yet it’s the first time I hear about that?!?

Is there a way in OFS to change the timing of the script to adapt to the change in framerate then? Or maybe use handbrake to re-encode it in 60 fps even though the frames were already lost in the original? I don’t mind putting some elbow grease in it.

Yet one thing strikes me as odd. I’ve never seen anyone post a “VRPorn.com” specific script in threads including it as a source.

Like, sorry for the tag but, @joeporno I see constantly linking to the release of scenes on vrporn.com and I’ve not seen anyone in the thread reply with “hey, wait, the synch of the script is all messed up” which makes me believe it’s a “me” issue.

So if there’s a known workaround or fix I’m all ears, really. I downloaded like a dozen scenes from that website and really hoping it wasn’t for naught.

Nevertheless, Sentinel, thanks for the reply.

Has anyone downloaded those scenes from VRPorn.com and checked their FPS?

The problem with many scenes and scripters are that peeps use files from eporner or porntrex for example. Those videos get reencoded and are suddenly 60fps flat and not 59.94fps that is the normal fps for VR videos. So if you use a script that was made for 59.94fps version that won’t sync nicely with the 60fps file.

Same thing with people reencoding their own stuff with FunExpander by using “convert to 30fps”.

Edit: People also mostly dont give feedback or dont give a shit when it shifts a bit. I noticed that with a lot of scripts and even with a lot of mine cause I did that mistake too at first.

I can only speak from feedback I’ve got on my scripts. It’s usually that the ones subbing on VRPorn that have odd versions of videos not matching the studio version. Maybe I used a bit strong wording, but it’s my experiences as a scripter getting feedback.

Since you specifically tagged me on this (not a problem, by the way), I’ve had problems with some of the Zoey Holloway 3D conversion videos drifting from the script. I checked the FPS and realized it was the problem, and just ran them through Videoproc Converter AI to fix them. It’s NOT a free program, but well worth the price for everything else it does. I would suggest using Handbrake if you want a free one.

Ok so I did put the mollyredwolf loona scene through handbrake to change it both to h265 and change the framerate to 60 as it was the shortest scene I owned from vrporn.com

But it also happened with big studios scenes (I mostly downloaded VRConk and VRBangers)

Well, I’ll test it after work today and if it was indeed the issue I’ll tag your post as the solution.

I’m just really surprised it’s the first time I hear about FPS causing script drift.

Thank you three (I didn,t see Shayuki at first) the assistance so far.

Sorry didn,t see your reply at first. So I guess I’ll have to re-encode all the videos I get from vrporn.com in flat 60 fps

That is hard for me to wrap my head around. it takes me out completely.

But wait I’m pretty sure your Yae Miko one was part of the batch that was causing the script drift.

Oh no, it might be something else entirely. I’ll try to check if I didn,t mistake a mere offset for the drift later today.

sorry for the multiposting, guys

I popped it in OFS during lunch break and it appears forcing it to get to 60 fps (proof, sorry for french) did not help

I cobbled quickly this edit together.

I didn’t quite understand your question, but I’ve stepped on the rake once with another site.
For one of my past scripts, I downloaded a video as specified in the file properties 60 fps, wrote a script for it, published it and no one complained. But when the same video appeared on SLR - it was published at 59.94 fps - with the same frame rate. I tried to publish it - but it was pointed out to me that it was severely out of sync.
The difference between 60 and 59.94 is 1.001 or 0.999 (depending on which way you count) and if for example for the 5th minute of the video, the desynchronisation is 0.3 seconds - which is almost imperceptible (few frames), then for the 30th minute it is 1.8 seconds, which is a lot.
I then fixed funscript (which contains ordinary json) with a simple python script. I posted it here - try it.

Ok so in theory I could fix the fps discrepancy in the scripts if I use your python script?

Which I would gladly do if I had even a clue how to use it.

Do I copy your text in a txt file and save it as a .bat or something? That’s all I know to do, really. Or is it something that’s doable in OFS directly?

Obviously I’d change the file name variable and all that but I’m gonna need a “dumbshit guide” for this if you can provide one.

Thanks.

(I’m still compeltely floored that I had not heard that it was a possible issue before right now and I’ve been scripting and consuming scripts for a while now)

I think the right thing to do would be to make a plugin for OFS, maybe someone will - I don’t want to deal with lua yet.
You need to install python from the official site, I usually do it in the root of the C drive (C:\Python)
image
image
Then use any text editor (the same notepad) to save this text to the folder as a file with the extension *.py

Pay attention to the 3 variables, adjust them to suit you:
funscriptName = ‘VRBangers_Laid_Off_Angela_White’.
folder = ‘D:\EroScripts\Angela White\’
cor_coef = 1.001

  1. funscriptName - script name, without extensions
  2. folder - full path to the script, double ‘\’ required
  3. cor_coef - the coefficient by which we change (1.001 or 0.999), since you write that it slows down we need to speed it up, so every next point should be moved earlier in time and 0.999 will work for you.
import json

funscriptName = "VRBangers_Laid_Off_Angela_White"
folder = "D:\\EroScripts\\Angela White\\"
cor_coef = 0.999

funscript_orig = folder + funscriptName + ".funscript"
fs_cor = folder + funscriptName + ".cor" + ".funscript"

with open(funscript_orig, "r") as funscriptFile:
    funscriptJson = json.load(funscriptFile)
    fs_orig_inv = funscriptJson['inverted']
    fs_orig_metadata = funscriptJson['metadata']
    fs_orig_range = funscriptJson['range']
    fs_orig_version = funscriptJson['version']
    fs_actions = funscriptJson["actions"]
    obj_cor = {"actions":[], "inverted": fs_orig_inv, "metadata": fs_orig_metadata, "range":fs_orig_range, "version":fs_orig_version}
    for actions in fs_actions:
        obj_cor['actions'].append({"at":int(actions["at"]*cor_coef), "pos":actions["pos"]})

with open(fs_cor, 'w') as fslr:
    json.dump(obj_cor, fslr, separators=(',', ':'))

Then simply in the Windows console, run a command like this:

c:\Python312\python.exe d:\EroScripts\correction.py

c:\Python312\python.exe - path to the executable file that runs python,
d:\EroScripts\correction.py - the path to the Notepad script.
As a result, you will have a new *.cor.funscript in the folder next to the main script, where the points will be shifted in time.

4 Likes

Alright, okay, I’ll try it out after work. if this works you’re my savior.

slight correction, since the script is getting progressively more in advance than the video, I want to push the points further in time but I got the gist of it. I’ll tinker around with it and figure it out. You already did a lot for this idiot lol

Edit: I’ll also make sure not to include the .mono in the funscript_orig part when it is not contained in the filename. Don’t worry, I noticed it.

If it works I’ll be sure to mark this as the solution for other people to peruse.

1 Like

Yes, my mistake, I’ll correct it.

No need, I know how to edit basic things lol

Funny thing is I used to know how to program flash, C++, C#, a little Java

One day I broke down from stress and it just… disappeared. I still work with programmers and can somewhat read their code but I can’t write anything. Mental blockage I guess.

I was mostly wondering about how to run it, whcih you explained (I never used Python except in RPGMaker) and the correction coefficient.

Welp, still got a few hours of work but I’ll be sure to let you know how it turns out when I do run it.

Final update

You are my goddamn hero
here’s the final result at the beginning of the video vs the very last stroke

(Streamable got upset at me for uploading porn lol)

I had to change the cor_coef to 1.002 for it to work for this video but like I said, I don,t mind tinkering here and there. There might be slight misalignment but honestly it could be on the scripter’s part. All in all, it looks pretty synched and it’s all I wanted. No need to re-encode videos too.

You are a legend, sir. thank you.

And thanks to everyone who tried to help as well. Be sure to link to flowerstrample’s post if anyone needs to fix the issue for themselves.

I’m off to resynch all of the vrporn.com videos I got… and to get more :stuck_out_tongue:

[SOLVED]

1 Like

Strange why 1.002, although float it is - the calculator counts 1.001001.
Glad you helped - I was also first struck by this inconsistency, that some sites change the fps but leave the number of frames as in the original.

Your guess is as good as mine for the actual cor_coef lol

For the Tommy king “In a flash” script I just had to put 1.0021 for the script to actually line up perfectly. :man_shrugging:

I’m not sure of the logic behind it but I change a number, pop it in OFS, check if it lines up beginning, middle and end. Even if it’s illogical at this point I’ll just take synched scripts lol

Thanks again, anyway, I’ll let this thread expire now.

I’m gonna answer that because I have an idea.
Could it be that vrporn do it on purpose? Change the speed of video playback + adapt the scripts that are available on their site for this? They publish scripts for videos, if I’m not mistaken.
For example, the coefficient of 1.0021 somehow does not fit with the speed of 59.94 or 60 frames. This is a kind of defence - so that people watch videos with scripts on their site and not elsewhere. And for the human eye a change of speed by thousandths will be imperceptible.

Yeah that confirms what I already suspected a few months ago. Thank you.

Well thanks to you I am able to fix that wether it requires a 1.002, 1.0021, 1.0022 (one video was that I think) adjustment. I’ll be sure to keep your script handy, no pun intended.

In my batch the only one that didn’t need an adjustment at all was Shayuki’s Yor Forger VRConk scene somehow.

Also, I did not notice scripts when I browsed VRPorn.com but if they are anything like Badoink’s or VRCosplayX’s first party scripts, I’d rather use scripts made by our users here. But I guess it would make sense for them to try to make other scripts “incompatible”.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.