iBicha / playlet

The unofficial, privacy driven, YouTube client for Roku
GNU Affero General Public License v3.0
287 stars 11 forks source link

HTTP Response errors #152

Closed alvinyhcheung closed 10 months ago

alvinyhcheung commented 10 months ago

Today when trying to play any videos, I'm receiving HTTP response errors. I have checked for updates and seems like I am on the most recent. Below is the error message that pops up

errorMsg: There was an error in the HTTP response. This could mean that malformed HTTP headers or an HTTP error code was returned.
errorCode: -1
errorStr: reader pick stream error:HTTP error:HTTP server returned error code:extra:etype:buffer
source: buffer:reader
clipid: 84
ignored: false
dbgmesg: reader pick stream error:HTTP error:HTTP server returned error code:extra:etype:buffer
category: http
errorcode: 2
drmerrcode: 0
iBicha commented 10 months ago

Thanks for reporting! Can you share the instance your using and your playlet configuration? You can access the configuration using http://IP_ADDRESS:8888/api/state (e.g. http://192.168.1.2:8888/api/state)

Additionally, you can go to the Settings, select Invidious, and then Instance. In the instance settings page, select the Test instance button. This will run a bunch of tests on your currently selected Invidious instance to make sure it is configured correctly.

alvinyhcheung commented 10 months ago

Here's a paste of the status:

{"app":{"git_commit_hash":"90ccb4080c02927a13a2af52636e4187b70e1c4c","id":"693751","lib_git_commit_hash":"7401263f0dfd40d351a6accb97eb17abacad961a","lib_url":"https://github.com/iBicha/playlet/releases/latest/download/playlet-lib.zip","lib_url_type":"github","lib_version":"0.12.1","lib_version_latest":"0.12.1","version":"0.10.0"},"device":{"display_aspect_ratio":"16x9","display_mode":"720p","display_size":{"h":720,"w":1280},"display_type":"HDTV","friendly_name":"Streaming Stick 4K Van","graphics_platform":"opengl","internet_status":true,"model":"3820X","model_details":{"Manufacturer":"Roku","ModelNumber":"3820CA","VendorName":"Roku","VendorUSBName":"Roku"},"model_display_name":"Streaming Stick 4K","model_type":"STB","os_version":{"build":"4184","major":"12","minor":"0","revision":"0"},"ui_resolution":{"height":1080,"name":"FHD","width":1920},"user_country_code":"CA","video_mode":"1080p"},"invidious":{"auth_url":"http://vid.puffyan.us/authorize_token?scopes=GET%3Afeed%2CGET%3Aplaylists*%2CPOST%3Atokens%2Fregister%2CPOST%3Atokens%2Funregister%2CPOST%3Ahistory*&callback_url=http%3A%2F%2F192.168.1.93%3A8888%2Finvidious%2Ftoken_callback%3Fref%3Dhttps%3A%2F%2Fvid.puffyan.us&expire=1758596012","current_instance":"https://vid.puffyan.us","logged_in":false,"logged_in_instance":null,"logged_in_username":null},"preferences":{"__version":1,"invidious.instance":"","invidious.proxy_videos":"if_needed","playback.autoplay":true,"playback.preferred_quality":"auto","sponsorblock.enabled":false,"sponsorblock.show_notifications":true}}

When testing the vid.puffyvan.us instance, Fetch video details and Fetch video captions are X where the other ones seem to pass.

iBicha commented 10 months ago

Here's a paste of the status:

