Video playback fails in the Piped Kodi add-on on Kodi 21 (Omega) on Windows.
Apparantly the Windows build uses Python 3.8 and the add-on crashes while generating the DASH manifest due to usage of the Python 3.9+ dictionary merge operator (dict | dict), which is not supported in Python 3.8.
When I try to play a video, I get an error message containing
Playback failed
One or more items failed to play. Check the log for more information about this message.
In my logs:
TypeError: unsupported operand type(s) for |: 'dict' and 'dict'
File ".../plugin.video.piped/lib/dash.py", line 47
streams['audio'] = default_audio | streams['audio']
Weirdly, when I try to fix this locally by changing the line to something like this,
streams['audio'] = {**default_audio, **streams['audio']}
I don't get the error message anymore, but the video still doesn't play.
Logs:
127.0.0.1 - - [15/Mar/2026 00:41:55] "HEAD /watch?v=_fDCso5mek0 HTTP/1.1" 200 -
VideoPlayer::OpenFile: plugin://plugin.video.piped/watch/_fDCso5mek0
127.0.0.1 - - [15/Mar/2026 00:41:56] "HEAD /watch?v=_fDCso5mek0 HTTP/1.1" 200 -
Creating InputStream
AddOnLog: inputstream.adaptive: [Repr. chooser] Resolution set: 1920x1080, max allowed: 2560x1440, Adjust refresh rate: 0
127.0.0.1 - - [15/Mar/2026 00:41:56] "GET /watch?v=_fDCso5mek0 HTTP/1.1" 200 -
AddOnLog: inputstream.adaptive: Manifest successfully parsed (Periods: 1, Streams in first period: 1, Type: VOD)
Creating Demuxer
Opening stream: 1001 source: 256
CDVDSubtitlesLibass: Using libass version 1701000
CDVDSubtitlesLibass: Creating ASS library structure
CDVDSubtitlesLibass: Initializing ASS Renderer
CDVDSubtitlesLibass: Initializing ASS library font settings
CDVDSubtitlesLibass: Creating new ASS track
CVideoPlayer::Process - eof reading from demuxer
CVideoPlayer::OnExit()
VideoPlayer: eof, waiting for queues to empty
Closing stream player 3
ADDON: Dll Destroyed - InputStream Adaptive
Deleting settings information for files plugin://plugin.video.piped/watch/_fDCso5mek0
CVideoPlayer::CloseFile()
VideoPlayer: waiting for threads to exit
VideoPlayer: finished waiting
CVideoPlayer::CloseFile()
VideoPlayer: waiting for threads to exit
VideoPlayer: finished waiting
My ultimate goal was to run it on my Xbox Series S, but with the Kodi build there it doesn't work either.
Edit: I'm sorry that I forgot to mention this. I'm using a self-hosted instance which I access locally. It works fine in browser and the plugin logs in successfully and loads my playlists.
Video playback fails in the Piped Kodi add-on on Kodi 21 (Omega) on Windows.
Apparantly the Windows build uses Python 3.8 and the add-on crashes while generating the DASH manifest due to usage of the Python 3.9+ dictionary merge operator (dict | dict), which is not supported in Python 3.8.
When I try to play a video, I get an error message containing
Playback failed
One or more items failed to play. Check the log for more information about this message.
In my logs:
Weirdly, when I try to fix this locally by changing the line to something like this,
I don't get the error message anymore, but the video still doesn't play.
Logs:
My ultimate goal was to run it on my Xbox Series S, but with the Kodi build there it doesn't work either.
Edit: I'm sorry that I forgot to mention this. I'm using a self-hosted instance which I access locally. It works fine in browser and the plugin logs in successfully and loads my playlists.