Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
141 stars 2 forks source link

yt-dlp fixed to downloading 360p videos #2584

Closed Lucaedr closed 4 months ago

Lucaedr commented 4 months ago

Describe the bug?

Current version of yt-dlp fixed to downloading ID 18. 360p videos from youtube. Unreadable when it comes to subtitled content. Previous behavior was 720p videos which has changed over the last few weeks.

Unable to override within resonite however outside of resonite using yt-dlp can override with some command line arguments. The following are the available versions available via yt-dlp for this example video, showing there are additional versions available for: https://youtu.be/BdOtR2A5agc

ID  EXT   RESOLUTION FPS CH │   FILESIZE    TBR PROTO │ VCODEC           VBR ACODEC      ABR ASR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                   mhtml │ images                                   storyboard
sb2 mhtml 80x45        1    │                   mhtml │ images                                   storyboard
sb1 mhtml 160x90       1    │                   mhtml │ images                                   storyboard
sb0 mhtml 320x180      1    │                   mhtml │ images                                   storyboard
233 mp4   audio only        │                   m3u8  │ audio only           unknown             [en] Default
234 mp4   audio only        │                   m3u8  │ audio only           unknown             [en] Default
139 m4a   audio only      2 │    1.32MiB    49k https │ audio only           mp4a.40.5   49k 22k [en] low, m4a_dash
249 webm  audio only      2 │    1.43MiB    53k https │ audio only           opus        53k 48k [en] low, webm_dash
250 webm  audio only      2 │    1.86MiB    69k https │ audio only           opus        69k 48k [en] low, webm_dash
140 m4a   audio only      2 │    3.50MiB   129k https │ audio only           mp4a.40.2  129k 44k [en] medium, m4a_dash
251 webm  audio only      2 │    3.61MiB   133k https │ audio only           opus       133k 48k [en] medium, webm_dash
602 mp4   256x144     12    │ ~  2.16MiB    80k m3u8  │ vp09.00.10.08    80k video only
394 mp4   256x144     24    │    1.46MiB    54k https │ av01.0.00M.08    54k video only          144p, mp4_dash
269 mp4   256x144     24    │ ~  4.40MiB   163k m3u8  │ avc1.4D400C     163k video only
160 mp4   256x144     24    │    1.42MiB    53k https │ avc1.4D400C      53k video only          144p, mp4_dash
603 mp4   256x144     24    │ ~  4.56MiB   168k m3u8  │ vp09.00.11.08   168k video only
278 webm  256x144     24    │    1.84MiB    68k https │ vp9              68k video only          144p, webm_dash
395 mp4   426x240     24    │    2.43MiB    90k https │ av01.0.00M.08    90k video only          240p, mp4_dash
229 mp4   426x240     24    │ ~  7.53MiB   278k m3u8  │ avc1.4D4015     278k video only
133 mp4   426x240     24    │    2.89MiB   107k https │ avc1.4D4015     107k video only          240p, mp4_dash
604 mp4   426x240     24    │ ~  7.82MiB   289k m3u8  │ vp09.00.20.08   289k video only
242 webm  426x240     24    │    2.79MiB   103k https │ vp9             103k video only          240p, webm_dash
396 mp4   640x360     24    │    4.58MiB   169k https │ av01.0.01M.08   169k video only          360p, mp4_dash
230 mp4   640x360     24    │ ~ 15.02MiB   555k m3u8  │ avc1.4D401E     555k video only
134 mp4   640x360     24    │    5.39MiB   199k https │ avc1.4D401E     199k video only          360p, mp4_dash
18  mp4   640x360     24  2 │ ≈  8.88MiB   328k https │ avc1.42001E          mp4a.40.2       44k [en] 360p
605 mp4   640x360     24    │ ~ 20.45MiB   756k m3u8  │ vp09.00.21.08   756k video only
243 webm  640x360     24    │    6.32MiB   234k https │ vp9             234k video only          360p, webm_dash
397 mp4   854x480     24    │    8.10MiB   299k https │ av01.0.04M.08   299k video only          480p, mp4_dash
231 mp4   854x480     24    │ ~ 21.57MiB   797k m3u8  │ avc1.4D401E     797k video only
135 mp4   854x480     24    │    9.94MiB   367k https │ avc1.4D401E     367k video only          480p, mp4_dash
606 mp4   854x480     24    │ ~ 27.38MiB  1012k m3u8  │ vp09.00.30.08  1012k video only
244 webm  854x480     24    │    9.01MiB   333k https │ vp9             333k video only          480p, webm_dash
398 mp4   1280x720    24    │   14.38MiB   531k https │ av01.0.05M.08   531k video only          720p, mp4_dash
232 mp4   1280x720    24    │ ~ 33.26MiB  1229k m3u8  │ avc1.4D401F    1229k video only
136 mp4   1280x720    24    │   18.36MiB   679k https │ avc1.4D401F     679k video only          720p, mp4_dash
609 mp4   1280x720    24    │ ~ 43.29MiB  1600k m3u8  │ vp09.00.31.08  1600k video only
247 webm  1280x720    24    │   16.05MiB   593k https │ vp9             593k video only          720p, webm_dash
399 mp4   1920x1080   24    │   24.75MiB   915k https │ av01.0.08M.08   915k video only          1080p, mp4_dash
270 mp4   1920x1080   24    │ ~ 97.53MiB  3604k m3u8  │ avc1.640028    3604k video only
137 mp4   1920x1080   24    │   43.10MiB  1593k https │ avc1.640028    1593k video only          1080p, mp4_dash
614 mp4   1920x1080   24    │ ~ 78.06MiB  2885k m3u8  │ vp09.00.40.08  2885k video only
248 webm  1920x1080   24    │   27.84MiB  1029k https │ vp9            1029k video only          1080p, webm_dash
400 mp4   2560x1440   24    │   74.77MiB  2764k https │ av01.0.12M.08  2764k video only          1440p, mp4_dash
620 mp4   2560x1440   24    │ ~237.87MiB  8790k m3u8  │ vp09.00.50.08  8790k video only
271 webm  2560x1440   24    │   78.70MiB  2909k https │ vp9            2909k video only          1440p, webm_dash
401 mp4   3840x2160   24    │  161.92MiB  5985k https │ av01.0.12M.08  5985k video only          2160p, mp4_dash
625 mp4   3840x2160   24    │ ~501.91MiB 18548k m3u8  │ vp09.00.50.08 18548k video only
313 webm  3840x2160   24    │  239.76MiB  8863k https │ vp9            8863k video only          2160p, webm_dash

