anxdpanic / plugin.video.youtube

Watch your favorite YouTube content on Kodi
https://ytaddon.panicked.xyz/forum
675 stars 111 forks source link

Error message: This video is unavailable #845

Closed mvoelz closed 1 month ago

mvoelz commented 1 month ago

Context

Please provide any relevant information about your setup


Expected Behavior

Video is played.


Current Behavior

Error message: This video is unavailable


Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Play a video from "watch_later" list

Log


2024-07-22 20:16:30.173 T:7234     info <general>: [plugin.video.youtube] Running: YouTube (7.0.9+beta.3) on Nexus (Kodi-20.3) with Python 3.11.2
                                                   Path: /play/
                                                   Params: {'video_id': 'y8Im-Q8BVns'}
2024-07-22 20:16:30.490 T:7234  warning <general>: [plugin.video.youtube] Failed to retrieve video info - video_id: y8Im-Q8BVns, client: android_youtube_tv, auth: True,
                                                   status: CONTENT_NOT_AVAILABLE_IN_THIS_APP, reason: This video is unavailable
2024-07-22 20:16:30.548 T:7234    error <general>: [plugin.video.youtube] yt_play.play_video - This video is unavailable:
                                                     File "/storage/.kodi/addons/plugin.video.youtube/resources/lib/plugin.py", line 16, in <module>
                                                       plugin_runner.run()
                                                     File "/storage/.kodi/addons/plugin.video.youtube/resources/lib/youtube_plugin/kodion/plugin_runner.py", line 63, in run
                                                       plugin.run(provider, context, focused=(current_uri == new_uri))
                                                     File "/storage/.kodi/addons/plugin.video.youtube/resources/lib/youtube_plugin/kodion/plugin/xbmc/xbmc_plugin.py", line 157, in run
                                                       result, options = provider.navigate(context)
                                                     File "/storage/.kodi/addons/plugin.video.youtube/resources/lib/youtube_plugin/kodion/abstract_provider.py", line 157, in navigate
                                                       result = handler(provider=self, context=context, re_match=re_match)
                                                     File "/storage/.kodi/addons/plugin.video.youtube/resources/lib/youtube_plugin/youtube/helper/yt_play.py", line 340, in process
                                                       video = _play_video(provider, context)
                                                     File "/storage/.kodi/addons/plugin.video.youtube/resources/lib/youtube_plugin/youtube/helper/yt_play.py", line 71, in _play_video
                                                       exc=exc, details=''.join(format_stack())

2024-07-22 20:16:30.558 T:875     error <general>: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.youtube/play/?video_id=y8Im-Q8BVns]

Additional Information

Video is played with alternative client details "alternative 1"


MoojMidge commented 1 month ago

Works fine for me.

Can you get a debug log using the default client and this test version? https://github.com/MoojMidge/plugin.video.youtube/archive/refs/heads/master.zip

buccinator commented 1 month ago

Works fine for me.

Can you get a debug log using the default client and this test version? https://github.com/MoojMidge/plugin.video.youtube/archive/refs/heads/master.zip

this fixed it. cheers

dtteufel commented 1 month ago

Same issue here.

Tested with your 'master.zip' Now open videos in Default client but limited to 1080 or less.

see logfile at https://paste.kodi.tv/hexemojiqi.kodi

MoojMidge commented 1 month ago

this fixed it. cheers

@buccinator - this was not a proper fix, just a temporary workaround. A log is still needed to fix this properly.

see logfile at https://paste.kodi.tv/omuhujuog

@dtteufel - thanks, but that link doesn't work

mvoelz commented 1 month ago

Works fine for me.

Can you get a debug log using the default client and this test version? https://github.com/MoojMidge/plugin.video.youtube/archive/refs/heads/master.zip

I am not getting the error with this version. I see warnings but the video is played. (diferent video from same channel, but all failed before)

