Post subject: Be careful with 60 FPS on YouTube (also: other fps tests)
Masterjun
He/Him
Site Developer, Skilled player (1988)
Joined: 10/12/2010
Posts: 1185
Location: Germany
Other frame rate tests in this post. Update: NTSC (30000/1001) and double NTSC (60000/1001) FPS have been confirmed to be working as intended (no frames lost, no frames added). However, consoles like NES or SNES output at ~60.099fps, so read as follows: Update: Be careful with the 60fps AVI movie files from the output of emulators. The framerate is actually closer to 60.099fps than 60fps (it's my fault for relying on Windows on the framerate on those, since it told me it was exactly 60fps). The duration of a frame is saved as 16639μs per frame. YouTube has a problem with dealing with framerates over 60fps (it carelessly drops a bunch of frames, resulting in a stuttering video, see this post for examples), so we need to convert it down to 60fps ourselves. After converting, YouTube displays all frames*. *(Though, it depends on how your file saves the framerate. If it saves it in fps then you probably won't have a problem. But if it saves it in duration per frame then it might be possible that you get a one frame drop once in a while, because 16666μs is not exactly 1/60th of a second) How to convert: Since our encoding is done with AviSynth, I'll focus on that. So you have your ~60.099fps file loaded in AviSynth. You now have two choices to convert to 60fps. 1: Don't drop any frames, meaning your movie will be played back slower and your audio will be played back with a (really slight) lower pitch:
Language: avisynth

AssumeFPS(60, true)
(The true is for the audio sync, if for some reason you want the audio to be unchanged and desync from the video you can omit it or put in false) 2: Drop frames to fit the timing of the game and audio, meaning it will drop one frame every ~10 seconds but doesn't change the audio or length of the movie:
Language: avisynth

ChangeFPS(60)
What follows below is the original post. The one where I uploaded a video with the original ~60.099fps (16639 μs/f).
Original post wrote:
You might have noticed that a 60 fps quality option on YouTube doesn't always play back the pure 60 frames per second of the source video. Occasionally the video decides to drop frames (which means it duplicates the frame before it). (Personally, I think the reason YouTube does that is to kind of simulate a deblink of the 30 fps video. The 30 fps quality option just plays every second frame, and by duplicating frames in the 60 fps video, the frames that get chosen are not every second one, but vary depending on the duplicated frame) I made a test video showing this: Link to video As you can see, the 60 fps work fine until frame 286. For example frames 287 and 290 are left out completely and it continues to drop frames until frame 336. Anyways, there is nothing we can do about it right now, as the places where it happens seem to be chose by some random algorithm. However, this creates a problem in one specific case: Uploading 60 fps videos of 30 fps games. By having a 60 fps video of a 30 fps game, you basically have two frames for each gameframe. Now, if you are unlucky YouTube decides to duplicate the latter of those frames, meaning your resulting video will have 3 frames of (for example) gameframe #58, but only one for gameframe #59. This is especially bad in the case of watching in a 30 fps quality option, where gameframe #59 will be skipped completely, even though it is a 30 fps game. tl;dr: YouTube can't do proper 60 fps. We can't do anything about that. Don't upload 60 fps videos of 30 fps games.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Player (172)
Joined: 7/1/2016
Posts: 263
I think this never happens with me. So i think this actually depends on some encoding settings. edit: i never made SNES encodes. Just made one for test with lsnes. Can't notice any frame drops. edit2: here is example with bizhawk. https://www.youtube.com/watch?v=Tq855VHtFgI ok. I can see now with that heart counter that flickers every other frame. I get only like one frame dropped sometimes. Like there is no frame 1790 (by bizhawk frame counter), but because there is only one frame dropped it's not that horrible as with your smw example. edit3: ok. That happens because i'm stupid. I upload not 60 fps, but original 60.098 fps video. Here fixed version: https://www.youtube.com/watch?v=pqlsXJeiEQI I'm sure. Not a single frame was dropped now.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11486
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
What made you think you uploaded a 30fps game?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Player (172)
Joined: 7/1/2016
Posts: 263
feos wrote:
What made you think you uploaded a 30fps game?
Because i didn't get any frame drops (frame duplication) i can upload anything i want. Actually, I have notice before that some 60 fps encodes made by some users on tasvideos youtube channel have a lot of dropped frames. So i want to point that this can be some encode settings that caused it. edit: and i'm pretty sure this is not "luck" depended. And those frame drops make some of the videos on tasvideos youtube channel pretty painful to watch.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11486
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Which ones?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Masterjun
He/Him
Site Developer, Skilled player (1988)
Joined: 10/12/2010
Posts: 1185
Location: Germany
Koh1fds wrote:
I upload not 60 fps, but original 60.098 fps video.
Yes, you're completely right. That was my problem. (Fixed version) I'm going to edit the first post.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Player (172)
Joined: 7/1/2016
Posts: 263
But why my first video got only like one frame dropped with a lot of distance between drops and your first video got a lot of frames dropped close to each other? Because when only one frame dropped it doesn't look that annoying. And how properly change fps? edit: oh. I read edited post now. So i understand now. Thank You!
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11486
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I guess we need tests regarding which framerates above 60 YT keeps and which it converts, so that we know exactly what it will drop and when. One would need to upload a bunch of segments going through a few integer framerate values starting with 61, and go fractional when YT uncovers its caps. For downloading the clips back, I recommend 4K Download, used it for my elaborate testings.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Spikestuff
They/Them
Editor, Publisher, Expert player (2649)
Joined: 10/12/2011
Posts: 6444
Location: The land down under.
Fact: If you leave your encode at 75fps (WonderSwan) the audio is boned.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Has anyone tried 75fps video yet? (IIRC DOS games can use >60fps modes, too.) Maybe ConvertFPS would be needed for that.
Player (172)
Joined: 7/1/2016
Posts: 263
Just sayin... I think changing fps manually to exact 60 is the best solution for nes and snes. Even if you managed to get like 60.05 on youtube it would be bad, because most peoples have monitors with 60 Hz refresh rate. So i think they will get tearing or frame drops depends on gpu. When i play fceux without vsync on my old pc with AMD gpu i get tearing. And i get frame drops exactly like in Masterjun's SMW example on new pc with Nvidia gpu. So basically i think same will happen with yt videos with fps higher than 60. edit: if you get like one frame dropped every 10 second it's not that bad. it's really hard to even notice.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Koh1fds wrote:
if you get like one frame dropped every 10 second it's not that bad. it's really hard to even notice.
In games like shooters or platformers where the screen is scrolling all the time, drops/repeats can be easily seen once you noticed them once. http://www.testufo.com/#test=framerates&count=2&background=stars&pps=240 http://www.testufo.com/#test=photo&photo=quebec.jpg&pps=240&pursuit=0&height=0
Masterjun
He/Him
Site Developer, Skilled player (1988)
Joined: 10/12/2010
Posts: 1185
Location: Germany
So, uuuh, what was the point of those test links?
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Post subject: Re: Be careful with 60 FPS on YouTube
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11486
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Masterjun wrote:
2: Drop frames to fit the timing of the game and audio, meaning it will drop one frame every ~10 seconds but doesn't change the audio or length of the movie:
Language: avisynth