{"app":{"git_commit_hash":"90ccb4080c02927a13a2af52636e4187b70e1c4c","id":"693751","lib_git_commit_hash":"7401263f0dfd40d351a6accb97eb17abacad961a","lib_url":"https://github.com/iBicha/playlet/releases/latest/download/playlet-lib.zip","lib_url_type":"github","lib_version":"0.12.1","lib_version_latest":"0.12.1","version":"0.10.0"},"device":{"display_aspect_ratio":"16x9","display_mode":"720p","display_size":{"h":720,"w":1280},"display_type":"HDTV","friendly_name":"Streaming Stick 4K Van","graphics_platform":"opengl","internet_status":true,"model":"3820X","model_details":{"Manufacturer":"Roku","ModelNumber":"3820CA","VendorName":"Roku","VendorUSBName":"Roku"},"model_display_name":"Streaming Stick 4K","model_type":"STB","os_version":{"build":"4184","major":"12","minor":"0","revision":"0"},"ui_resolution":{"height":1080,"name":"FHD","width":1920},"user_country_code":"CA","video_mode":"1080p"},"invidious":{"auth_url":"http://vid.puffyan.us/authorize_token?scopes=GET%3Afeed%2CGET%3Aplaylists*%2CPOST%3Atokens%2Fregister%2CPOST%3Atokens%2Funregister%2CPOST%3Ahistory*&callback_url=http%3A%2F%2F192.168.1.93%3A8888%2Finvidious%2Ftoken_callback%3Fref%3Dhttps%3A%2F%2Fvid.puffyan.us&expire=1758596012","current_instance":"https://vid.puffyan.us","logged_in":false,"logged_in_instance":null,"logged_in_username":null},"preferences":{"__version":1,"invidious.instance":"","invidious.proxy_videos":"if_needed","playback.autoplay":true,"playback.preferred_quality":"auto","sponsorblock.enabled":false,"sponsorblock.show_notifications":true}}

When testing the vid.puffyvan.us instance, Fetch video details and Fetch video captions are X where the other ones seem to pass.

Thank you for the details. This default instance seems to be facing some issues right now (I believe issue https://github.com/iv-org/invidious/issues/4119) You can try to select another instance from the settings and run the tests. If Fetch video details passes, then it should work. (if Fetch video captions fails, it means captions/subtitles will currently not work for that instance)

I expect that vid.puffyvan.us will be fixed at a later time, but you can switch instance in the meantime.

alvinyhcheung commented 10 months ago

Thanks for the quick reply. I've just tested using other US based instances and the instance tests seem to be okay (some of the Fetch video captions fail) then I save it as the instance to use and I still can't resolve a video - I get the same error as mentioned in the initial post.

alvinyhcheung commented 10 months ago

I just tried the France instance and it's working now. Possibly something with all US instances?

iBicha commented 10 months ago

I'm kind of noticing the same. It is affecting instances differently. For example: https://invidious.io.lol/watch?v=0c66ksfigtU does not work, but https://invidious.io.lol/watch?v=zR6vzJPlKrg works

And I believe the issue is a combination of:

I suggest to try and find an instance that mostly works for you, until some of these issues are tackled PS: I always recommend hosting your instance locally if you can, it makes Playlet super responsive.

alvinyhcheung commented 10 months ago

PS: I always recommend hosting your instance locally if you can, it makes Playlet super responsive.

I'm down. Do you have docs on this?

iBicha commented 10 months ago

Yes, it is fairly simple https://docs.invidious.io/installation If you are familiar with docker/docker-compose, then it is pretty straightforward.

If you want a solution that is less involved, you can use a home server like https://github.com/meienberger/runtipi Once you install tipi, you can browse and install all apps you want including Invidious. (I personally use tipi for my home server - you can try it here https://github.com/meienberger/runtipi#demo)

alvinyhcheung commented 10 months ago

Cool, never heard of tipi before. I'll go with the docker setup instead for my setup. Thanks for the help and good luck with this bug. Thank you also for this project - it's great. When I have more capacity, you may see me pop by and make some PRs :) Good luck!

iBicha commented 10 months ago

Thank you that's nice of you, and I'm glad I could help! I'll close this issue for now since it is mostly instance specific and should be tracked in Invidious, but I'll keep in mind to think about how to make this kind of issues more obvious to solve from a UX perspective.