You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 2, 2026. It is now read-only.
This is not a feature request, but a description of the feature that will be introduce in the next release.
Providing alternative clients, such as TV, Web, has been discussed so far.
Here's why these clients aren't available on ReVanced:
Note
Mobile clients such as Android VR and iOS TV have unobfuscated streaming Urls, and the server blocks bots by verifying the Authorization token.
For all non-mobile clients, streaming urls are obfuscated by n-sig or signatureCipher.
Third-party apps such as NewPipe or SmartTube support deobfuscating streaming urls since they are all written from scratch.
Android YouTube client's response does not contain a signatureCipher, so none of the internal code handles it.
That's why ReVanced can't deobfuscate streaming data when it's spoofed to clients like TV or Web, and playback fails.
In order to spoof streaming data with clients like TV or Web, a feature that handles n-sig or signatureCipher must be implemented.
Implementing this was very difficult because almost all classes and methods in YouTube are obfuscated.
It's been some time since the Spoof streaming data patch was implemented, and there has been a lot of development and discussion of open source YouTube extraction tools.
Implementing clients like TV and Web in ReVanced is no longer completely impossible.
I used my free time last week to implement TV, a client that doesn't require a PoToken, and I'm currently testing it.
Up until last week, I hadn't decided to release it because it had a fatal side effect that I couldn't fix.
Nevertheless, I changed my mind, hoping that releasing the source code would allow someone to fix it.
The TV client does not offer any improvements over the available clients - such as Android VR and iOS TV - except that it supports multi-audio tracks and stable volume.
This is a limitation that will be shared not only by the TV client but also by other clients such as Web.
Note
Multi-audio tracks and stable volume are supported.
More system resources are used, and the video starts about 5 to 15 seconds later.
(Imagine if there was always 15 seconds of buffering before a 10-second Shorts started)
Age-regulated or purchased videos are marked as DRM protected, which is not yet implemented, if you're interested, see larsenv/YouTube-TV-Downloader
Motivation
Clients like Android VR and iOS TV have structural limitations that cannot be fixed.
TV has been used as the default client for a long time in yt-dlp, the most popular open source YouTube extraction tool.
TV has some critical side effects right now, but it is stable enough to be used as the default client once all the side effects are fixed.
Acknowledgements
This is not a feature request for YouTube.
This issue is not a duplicate of an existing feature request.
I have chosen an appropriate title.
All requested information has been provided properly.
Application
YouTube
Feature description
This is not a feature request, but a description of the feature that will be introduce in the next release.
Providing alternative clients, such as
TV,Web, has been discussed so far.Here's why these clients aren't available on ReVanced:
Note
Mobile clients such as
Android VRandiOS TVhave unobfuscated streaming Urls, and the server blocks bots by verifying theAuthorizationtoken.For all non-mobile clients, streaming urls are obfuscated by
n-sigorsignatureCipher.Third-party apps such as
NewPipeorSmartTubesupport deobfuscating streaming urls since they are all written from scratch.Android YouTube client's response does not contain a
signatureCipher, so none of the internal code handles it.That's why ReVanced can't deobfuscate streaming data when it's spoofed to clients like
TVorWeb, and playback fails.In order to spoof streaming data with clients like
TVorWeb, a feature that handlesn-sigorsignatureCiphermust be implemented.Implementing this was very difficult because almost all classes and methods in YouTube are obfuscated.
It's been some time since the
Spoof streaming datapatch was implemented, and there has been a lot of development and discussion of open source YouTube extraction tools.Implementing clients like
TVandWebin ReVanced is no longer completely impossible.I used my free time last week to implement
TV, a client that doesn't require a PoToken, and I'm currently testing it.Up until last week, I hadn't decided to release it because it had a fatal side effect that I couldn't fix.
Nevertheless, I changed my mind, hoping that releasing the source code would allow someone to fix it.
The
TVclient does not offer any improvements over the available clients - such asAndroid VRandiOS TV- except that it supports multi-audio tracks and stable volume.This is a limitation that will be shared not only by the
TVclient but also by other clients such asWeb.Note
Multi-audio tracks and stable volume are supported.
More system resources are used, and the video starts about 5 to 15 seconds later.
(Imagine if there was always 15 seconds of buffering before a 10-second Shorts started)
Age-regulated or purchased videos are marked as DRM protected, which is not yet implemented, if you're interested, see larsenv/YouTube-TV-Downloader
Motivation
Clients like
Android VRandiOS TVhave structural limitations that cannot be fixed.TVhas been used as the default client for a long time in yt-dlp, the most popular open source YouTube extraction tool.TVhas some critical side effects right now, but it is stable enough to be used as the default client once all the side effects are fixed.Acknowledgements