YTC prevents 60 FPS videos sometimes
All videos before September 30 are 60 FPS, but all videos after October 2 are 30 FPS.
This seemed to be a problem for several people, and seemed like a youtube bug;
- https://np.reddit.com/r/youtube/comments/3qq45c/why_wont_my_60fps_videos_upload_in_60fps/
- https://np.reddit.com/r/youtube/comments/3qsnc1/uploading_60fps_video_converted_to_30fps/
- https://np.reddit.com/r/youtube/comments/3r45fs/60fps_video_turns_into_30fps/
- https://np.reddit.com/r/youtube/comments/3rbkma/60_fps_not_working_anymore/
- Maybe more
However, this was said to be fixed this week, and apparently it is fixed, and YouTubeCenter is the problem.
Thing is though, with YTC enabled, I can still view other people's 60fps videos as 60fps, but my own 60fps video locks at 30fps if I have YTC enabled.
Specifically, there is a difference in the backend processing for these two videos, and something about YouTube center's behavior is not recognizing the DASH manifests for these files.
If I were to make a guess, this is because the DASH manifest is not baked into the watch page as it is with most videos, because the videos are loaded in a different way.
This applies to a large fraction of uploaded YouTube videos, due to new functionality YouTube is using on the backend to deliver these videos. (It is more likely to apply to unpopular videos than popular videos.)
Most of the threads in reddit are conflating the two issues:
- Around October 20th, many users stopped seeing videos in 1080p60, seeing only 30fps versions of them. This problem was fixed on Tuesday, November 3rd.
- These same videos are affected by the YouTube Center bug which causes the quality options to only include the progressive format 720p and 360p videos. We rolled out the feature causing this change more widely at the beginning of October. This problem is ongoing.
An example affected video is https://www.youtube.com/watch?v=s8L8ImbzW6Y .
If there are more details I can offer to help, please let me know.
-- Christopher Schmidt, YouTube Quality of Experience
https://github.com/crschmidt/YouTubeCenter/commit/002689a808d435d3f362caef7c8136423d604b9b
This is a commit which fixes the basic problem of the streams not being available for selection in the picker.
Problems with this approach:
- There is a parseStreams() chunk of code; the dashmpd is not parsed by this code, so the relevant streams are not included in the list returned by parseStreams().
- I'm not seeing a label in the quality selection by default. I've never used YTC before, so I don't know if this is expected or not.
- I don't know if this breaks other assumptions that I'm not thinking of.
- The code is ugly, and duplicates and "adaptive_fmts || dashmpd" check in a lot of places. I probably typoed at least two of them.
Oh, I should add: I have absolutely no idea what else the approach I listed here might break. Although I work for YouTube on video delivery, I do not know anything about the internals of how the player/watch page work, so this 'fix' could just as easily break tomorrow, or break other things within YTC.
I would like to get my hand on this fix @crschmidt since i have this problem, and can find no way of fixing it (Other than turning YTC off) Not wanting to go through the complications of building the master with the 002689a commit, do signing, ect. Any chance this could be added in an official release/dev build? Or maybe someone could build a version with it, and put it up for download? Not the biggest problem in the world. But still annoys me, and would like the fix if possible. Edit: If this hasn't already been included, and i'm just having a different issue.
Nevermind. Just edited my YouTubeCenter.js with the stuff 002689a changed. (Since i run YTC as an unpacked extension for Chrome) Seems to work now. Will write back if that changes tho.