2024-07-23 14:09:43.445 T:26860    info <general>: [plugin.video.youtube] Running: YouTube (7.0.9+beta.4) on Nexus (Kodi-20.3) with Python 3.11.2
                                                   Path: /play/
                                                   Params: {'video_id': '71Ugcr8-rys'}
2024-07-23 14:09:43.536 T:26860 warning <general>: [plugin.video.youtube] Failed to retrieve video info - video_id: 71Ugcr8-rys, client: android_youtube_tv, auth: True,
                                                   status: CONTENT_NOT_AVAILABLE_IN_THIS_APP, reason: This video is unavailable
2024-07-23 14:09:43.603 T:26860 warning <general>: [plugin.video.youtube] Failed to retrieve video info - video_id: 71Ugcr8-rys, client: android_testsuite, auth: True,
                                                   status: ERROR, reason: This video is unavailable
2024-07-23 14:09:43.910 T:875      info <general>: VideoPlayer::OpenFile: plugin://plugin.video.youtube/play/?video_id=71Ugcr8-rys
2024-07-23 14:09:43.915 T:976      info <general>: Creating InputStream
2024-07-23 14:09:43.924 T:976      info <general>: AddOnLog: inputstream.adaptive: [Repr. chooser] Resolution set: 1920x1080, max allowed: 1920x1080, Adjust refresh rate: 0
2024-07-23 14:09:43.931 T:976      info <general>: AddOnLog: inputstream.adaptive: Successfully parsed manifest file (Periods: 1, Streams in first period: 6, Type: VOD)
2024-07-23 14:09:43.931 T:976      info <general>: Creating Demuxer
2024-07-23 14:09:43.932 T:976      info <general>: Opening stream: 1001 source: 256
2024-07-23 14:09:43.988 T:976      info <general>: Creating video codec with codec id: 27
2024-07-23 14:09:43.988 T:976      info <general>: CDVDVideoCodecDRMPRIME::Open - using decoder V4L2 mem2mem H.264 decoder wrapper
2024-07-23 14:09:44.000 T:976      info <general>: Creating video thread
2024-07-23 14:09:44.000 T:983      info <general>: running thread: video_thread
2024-07-23 14:09:44.001 T:976      info <general>: Opening stream: 1006 source: 256
2024-07-23 14:09:44.048 T:976      info <general>: Finding audio codec for: 86018
2024-07-23 14:09:44.048 T:976      info <general>: CDVDAudioCodecFFmpeg::Open() Successful opened audio decoder aac
2024-07-23 14:09:44.048 T:976      info <general>: OpenStream: Allowing max Out-Of-Sync Value of 10 ms
2024-07-23 14:09:44.048 T:976      info <general>: Creating audio thread
2024-07-23 14:09:44.049 T:985      info <general>: running thread: CVideoPlayerAudio::Process()
2024-07-23 14:09:44.162 T:985      info <general>: CDVDAudioCodecFFmpeg::Open() Successful opened audio decoder aac
2024-07-23 14:09:44.162 T:985      info <general>: Creating audio stream (codec id: 86018, channels: 2, sample rate: 44100, no pass-through)
2024-07-23 14:09:44.180 T:883      info <general>: CActiveAESink::OpenSink - initialize sink
2024-07-23 14:09:44.378 T:883      info <general>: CAESinkALSA::Initialize - Attempting to open device "default"
2024-07-23 14:09:44.382 T:883      info <general>: CAESinkALSA::Initialize - Opened device "default"
2024-07-23 14:09:44.383 T:883      info <general>: CAESinkALSA::InitializeHW - Your hardware does not support AE_FMT_FLOAT, trying other formats
2024-07-23 14:09:44.383 T:883      info <general>: CAESinkALSA::InitializeHW - Using data format AE_FMT_S24NE3
2024-07-23 14:10:14.087 T:985      info <general>: ProcessDecoderOutput: Changed max allowed Out-Of-Sync value to 42 ms due self-learning
2024-07-23 14:12:05.823 T:976      info <general>: Process - eof reading from demuxer
2024-07-23 14:12:05.823 T:976      info <general>: CVideoPlayer::OnExit()
dtteufel commented 1 month ago

