FreeTube icon indicating copy to clipboard operation
FreeTube copied to clipboard

[Bug]: [BAD_HTTP_STATUS: 403] Potential causes: IP block or streaming URL deciphering failed

Open Targren opened this issue 9 months ago • 35 comments

Guidelines

Describe the bug

Followup to #6701, which is locked. After the fix update came out, some videos still give the error on the first attempt, but backing out and then reopening them work. (e.g. https://youtu.be/-CBGK2Xujs8). I'm not sure what the factor is that make some videos still affected and most of the others not, and sorry for the obvious dupe, but the existing thread is locked and hoped the link to an example video might be helpful.

Expected Behavior

The video plays

Issue Labels

inconsistent behavior

FreeTube Version

v0.23.2 Beta

Operating System Version

Windows 10 2H22

Installation Method

.exe

Primary API used

Local API

Last Known Working FreeTube Version (If Any)

No response

Additional Information

No response

Nightly Build

Targren avatar Feb 24 '25 17:02 Targren

I'm experiencing the same - this bug is not fixed. It's improved as videos will play after retrying, but the error still occurs frequently enough to be annoying.

phenty avatar Feb 24 '25 17:02 phenty

Just to clarify what is probably going on, the other issue was fixed but now something else is causing problems. The error message you are getting is the same because YouTube just returns a 403 status code when something goes wrong but they don't specify what went wrong, so all we can show you is "something went wrong, we can't tell you what exactly but here are some things that have been known to cause it in the past, it could also be something else".

absidue avatar Feb 24 '25 19:02 absidue

@Targren @phenty please provide the following info:

  • Do you use a VPN?
  • Do you use a Proxy?
  • Do you use the Local API?
  • Is the following setting enabled or disabled: Settings -> Player -> Proxy through Invidious?
  • What is the default video format that you're using: Settings -> Player -> Default video format?

@Targren @phenty please provide the following info:

VPN is turned off. When it's on I get a different message (YouTube has blocked your IP address). No proxy Using Local API Proxy through invidious is off (and greyed out) Default video format is DASH

phenty avatar Feb 24 '25 19:02 phenty

[BAD_HTTP_STATUS: 403] Potential causes: IP block or streaming URL deciphering failed

I use a VPN. Sometimes all I have to do is change location, but lately all locations still get the error. Even my local ISP IP address gets the message.

Work arounds that have worked for me until recently.

  1. Add a Celluloid as external player and open video in external player, works every time even IP that seems to break internal player.
  2. I also exported my subscriptions list. Install Feedbro - Advanced RSS Feed Reader in my browser (Librewolf) and import those subscriptions into Feedbro. Of course I also use uBlock Origin and SponsorBlock in my browser along with using a VPN.

I appreciate what you do, I hope this can be resolved.

rjc3rd avatar Feb 24 '25 20:02 rjc3rd

  • Do you use a VPN? No

  • Do you use a Proxy? No

  • Do you use the Local API? Yes

  • Is the following setting enabled or disabled: Settings -> Player -> Proxy through Invidious? Turned off (setting seems to be disabled/grayed out)

  • What is the default video format that you're using: Settings -> Player -> Default video format? DASH Formats

Targren avatar Feb 24 '25 20:02 Targren

This issue has already been discussed in #6701 they released a hotfix for in 23.2 i couldent use freetube untill jsuta few days ago for days ago if i remeber correctly. mpv didnt work neither the public invidious instances except for one and my self hosted invidious instance i figured out that mpv was a issue on my end where installing yt-dlp fixed it as for my invidious instance it was very outdated and wasnt storing dash formats in the settings. im not on the latest version of freetube but i no longer get this error messege they fixed it on 0.23.2 and yet i can use it fine on 0.23.1 it must be a error on your end and probbaly a separate error entirely

awesome769 avatar Feb 24 '25 21:02 awesome769

I had the same issue. I was running FreeTube on the Flatpak. I uninstalled the Flatpak along with user settings, reinstalled it from base, and the issue seems resolved for me. Not sure what happens on the backend, but I hope this provides some useful info, esp if this fix can be replicated with other users.

JohnTheGit1 avatar Feb 25 '25 02:02 JohnTheGit1

I'm still getting the error after the 0.23.2 hotfix that was supposed to solve it. No VPN.

exekutive avatar Feb 25 '25 02:02 exekutive

30 videos in I had the same error. On reload the video played ok. Debian 12 installed via deb package. No VPN

nartahn avatar Feb 25 '25 03:02 nartahn

Something very strange on my end. Because I'm using the Flatpak version the update wasn't pushed until today (or yesterday, I didn't check). So I'm still on v0.23.1, ready to update and then... Freetube is now working flawlessly. Without me updating.

v0.23.1 No reload, no fallback to Invidious, it just works. I'm using a VPN, Local API, DASH formats, no Proxy.

(Sending a bug report when things work is a bit odd, I know, but a bug that resolves itself is a rare thing. Does that help in any way?)

galure avatar Feb 25 '25 04:02 galure

Same here using Appimage on Debian with VPN turned on and off.

Short time solution could be auto retry when having any kind of connection related issues.

alarm10101010 avatar Feb 25 '25 10:02 alarm10101010

FT_v0.23.1n5653 does not give the error(most avc1/DASH), and with FT_v0.23.2n5663 it occurs again. Before the repair, autoplay looked like it was activated before loading the first part of the video buffer and separately could cause a playback error. (Win10 FT_v0.23.1n5653 Portable).

riverpiers avatar Feb 25 '25 14:02 riverpiers

Linux Mint 21.3 Cinnamon, Freetube v0.23.2 Beta Appimage,

no VPN, no proxy, local API, Proxy Videos Through Invidious is disabled, DASH Formats as Default video format

I have encountered the 'deciperhing failed' again. I was able to grab the console output from one of those incidents; I hope it helps. Yes, there are a few dead channels in the subscriptions. Navigating backwards once or twice, then the video played.

[...]
       Failed to load resource: the server responded with a status of 404 ()
www.youtube.com/feeds/videos.xml?channel_id=UCWjrCQdeJ4yGPrxvaPcn_cg:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
www.youtube.com/feeds/videos.xml?channel_id=UC98nMIxmpaBgaR6mezPsCAQ:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
KMyHX7mqeDtj34bnBg7rBm4E1QhJVDPy01RiDFssh-K6K4ioQU1Tg_mBoCb1wvhMy1tJgBi9dQ=s176-c-k-c0x00ffffff-no-rj:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
JBFyjzaasgysHlwmRVSJbPk-CQP5LTPVKpq5dvm5RhXBXwOxS8u4pgxu2sCPAPZlGc1BckQI=s176-c-k-c0x00ffffff-no-rj:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
CbeODylzW2bdpspzDoGIkkcE0IirKvCRhNteSs6rdwaR_Aa5N7kSACJWrNxVwfG1lkQSOJd2mA=s176-c-k-c0x00ffffff-no-rj-mo:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
ducKlNqBWgzMdiHVsHhR3N3ORgleaE4bULvdzo57xuEXZeOB-fP7sUPsc8qDS4OUqsa1Ee7ED1g=s160-c-k-c0x00ffffff-no-rj:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
-T7DFQEKNO_WWwGUujxglK6jDY4gldxs3hjpzco0SezBOlJkdRMxmknAGkeuXCoZo4KWNyjlUg=s176-c-k-c0x00ffffff-no-rj:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
KrSepKsPtnNYwggIRVu4I9E5q3268utgldDU-ZzClVUH1itzofkxAx2mjkiPXfn3pQRtymy_s4U=s176-c-k-c0x00ffffff-no-rj:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
_WMsTG7eBUmxWMoJMVFVtldnkolArV3sDeQkAyTFfIkHpY2wJfaSXfNpdYnlLei7-zJrWtxA=s176-c-k-c0x00ffffff-no-rj:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()
renderer.js:2 [YOUTUBEJS][Parser]: UG: Type mismatch, got MerchandiseShelf expected VideoDescriptionHeader | ExpandableVideoDescriptionBody | VideoDescriptionMusicSection | VideoDescriptionInfocardsSection | VideoDescriptionCourseSection | VideoDescriptionTranscriptSection | VideoDescriptionTranscriptSection | HorizontalCardList | ReelShelf | VideoAttributesSectionView | HowThisWasMadeSectionView.
    at iV (app://bundle/renderer.js:2:1454998)
    at dV (app://bundle/renderer.js:2:1463168)
    at hV (app://bundle/renderer.js:2:1463663)
    at new Z_ (app://bundle/renderer.js:2:1292374)
    at dV (app://bundle/renderer.js:2:1463379)
    at new tC (app://bundle/renderer.js:2:1292557)
    at dV (app://bundle/renderer.js:2:1463379)
    at hV (app://bundle/renderer.js:2:1463663)
    at uV (app://bundle/renderer.js:2:1462058)
    at new BV (app://bundle/renderer.js:2:1469414)
2 @ renderer.js:2
renderer.js:2 jG: No valid URL to decipher
    at fW.decipher (app://bundle/renderer.js:2:1673429)
    at YU.decipher (app://bundle/renderer.js:2:1453579)
    at lX (app://bundle/renderer.js:2:1830612)
    at oX (app://bundle/renderer.js:2:1830245)
    at async r.getVideoInformationLocal (app://bundle/renderer.js:2:2292413)
getVideoInformationLocal @ renderer.js:2
Chrome is moving towards a new experience that allows users to choose to browse without third-party cookies.
[...]
#######TONS OF THE SAME MESSAGE BEING REPEATED#######
[...]
Chrome is moving towards a new experience that allows users to choose to browse without third-party cookies.
iv.ggtyler.dev/api/v1/videos/7Tc9FfWB4Fk?:1 
        
        
       Failed to load resource: net::ERR_TIMED_OUT
renderer.js:2 Invidious API error https://iv.ggtyler.dev/api/v1/videos/7Tc9FfWB4Fk? TypeError: Failed to fetch
    at XK (renderer.js:2:1767832)
    at renderer.js:2:1768037
    at new Promise (<anonymous>)
    at QK (renderer.js:2:1767927)
    at oY (renderer.js:2:1769124)
    at r.getVideoInformationInvidious (renderer.js:2:2300814)
    at r.getVideoInformationLocal (renderer.js:2:2300686)
(anonymous) @ renderer.js:2
renderer.js:2 TypeError: Failed to fetch
    at XK (renderer.js:2:1767832)
    at renderer.js:2:1768037
    at new Promise (<anonymous>)
    at QK (renderer.js:2:1767927)
    at oY (renderer.js:2:1769124)
    at r.getVideoInformationInvidious (renderer.js:2:2300814)
    at r.getVideoInformationLocal (renderer.js:2:2300686)
(anonymous) @ renderer.js:2
renderer.js:2 TypeError: Failed to fetch
    at XK (renderer.js:2:1767832)
    at renderer.js:2:1768037
    at new Promise (<anonymous>)
    at QK (renderer.js:2:1767927)
    at oY (renderer.js:2:1769124)
    at r.getVideoInformationInvidious (renderer.js:2:2300814)
    at r.getVideoInformationLocal (renderer.js:2:2300686)
(anonymous) @ renderer.js:2
renderer.js:2 MediaImage src can only be of http/https/data/blob scheme: app://bundle/index.html
mounted @ renderer.js:2
Ht @ renderer.js:2
wi @ renderer.js:2
insert @ renderer.js:2
T @ renderer.js:2
(anonymous) @ renderer.js:2
e._update @ renderer.js:2
n @ renderer.js:2
e.get @ renderer.js:2
e.run @ renderer.js:2
Li @ renderer.js:2
(anonymous) @ renderer.js:2
Xt @ renderer.js:2
Promise.then
Wt @ renderer.js:2
ti @ renderer.js:2
open @ renderer.js:2
LJ @ renderer.js:2
(anonymous) @ renderer.js:2
renderer.js:2 Player Error (category and code explainations here: https://shaka-player-demo.appspot.com/docs/api/shaka.util.Error.html)
Video ID: "7Tc9FfWB4Fk"
FreeTube player context: "loading dash/audio manifest and setting default quality in mounted"

Severity: CRITICAL (2)
Category: NETWORK (1)
Code: UNSUPPORTED_SCHEME (1000)
Stack trace:
Error: Shaka Error 1000
    at new Ee (app://bundle/renderer.js:2:24640)
    at la (app://bundle/renderer.js:2:97084)
    at app://bundle/renderer.js:2:101205
    at app://bundle/renderer.js:2:99035
    at app://bundle/renderer.js:2:99276 

shaka-player Data: [re]
KQ @ renderer.js:2
Ae @ renderer.js:2
Ve @ renderer.js:2
await in Ve
(anonymous) @ renderer.js:2
await in (anonymous)
Ht @ renderer.js:2
wi @ renderer.js:2
insert @ renderer.js:2
T @ renderer.js:2
(anonymous) @ renderer.js:2
e._update @ renderer.js:2
n @ renderer.js:2
e.get @ renderer.js:2
e.run @ renderer.js:2
Li @ renderer.js:2
(anonymous) @ renderer.js:2
Xt @ renderer.js:2
Promise.then
Wt @ renderer.js:2
ti @ renderer.js:2
open @ renderer.js:2
LJ @ renderer.js:2
(anonymous) @ renderer.js:2
renderer.js:2 Unable to play DASH formats. Reverting to legacy formats...
handlePlayerError @ renderer.js:2
Ht @ renderer.js:2
i @ renderer.js:2
Ht @ renderer.js:2
e.$emit @ renderer.js:2
Ae @ renderer.js:2
Ve @ renderer.js:2
await in Ve
(anonymous) @ renderer.js:2
await in (anonymous)
Ht @ renderer.js:2
wi @ renderer.js:2
insert @ renderer.js:2
T @ renderer.js:2
(anonymous) @ renderer.js:2
e._update @ renderer.js:2
n @ renderer.js:2
e.get @ renderer.js:2
e.run @ renderer.js:2
Li @ renderer.js:2
(anonymous) @ renderer.js:2
Xt @ renderer.js:2
Promise.then
Wt @ renderer.js:2
ti @ renderer.js:2
open @ renderer.js:2
LJ @ renderer.js:2
(anonymous) @ renderer.js:2

CEHitchens avatar Feb 25 '25 22:02 CEHitchens

No valid URL to decipher

That's a new and very concerning error message, it means that the only streaming URL in the response was the legacy 360p one and that DASH playback has to use the SABR URL, something that will require a lot of work to get working with the player (we will basically have to build a translation layer between the video player and the SABR requests and responses to and from YouTube).

absidue avatar Feb 25 '25 22:02 absidue

I have the same issue, my current workaround is just using FreeTube to subscribe and track the videos, but then copy the YT link and paste it into mpv, that works fine for me.

This issue seem to come and go for me, without any setting changes etc. MPV seem to be reliable however.

PyroDevil avatar Feb 26 '25 10:02 PyroDevil

I have had the same issue. I have found that by going back and forth between 2 videos I can often get playback to work. but i have to do this fro each video, and sometimes many times. but not using the current version. I went back to a number of precious versions. when i went back to 22.0 beta i accidently clicked on one of the arrows to got foreward page/ back page more than once. and a video started playing.

have not tried that with other versions.

windows 10 10.0.19045 ryzen 5800 6900xt 64gig ram MB msi ms-7a38

locoloon avatar Feb 26 '25 14:02 locoloon

this fixed it for me: change from Invideous API to Local API.

Image

javierxio avatar Feb 26 '25 18:02 javierxio

Same issue on and off. The problem was solved after updating to v0.23.2 Beta and started again from now. There is also no instance with API available for Invidious.

Image

ghost avatar Feb 26 '25 22:02 ghost

Same issue on and off. The problem was solved after updating to v0.23.2 Beta and started again from now. There is also no instance with API available for Invidious.

Try some of these:

Image

@uncharted-user

javierxio avatar Feb 27 '25 01:02 javierxio

working now thanks for help

locoloon avatar Feb 27 '25 16:02 locoloon

Try some of these:

I don't see any instance with API in https://api.invidious.io/

ghost avatar Feb 27 '25 22:02 ghost

Not ideal, but I have found that if you back-page out of the video's page and reopen it, it will play. Sometimes it takes even three or four times, but it will eventually play. As I said, not ideal, but if seeing the video is important, that will make it possible.

dep-scribe avatar Feb 28 '25 06:02 dep-scribe

i may try that "back then go back to the video" thing someone suggested and I hate to contribute to the "noise" but I had this same issue, the beta seemed to work for me (newest beta .. 0.23.x i think worked for a day or so, and then later that night, the 403 was back. I do see some other YT related "apps" playing the same cat and mouse game with YT fixing this latest issue

Xmetalfanx avatar Feb 28 '25 18:02 Xmetalfanx

Not ideal, but I have found that if you back-page out of the video's page and reopen it, it will play. Sometimes it takes even three or four times, but it will eventually play. As I said, not ideal, but if seeing the video is important, that will make it possible.

Not working anymore!

ghost avatar Mar 01 '25 00:03 ghost

I encountered this issue today, it's become much more infrequent since 0.23.2 Beta but it's still there.

FreeTube version: 0.23.2 Beta Operating System Version: Debian Unstable Installation Method: Flathub Primary API Used: Local API

konomikitten avatar Mar 02 '25 15:03 konomikitten

Not working anymore!

Still doable, albeit I use 0.22.1 currently due to unrelated issue of running newer versions on old OS I did notice a curious thing, however. A video plays for a few seconds before throwing an error, requiring going to the previous page and back again to the video, allowing it to play for a few seconds more before throwing an error again. While the error sometimes stops appears after a few to a dozen or so of times (fast forwarding to further point in the vid straight away makes no difference though), someone stubborn enough can watch a whole short video just going back and forth between said video's page and the previous one.

While not an solution, perhaps forcing Freetube to automatically reload video from the last point of time before the error once said error appears without reloading the rest of page would allow one to watch it relatively smoothly despie multiple reloads "under the hood"? It's inelegant, but a sort of temporary workaround all the same.

FulcrumA avatar Mar 06 '25 14:03 FulcrumA

Setting Default Video Format to Legacy Formats seems to be a workaround, although all videos are 360p in that case.

Fr0d0Beutl1n avatar Mar 08 '25 11:03 Fr0d0Beutl1n

Setting Default Video Format to Legacy Formats seems to be a workaround, although all videos are 360p in that case.

Alas, it may do so for some videos, especially after a couple of tries the same as going back and forth mentioned previously does, but it doesn't do reliably.

FulcrumA avatar Mar 09 '25 19:03 FulcrumA

Still doable

This not my experience all the time. Many new uploaded videos cannot be played no matter how many times I reload.

ghost avatar Mar 10 '25 02:03 ghost