ChangeFPS(60)
Will that be any better than what youtube will do? Also, for downloadables, we're not changing the framerate to 60fps just to fit one's VSync rate, let alone it is very common to have it at 75 or so. There is tearing and flickering inconsistency, but I don't remember any complains over the years. So I'm not sure we should start adjusting the fps for youtube as a new policy.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Post subject: Re: Be careful with 60 FPS on YouTube
Masterjun
He/Him
Site Developer, Skilled player (1988)
Joined: 10/12/2010
Posts: 1185
Location: Germany
feos wrote:
Masterjun wrote:
2: Drop frames to fit the timing of the game and audio, meaning it will drop one frame every ~10 seconds but doesn't change the audio or length of the movie:
Language: avisynth

ChangeFPS(60)
Will that be any better than what youtube will do?
What YouTube does without any FPS change (notice the drops at frame ~290). What YouTube does with AssumeFPS (notice how it's better, the length of the video is a tiny little bit longer and the pitch is slighly lower). What YouTube does with ChangeFPS (notice how it's better, also, frame 608 is missing). So yes, it's better than what YouTube does automatically, because it can't properly drop frames.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Masterjun wrote:
So, uuuh, what was the point of those test links?
They show the stuttering? (Might depend on your browser.)
Masterjun
He/Him
Site Developer, Skilled player (1988)
Joined: 10/12/2010
Posts: 1185
Location: Germany
No they actually just show 60fps and 30fps. That site is, in fact, exactly what it doesn't look like.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
creaothceann wrote:
Masterjun wrote:
So, uuuh, what was the point of those test links?
They show the stuttering? (Might depend on your browser.)
Speaking of it depending on your browser, currently, vsync in Firefox is broken.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11486
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Remind me what youtube does to things like 31 or 40 fps?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
If it's the same as what it does with double NTSC (60000/1001 fps) frame rate, which is below 60 fps but above 30 fps, it won't drop frames and won't add frames. However, I am not sure, so a test is ideal.
Masterjun
He/Him
Site Developer, Skilled player (1988)
Joined: 10/12/2010
Posts: 1185
Location: Germany
I did a 40fps test and as of now YouTube does drop frames with 40fps. I also did a 55fps test and the quality options showed 1080p60 for a short while, then switched to showing 1080p50, however 55fps is preserved, as in, no frame drops with 55fps as seen in the Stats for nerds option. 48fps test works as intended with 1080p48 in the quality options. This makes sense because of 24fps movies (?) maybe I don't know I'm no specialist. More frame rate tests: 47 works, 46 works, 45 works, 44 works, 43 works, 42 works, 41 works. 1000fps is reduced to 60fps.
So as it seems, YouTube preserves all frame rates over and equal to 41 (until 60 (including), that is).
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11486
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I guess the only addition to the script will be this:
hd ? last.FrameRate > 60 ? ChangeFPS(60) : 0 : 0
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Spikestuff
They/Them
Editor, Publisher, Expert player (2649)
Joined: 10/12/2011
Posts: 6444
Location: The land down under.
Probably add a check for higher than 65 for those other systems cause I'd reckon half rate would be better. Edit: Masterjun's edit made me think feos just posted... So-- enjoy the bump. Whoops.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.