Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug(YouTube - Spoof video streams): Age restricted videos fail to play #4089

Closed
3 tasks done
Sub123945 opened this issue Dec 10, 2024 · 20 comments · Fixed by #4096 or #4078
Closed
3 tasks done

bug(YouTube - Spoof video streams): Age restricted videos fail to play #4089

Sub123945 opened this issue Dec 10, 2024 · 20 comments · Fixed by #4096 or #4078
Labels
Bug report Something isn't working

Comments

@Sub123945
Copy link

Bug description

https://github.com/user-attachments/assets/2496cf8f-3dc8-4eb3-8a80-07fc7c66dba0
Image
All videos are properly playing but sensitive content not playing

Error logs

Solution

No response

Additional context

No response

Acknowledgements

  • I have checked all open and closed bug reports and this is not a duplicate.
  • I have chosen an appropriate title.
  • All requested information has been provided properly.
@LisoUseInAIKyrios
Copy link
Contributor

LisoUseInAIKyrios commented Dec 10, 2024

It appears to be all age restricted videos.

Searching for "1981 Belgium grand prix" gives age restricted videos that also fail.

https://youtu.be/Zj_srEHF1s8

@LisoUseInAIKyrios LisoUseInAIKyrios changed the title bug: YouTube sensitive content not playing bug(YouTube - Spoof video streams): Age restricted videos fail to play Dec 10, 2024
@oSumAtrIX
Copy link
Member

I am not able to reproduce. Logs would be needed. Enable Misc > First toggle and capture logs using logcat: logcat | grep Spoof

@LisoUseInAIKyrios
Copy link
Contributor

I can reproduce using video https://youtube.com/watch?v=wHDh_ruJ8Ug

But the logs don't show why it failed (maybe a zero length response?):

revanced: StreamingDataRequest: video: wHDh_ruJ8Ug took: 203ms
revanced: StreamingDataRequest: Could not fetch any client streams

@oSumAtrIX
Copy link
Member

For age restricted videos, only VR can be used. And VR is authorized as the logged in user. This should not fail and it doesn't in my case.

@LisoUseInAIKyrios
Copy link
Contributor

I'm seeing both clients fail. Android VR fails, and when it retries with iOS it also fails:

revanced: StreamingDataRequest: Fetching video streams for: wHDh_ruJ8Ug using client: ANDROID_VR
revanced: StreamingDataRequest: video: wHDh_ruJ8Ug took: 426ms
revanced: StreamingDataRequest: Received zero length response for video: wHDh_ruJ8Ug
revanced: StreamingDataRequest: Fetching video streams for: wHDh_ruJ8Ug using client: IOS
revanced: StreamingDataRequest: video: wHDh_ruJ8Ug took: 175ms
revanced: StreamingDataRequest: Received zero length response for video: wHDh_ruJ8Ug
revanced: StreamingDataRequest: Could not fetch any client streams

@oSumAtrIX
Copy link
Member

Is the VR request authorized?

@LisoUseInAIKyrios
Copy link
Contributor

Auth seems to be set:

StreamingDataRequest: Fetching video streams for: wHDh_ruJ8Ug using client: ANDROID_VR
StreamingDataRequest: Including authorization for client: ANDROID_VR
StreamingDataRequest: video: wHDh_ruJ8Ug took: 399ms
StreamingDataRequest: Received empty response for video: wHDh_ruJ8Ug

StreamingDataRequest: Fetching video streams for: wHDh_ruJ8Ug using client: IOS
StreamingDataRequest: Not including authorization for client: IOS
StreamingDataRequest: video: wHDh_ruJ8Ug took: 161ms
StreamingDataRequest: Received empty response for video: wHDh_ruJ8Ug

StreamingDataRequest: Could not fetch any client streams

@oSumAtrIX
Copy link
Member

Does it occur on other accounts? Maybe A/B?

@LisoUseInAIKyrios
Copy link
Contributor

Tried with a different account and still occurs.

@LisoUseInAIKyrios
Copy link
Contributor

LisoUseInAIKyrios commented Dec 10, 2024

All the other expected headers are present:

StreamingDataRequest: Fetching video streams for: wHDh_ruJ8Ug using client: ANDROID_VR
StreamingDataRequest: Including header: Authorization
StreamingDataRequest: Including header: X-GOOG-API-FORMAT-VERSION
StreamingDataRequest: Including header: X-Goog-Visitor-Id
StreamingDataRequest: video: wHDh_ruJ8Ug took: 448ms
StreamingDataRequest: Received empty response for video: wHDh_ruJ8Ug

StreamingDataRequest: Fetching video streams for: wHDh_ruJ8Ug using client: IOS
StreamingDataRequest: Not including header: authorization
StreamingDataRequest: Including header: X-GOOG-API-FORMAT-VERSION
StreamingDataRequest: Including header: X-Goog-Visitor-Id
StreamingDataRequest: video: wHDh_ruJ8Ug took: 165ms
StreamingDataRequest: Received empty response for video: wHDh_ruJ8Ug

StreamingDataRequest: Could not fetch any client streams

@LisoUseInAIKyrios
Copy link
Contributor

The issue is the language code for Android VR.

Not including the hl parameter and age restricted works.

@oSumAtrIX
Copy link
Member

That is quite odd. For unspooled requests I don't think hl is removed.

@LisoUseInAIKyrios
Copy link
Contributor

LisoUseInAIKyrios commented Dec 10, 2024

A short term fix is to add a duplicate Android VR client type where the language code is not set.

Then for age restricted it'll try:

  • Android VR (with language code) -- fail
  • iOS -- fail
  • Android VR (without language code) -- success

age restricted videos will have no audio track flyout and no stable volume, but it'll work again.

But maybe the Android VR request is missing other fields that should be there.

@Karthik-Subbu

This comment has been minimized.

@LisoUseInAIKyrios

This comment has been minimized.

@Karthik-Subbu

This comment has been minimized.

@Karthik-Subbu

This comment has been minimized.

@LisoUseInAIKyrios

This comment has been minimized.

@Karthik-Subbu

This comment has been minimized.

@LisoUseInAIKyrios
Copy link
Contributor

Setting a language code has also fixed a lack of AV1 on Android VR. AV1 is now used for some videos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug report Something isn't working
Projects
None yet
4 participants