To Reproduce

Copy youtube video into Resonite and watch. Can inspect the video and see it displays at 640x360.

Expected behavior

About 3 weeks ago this changed where it used to download/display in 720p

Screenshots

image

Resonite Version Number

Beta 2024.7.12.1147

What Platforms does this occur on?

Windows

What headset if any do you use?

Valve Index / Desktop

Log Files

LUCAEDRPC - 2024.7.12.1147 - 2024-07-15 03_36_54.log

Additional Context

This appears to be a yt-dlp issue however can be adjusted via arguments locally. The following on yt-dlp github mention this apparent change. https://github.com/yt-dlp/yt-dlp/issues/10267 https://github.com/oleksis/youtube-dl-gui/issues/182

Let me know if any additional details are needed.

Reporters

Raidrar rodgerdodger

Lucaedr commented 4 months ago

Just to add context... I just noticed ID 18 is the highesr one with audio+video and the rest are split into the separate codecs of audio only and video only.

Frooxius commented 4 months ago

Unfortunately this isn't really a bug - it's just that 360p is the highest offered video that includes an audio stream.

This is a bit tricky situation - right now I don't know of a way for the Unity Native player or UMP (wrapper libVLC) player to accept video & audio tracks from two separate URL's for playback. I don't know if it supports it at all.

One solution for cases like this is have the yt-dlp download and mux the video & audio streams and then essentially import the video asset - but this will cause a delay before the video is loaded for everyone.

Alternatively if there's a solution with ffmpeg which would let it mux them on the fly and just feed that into the video player, it could work to..

epicEaston197 commented 4 months ago

Unfortunately this isn't really a bug - it's just that 360p is the highest offered video that includes an audio stream.

Wait so they decreased it from 720P?!?!?!? Youtube is really annoying that sucks

Frooxius commented 4 months ago

It looks like they might've removed that quality setting unfortunately. At least for some videos.

shiftyscales commented 4 months ago

YouTube is actively attempting to break third party YouTube players / methods that circumvent display of their advertisements. Other players such as NewPipe / FreeTube have also had issues due to things YouTube is changing in their API.

This is probably related to / a consequence of that.

Lucaedr commented 4 months ago

I wasn't exactly sure which to label this one as originally. Didn't know if there was any way as a fix but I agree as an enhancement going forward.

Frooxius commented 4 months ago

I don't really know how to properly categorize this right now really, because the path forward isn't clear to me at the moment.

Raidriar796 commented 4 months ago

Recently an issue on the yt-dlp github got resolved related to the format 22 videos, you should be able to pass --extractor-args "youtube:player_client=mediaconnect" to yt-dlp to get pre-merged audio and video but I don't know if this will work for Resonite or not.

Frooxius commented 4 months ago

Can you link documentation on this?

Raidriar796 commented 4 months ago

Yes, sorry. Forgot to provide links to begin with- From the known issues/faq issue on the yt-dlp github, the following is listed under external issues:

This is in relation to issue #10206 on the yt-dlp github

Frooxius commented 4 months ago

Thank you! I'll have a look when I can if it could be used.

Frooxius commented 4 months ago

I've applied this workaround in 2024.7.25.1115, it seems to work for a few videos that I tested, so hopefully this holds for a bit. THanks!