@MoojMidge Sorry! Second attempt sending log file:

https://paste.kodi.tv/hexemojiqi.kodi

I should add all was working well until late last week. Perhaps a change in the YT API?

MoojMidge commented 1 month ago

@mvoelz - thanks but I specifically needed a debug log. @dtteufel has provided one though, thanks.

I should add all was working well until late last week. Perhaps a change in the YT API?

Possibly, unfortunately the logs are not helpful in this instance. Will see how things pan out in the next few weeks.

dtteufel commented 1 month ago

@MoojMidge Thanks for your work on this. Alas the YT addon ( v7.0.9+beta.4) still blocks the playing of anything above 1080. I suspect the culprit is inputstream-adaptive 21.4.10 which is shipped with 'Bookworm' this is known to cause problems, as noted here https://forum.kodi.tv/showthread.php?tid=356934&page=158. As I am running the test version of OSMC's Vero5 version of Kodi 21 I think, as you say, we will have to see how this pans out in the coming weeks.

Again my thanks for you help.

MoojMidge commented 1 month ago

The problem is not because of InputStream.Adaptive, but that for whatever reason YouTube requests using the methods preferred by this plugin are now being blocked for you. So instead fallbacks are used, which do not always provide video streams greater than 1080p.

This may improve in the future, when I have more time to work on it.

That being said, the previous logs showed you playing videos at 1080p, that will now play at greater than 1080p in v7.0.9+beta.4. Can you provide an example video where this is not working?

dtteufel commented 1 month ago

@MoojMidge As requested, this is a video that is flagged as 'This video is unavailable' when I attempt to open it with the 'Default Client ' set. https://www.youtube.com/watch?v=zCoCOHOYd28&t=6245s I am using the latest beta v7.0.9+beta.4 If I change the Client to 'Alternative 1 or 2' it then plays at 1080.

As far as I can see no video will play when the client is set to 'Default' regardless of Quality. Do not feel pressured to resolve this I know that you have many demands on your time. I have created a new API Key but the issue does not change.

MoojMidge commented 1 month ago

flagged as 'This video is unavailable' when I attempt to open it with the 'Default Client ' set

Yes, I see what the problem is, will release a new beta version soon to workaround that.

If I change the Client to 'Alternative 1 or 2' it then plays at 1080.

When using the fallback, some videos only offer AV1 streams for resolutions greater than 1080p, some also include VP9 streams. If they only offer the AV1 streams, then you will be limited to 1080p because you have this disabled.

As you use a Vero 5 you should enable AV1 as this device is capable of hardware decoding these video streams.

dtteufel commented 1 month ago

@MoojMidge Thanks for persisting with this. I'll await the next Beta. you will see from thee attached settings file that already have AV1 streams enabled.

settings.xml.txt

MoojMidge commented 1 month ago

There may be another problem then

In your previous log there were entries like the following:

2024-07-23 12:38:44.172 T:3099 debug <general>: [plugin.video.youtube] Unknown itag: 623 #EXT-X-STREAM-INF:BANDWIDTH=19624212,CODECS="vp09.00.50.08,mp4a.40.2",RESOLUTION=2560x1440,FRAME-RATE=60,VIDEO-RANGE=SDR,AUDIO="234",CLOSED-CAPTIONS=NONE https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1721759923/ei/U6SfZuSdLfGHp-oP7tu-6Aw/ip/<redacted>/id/0ceab3e24f3f0277/itag/623/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D7406965561%3Bdur%3D4682.216%3Bgir%3Dyes%3Bitag%3D308%3Blmt%3D1721200937893156/rqh/1/hls_chunk_host/rr5---sn-cu-abfl.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/DV/mm/31,29/mn/sn-cu-abfl,sn-cu-ajte6/ms/au,rdu/mv/m/mvi/5/pl/25/force_finished/1/initcwndbps/2080000/siu/1/vprv/1/playlist_type/DVR/dover/13/txp/630F224/mt/1721737973/fvip/4/short_key/1/keepalive/yes/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,force_finished,siu,vprv,playlist_type/sig/AJfQdSswRAIgYgbQxba90yNcAkXepQhbG-l2Xrpx6TjBwtI7tPZ1Ib4CIAYSEhnVC5XUOjvl-RggKLYRhcbLRnK38S8VYhe3_Ssy/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AHlkHjAwRAIgCgi-hne53pDyrHhxI1PXcx7hkXWOljYuTxgUFU7oPwkCIAu4m3Kyf1b9HSCe6JmahLESLscU9sTxEISzzwH9sHXi/playlist/index.m3u8

