Skip to content

Why does this YT video refuse to play? #1027

Description

@RJVB

https://www.youtube.com/watch?v=PqML4JYv_24

When I configure QMPlay2 to invoke yt-dlp with cookies from Firefox, I get two 403 "Forbidden" errors, but when I don't use cookies the video plays back just fine. (That probably explains why mpv also plays it OK.)

Using the yt-dlp from the QMPlay2 folder, I get this table without cookies:

[youtube] Extracting URL: https://www.youtube.com/watch?v=PqML4JYv_24
[youtube] PqML4JYv_24: Downloading webpage
[youtube] PqML4JYv_24: Downloading android vr player API JSON
[info] Available formats for PqML4JYv_24:
ID  EXT   RESOLUTION FPS CH │   FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR ASR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────                                                                                                       
sb3 mhtml 48x27        1    │                  mhtml │ images                                storyboard
sb2 mhtml 80x45        1    │                  mhtml │ images                                storyboard
sb1 mhtml 160x90       1    │                  mhtml │ images                                storyboard
sb0 mhtml 320x180      1    │                  mhtml │ images                                storyboard
139 m4a   audio only      2 │  732.21KiB   49k https │ audio only        mp4a.40.5   49k 22k [en-US] English (US) original (default), low, m4a_dash
140 m4a   audio only      2 │    1.89MiB  130k https │ audio only        mp4a.40.2  130k 44k [en-US] English (US) original (default), medium, m4a_dash
251 webm  audio only      2 │    1.94MiB  133k https │ audio only        opus       133k 48k [en-US] English (US) original (default), medium, webm_dash
160 mp4   256x144     30    │    1.42MiB   97k https │ avc1.4d400c   97k video only          144p, mp4_dash
134 mp4   640x360     30    │    7.49MiB  513k https │ avc1.4d401e  513k video only          360p, mp4_dash
18  mp4   640x360     30  2 │    8.19MiB  559k https │ avc1.42001E       mp4a.40.2       22k [en] 360p
298 mp4   1280x720    60    │   49.46MiB 3383k https │ avc1.640020 3383k video only          720p60, mp4_dash
299 mp4   1920x1080   60    │   87.82MiB 6007k https │ avc1.64002a 6007k video only          1080p60, mp4_dash

and this with cookies:

Extracting cookies from firefox
Extracted 911 cookies from firefox
[youtube] Extracting URL: https://www.youtube.com/watch?v=PqML4JYv_24
[youtube] PqML4JYv_24: Downloading webpage
[youtube] PqML4JYv_24: Downloading tv downgraded player API JSON
[youtube] PqML4JYv_24: Downloading player ecd4b80a-main
[youtube] [jsc:node] Solving JS challenges using node
[youtube] PqML4JYv_24: Downloading m3u8 information
[info] Available formats for PqML4JYv_24:
ID  EXT   RESOLUTION FPS CH │   FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR ASR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        1    │                  mhtml │ images                                storyboard
sb2 mhtml 80x45        1    │                  mhtml │ images                                storyboard
sb1 mhtml 160x90       1    │                  mhtml │ images                                storyboard
sb0 mhtml 320x180      1    │                  mhtml │ images                                storyboard
140 m4a   audio only      2 │    1.89MiB  130k https │ audio only        mp4a.40.2  130k 44k [en-US] English (US) original (default), medium, m4a_dash
251 webm  audio only      2 │    1.94MiB  133k https │ audio only        opus       133k 48k [en-US] English (US) original (default), medium, webm_dash
91  mp4   256x144     30    │ ~  2.72MiB  186k m3u8  │ avc1.4D400C       mp4a.40.5           [en-US] (original)
160 mp4   256x144     30    │    1.42MiB   97k https │ avc1.4d400c   97k video only          144p, mp4_dash
93  mp4   640x360     30    │ ~ 12.03MiB  820k m3u8  │ avc1.4D401E       mp4a.40.2           [en-US] (original)
134 mp4   640x360     30    │    7.49MiB  513k https │ avc1.4d401e  513k video only          360p, mp4_dash
18  mp4   640x360     30  2 │    8.19MiB  559k https │ avc1.42001E       mp4a.40.2       22k [en] 360p
243 webm  640x360     30    │    6.34MiB  434k https │ vp9          434k video only          360p, webm_dash
136 mp4   1280x720    30    │   31.36MiB 2145k https │ avc1.64001f 2145k video only          720p, mp4_dash
300 mp4   1280x720    60    │ ~ 65.88MiB 4493k m3u8  │ avc1.640020       mp4a.40.2           [en-US] (original)
298 mp4   1280x720    60    │   49.46MiB 3383k https │ avc1.640020 3383k video only          720p60, mp4_dash
301 mp4   1920x1080   60    │ ~104.47MiB 7125k m3u8  │ avc1.64002A       mp4a.40.2           [en-US] (original)
299 mp4   1920x1080   60    │   87.82MiB 6007k https │ avc1.64002a 6007k video only          1080p60, mp4_dash

I usually contend myself with 720p video, and manual download works as it should:

> ~/.qmplay2/yt-dlp  --cookies-from-browser firefox -f 298,251 "https://www.youtube.com/watch?v=PqML4JYv_24"
Extracting cookies from firefox
Extracted 911 cookies from firefox
[youtube] Extracting URL: https://www.youtube.com/watch?v=PqML4JYv_24
[youtube] PqML4JYv_24: Downloading webpage
[youtube] PqML4JYv_24: Downloading tv downgraded player API JSON
[youtube] PqML4JYv_24: Downloading player ecd4b80a-main
[youtube] [jsc:node] Solving JS challenges using node
[youtube] PqML4JYv_24: Downloading m3u8 information
[info] PqML4JYv_24: Downloading 2 format(s): 298, 251
[download] Sleeping 4.00 seconds as required by the site...
[download] Destination: Flexi-Hose Expanding Watering Hose Review After 6 Months Use [PqML4JYv_24].mp4
[download] 100% of   49.46MiB in 00:00:01 at 26.17MiB/s
[download] Destination: Flexi-Hose Expanding Watering Hose Review After 6 Months Use [PqML4JYv_24].webm
[download] 100% of    1.94MiB in 00:00:00 at 12.16MiB/s

(I'll check if my recent hack to run 2 yt_dlp processes in parallel helps here, one with and one without cookies, and then use the latter as a fallback if the first fails.)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions