FreeTube icon indicating copy to clipboard operation
FreeTube copied to clipboard

[Bug]: `Audio formats are not available for this video` / 360p only streams - SABR

Open CoffeeMate2 opened this issue 9 months ago • 44 comments

SCROLL DOWN TO THE MOST RECENT MESSAGE FOR THE LATEST UPDATES ON THE ISSUE

Guidelines

Describe the bug

When opening a video from search results, or subscription page, rarely (perhaps 1/30 times) a message "Audio formats are not available for this video" is briefly displayed at the bottom of the program and the video will not play. Going back and then re-opening the video seems to always resolve the issue, and the video then plays with no problem.

Expected Behavior

The video should play first time, as audio formats are available, as is evident of retrying the same video a second time and it working.

Issue Labels

inconsistent behavior

FreeTube Version

v0.23.3 Beta

Operating System Version

Microsoft Windows Version 10 22H2 (OS Build 19045:5608)

Installation Method

.exe

Primary API used

Local API

Last Known Working FreeTube Version (If Any)

No response

Additional Information

No response

Nightly Build

CoffeeMate2 avatar Mar 31 '25 00:03 CoffeeMate2

Quoting the changelog, it literally says don't open bug reports for this:

IMPORTANT Please note that you may occasionally encounter Legacy Formats (available video quality, 360p) while playing a video. This is expected behavior, SO DO NOT SUBMIT BUG REPORTS FOR THIS. In these cases, FreeTube's video playback wouldn't work at all, and an error message (No valid URLs to decipher error) would be shown. This workaround allows users to still watch videos in those cases.

absidue avatar Mar 31 '25 04:03 absidue

In my experience with this bug, the error will be displayed, and the video won't play at all. If I leave the video page and come back into it a few times, it will eventually work. So, something isn't working properly, and in my opinion it's a legitimate bug, if only because there is inconsistent behavior when viewing the video page multiple times.

Infinality avatar Mar 31 '25 16:03 Infinality

In this instance, the error message "No valid URLs to decipher error" is not displayed. Instead the error message "Audio formats are not available for this video" is instead displayed.

I am sorry if this is the same error, however it has an entirely different error dialog.

CoffeeMate2 avatar Apr 01 '25 11:04 CoffeeMate2

The whole point of the legacy 360p fallback is that you won't see the "No valid URLs to decipher error" error anymore instead it will show 360p stream. In your case it sounds like it got a SABR only response (no DASH and audio only formats), went into that fallback and is then failing to play the 360p stream for some reason (you will need to provide screenshots of the devtools (CTRL+SHIFT+I) console if you want us to have any idea why) and is then going into the normal error handling in FreeTube which changes between legacy, audio and DASH formats, which of course doesn't work in this case as only the legacy formats are available.

absidue avatar Apr 01 '25 12:04 absidue

Been having the same issue on and off myself, here's a screenshot of the console. The player behaved as expected after reloading the page.

Image

IronEleven avatar Apr 05 '25 04:04 IronEleven

Experienced the same issue and it resolved itself after reloading video in x64 .deb newest version of Freetube 0.23.4 . When the error "Audio formats are not available for this video" shows the video is not playable.

The console errors that maybe related but its hard to tell:

renderer.js:2 Player Error (category and code explainations here: https://shaka-player-demo.appspot.com/docs/api/shaka.util.Error.html) Video ID: "EtYeJqRxYjM" FreeTube player context: "setLegacyFormat"

Severity: CRITICAL (2) Category: MEDIA (3) Code: VIDEO_ERROR (3016) Stack trace: Error: Shaka Error 3016 at new Ee (app://bundle/renderer.js:2:24640) at kd (app://bundle/renderer.js:2:278026) at app://bundle/renderer.js:2:296865 at HTMLVideoElement.n (app://bundle/renderer.js:2:51425)

shaka-player Data: Array(3) 0 : 4 1 : undefined 2 : "MEDIA_ELEMENT_ERROR: Format error" length : 3 [[Prototype]] : Array(0)

FreeTube data: Object rQ @ renderer.js:2


Unable to play legacy formats. Reverting to audio formats... handlePlayerError @ renderer.js:2

CaptainMorgan12 avatar Apr 24 '25 14:04 CaptainMorgan12

Have this issue myself even on the latest version I have a guess that it got stuck in a failstate while loading the video in legacy formats

DASH failed to load > legacy failed to load > audio failed to load > unplayable

Tetriser avatar Apr 26 '25 04:04 Tetriser

I was having this issue intermittently yesterday, although now it is pretty much every video. I also have this on the latest version. If I close and reopen the video a few times, it will eventually allow me to play it, but the bug is definitely getting worse.

transorbital-decay avatar Apr 26 '25 05:04 transorbital-decay

In my case, the error is not intermittent, but quite frequent. Here is a screenshot of console after such an error:

Image

glanduin avatar Apr 26 '25 16:04 glanduin

FWIW, if the error cannot be meaningfully resolved, I do think it's worth discussing if we can improve the logging and notification to the user. The error notification message does not match the user's expectation of what is actually occurring, and it disappears so quickly that it can be easily missed, thus occasionally not properly conveying to the user that a terminal error has occurred.

There's also the matter of if we should programmatically route the user places based on terminal video errors, but that's a somewhat separate discussion

kommunarr avatar Apr 26 '25 17:04 kommunarr

Fyi: the user receive the no audio formats error when they get a SABR only response and YouTube throws the 403 for the first few seconds, so FreeTube tries to do it's fallback thing and then shows the no audio formats message because it tried to switch to it.

This wouldnt be an issue at all if SABR was already implemented

FWIW, if the error cannot be meaningfully resolved, I do think it's worth discussing if we can improve the logging and notification to the user. The error notification message does not match the user's expectation of what is actually occurring, and it disappears so quickly that it can be easily missed, thus occasionally not properly conveying to the user that a terminal error has occurred.

There's also the matter of if we should programmatically route the user places based on terminal video errors, but that's a somewhat separate discussion

I agree with this. A more visible/communicative error notification instructing the user to reload the video, and a refresh button as suggested in #7273 would at least improve usability in the meantime while the devs experiment with more permanent solutions.

transorbital-decay avatar Apr 26 '25 18:04 transorbital-decay

See https://github.com/FreeTubeApp/FreeTube/issues/7273#issuecomment-2832500603

If it's not valid to refresh the video window using the Ctrl+R shortcut (#7281; though personally, I've never seen this break anything in the application), what's the recommended way to retry loading the video when this error occurs?

mkalinski avatar Apr 28 '25 21:04 mkalinski

When i try ctrl+R, i realized that it erases the whole session history so it is probly more like restarting the application than refreshing the page.

glanduin avatar Apr 28 '25 21:04 glanduin

Note, for this video, refreshing does NOT work: https://youtu.be/WPtSoNK8P-A

EDIT: Scratch that, I refreshed 4 times and finally it began working. What an odd bug.

betam4x avatar Apr 28 '25 21:04 betam4x

@mkalinski navigate away and navigate back to the watch page

As nice as it is to know that this bug has a workaround, the fact of the matter is that between the frequency that it's been happening going up and the non-intuitiveness of the solution, it should very much be called out as something that needs a better fix in some capacity. I've had to start refreshing videos upwards of four times to get them to work, whereas the problem used to only rear its head once every couple of videos, and a single refresh would do the trick.

(Somewhat relatedly, I was not aware of the CTRL+R key combo, but that is because I'm used to refreshable pages having a refresh button; a refresh button being added to the UI in some regard and the error notification pointing to it could be a good interim patch if the actual problem is one that does not have a simple solution.)

Astralika avatar Apr 29 '25 01:04 Astralika

Tried to do the refresh workaround on this video and no matter how much I try, it will not work.

Well, as I was typing this comment, it started working. But the video is stuck in 360p with no option to change it to a higher resolution which is odd.

https://youtu.be/OFQbyCZt6p4

quuinnn avatar Apr 29 '25 02:04 quuinnn

I click on a video. The video doesn't load. It says "Audio formats are not available for this video." No matter how often I click back and forth to the video this doesn't fix it. So this video is unwatchable for me with FreeTube: https://youtu.be/8gDGeXL05PI

Why is this marked as "Not planned", exactly? I's clearly a bug.

Also, why do other players work fine on the video? What are they doing differently to FreeTube?

jayjay73 avatar Apr 29 '25 02:04 jayjay73

This is now happening on every video and no videos are playable now. Looks like youtube has added another way to break freetube. I'm using the appimage 23.4.

stillpointx avatar Apr 29 '25 03:04 stillpointx

I believe this issue should be re-opened. Currently, FreeTube is unusable without the fix. The error occurs on every single video and no amount of refreshing can fix it. Similar problem is observed in NewPipe, just like 360p video @quuinnn has described. https://github.com/TeamNewPipe/NewPipe/issues/12126

The issue should be open and pinned so users who are having problem (which will be everyone) can see it and use this thread as an update to fix progress and when they can continue using FreeTube; and not make new duplicate threads and offtopic comments.

vttc08 avatar Apr 29 '25 03:04 vttc08

It's working for me when I load the videos with external media players (I'm using mpv.)

epicMage avatar Apr 29 '25 03:04 epicMage

It's those YouTube boys cracking down again I reckon.

HairyMilkshakes avatar Apr 29 '25 03:04 HairyMilkshakes

Yeah, it's completely unusable for me as well now. I've reloaded the video 9 times, no signs of improvement. Tried a different video, the same thing. I think this should be reopened as it is no longer a small inconvenience but a complete lack of functionality.

transorbital-decay avatar Apr 29 '25 03:04 transorbital-decay

External media players aren't working for me either. Tried mpv, VLC and Celluloid. I've tried switching back and forth between Legacy format. No videos are playable. It does seem like YouTube has cracked down in some way.

transorbital-decay avatar Apr 29 '25 03:04 transorbital-decay

the "go back and then go forward" is not working anymore. the error is now persistent & appear on EVERY VIDEO. reloading FreeTube doesn't work either

ismi-ismi avatar Apr 29 '25 03:04 ismi-ismi

This is now happening on every video and no videos are playable now. Looks like youtube has added another way to break freetube. I'm using the appimage 23.4.

Someone tell Youtube that we WILL NOT COMPLY!!!

Shugabush avatar Apr 29 '25 04:04 Shugabush

Even Invidious is broken now. Sounds like NewPipe is having issues as well. It's definitely YouTube, seems like. Do we know what they did to cause this?

transorbital-decay avatar Apr 29 '25 04:04 transorbital-decay

The issue is almost certainly related to this:

https://github.com/TeamNewPipe/NewPipe/issues/12126 https://github.com/TeamNewPipe/NewPipe/issues/12126#issuecomment-2754182010

YouTube have likely rolled out this change on a wider scale after a few weeks of testing. In the case of NewPipe it is still able to fetch the 360p stream, and it looks as though there is a known fix but it requires changes in the protocol of how clients fetch the streams.

rjdg14 avatar Apr 29 '25 04:04 rjdg14