2024-07-23 12:38:44.172 T:3099 debug <general>: [plugin.video.youtube] Unknown itag: 628 #EXT-X-STREAM-INF:BANDWIDTH=36391082,CODECS="vp09.00.51.08,mp4a.40.2",RESOLUTION=3840x2160,FRAME-RATE=60,VIDEO-RANGE=SDR,AUDIO="234",CLOSED-CAPTIONS=NONE https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1721759923/ei/U6SfZuSdLfGHp-oP7tu-6Aw/ip/<redacted>/id/0ceab3e24f3f0277/itag/628/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D15277236153%3Bdur%3D4682.216%3Bgir%3Dyes%3Bitag%3D315%3Blmt%3D1721201052575587/rqh/1/hls_chunk_host/rr5---sn-cu-abfl.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/mh/DV/mm/31,29/mn/sn-cu-abfl,sn-cu-ajte6/ms/au,rdu/mv/m/mvi/5/pl/25/force_finished/1/initcwndbps/2080000/siu/1/vprv/1/playlist_type/DVR/dover/13/txp/630F224/mt/1721737973/fvip/4/short_key/1/keepalive/yes/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,force_finished,siu,vprv,playlist_type/sig/AJfQdSswRAIgLRcgx0-MLPG-78LWGrVMWBwh_nOAUYd6b4R_Mt8cNkgCIAUoSAj3u0uIkitFbyQLFUsTVw5fOkWCUxRPwvRdrB5D/lsparams/hls_chunk_host,mh,mm,mn,ms,mv,mvi,pl,initcwndbps/lsig/AHlkHjAwRAIgOZ9-FV2W0DA1xHjs-Jlqmn7FXPhgwGP94xBdCMS3BawCIDrux3x4IcMf_fwZSZhEhhdQK00xDrw5IiIMZ5j-mXkR/playlist/index.m3u8

2024-07-23 12:38:44.175 T:3099 debug <general>: [plugin.video.youtube] Get |kodion.mpd.stream.features|: "['avc1', 'vp9', 'hdr', 'hfr', 'vorbis', 'mp4a', 'ssa', 'ac-3', 'ec-3', 'dts', 'filter']" (str list, success)

This indicated that there were 1440p and 4k VP9 streams that weren't being used (fixed in v7.0.9+beta.4), and that you had AV1 streams disabled.

If after enabling the AV1 streams there are still issues, that could mean that the higher quality streams just aren't available, or that there is some other problem.

dtteufel commented 1 month ago

@MoojMidge

I now have all streams working correctly when Alternative client 1 is selected!

Lurking in the back of my mind is the memory that a similar issue exhibited itself when:

The IP address and or port of the HTTP Server were incorrectly configured or the port allocated was in use.

This used to create an error message - but no longer does so.

Many thanks

MoojMidge commented 1 month ago

Issues with the http server will still display an error notification. If you don't see one, then you don't have an issue with it. Your log indicates everything is fine in that regard too.

With the next beta you should re-enable the default client - it uses the same client details as Alternative 1 as fallbacks to the other clients which offer a wider variety of streams.

If you are still having problems after than you can upload a new log and I will have another look.