#YouTube playback is now broken on most of the #Piped instances out there, included mine. Google has decided to get tighter on IP checks and most of the videos are now replaced by a “Please sign in to confirm that you’re not a bot” text.
In the meantime, YouTube playback over external media plugins is currently also broken on #Platypush. YouTube has apparently completed the migration of all of its media to split audio+video tracks to be transcoded on the client, so the old trick of getting the audio+video direct URL via yt-dlp and passing it to vlc/mpv/Chromecast no longer works - you’ll mostly likely get an audio-only or video-only track.
A new version of Platypush that fixes the issue is on the way, but it comes with a trade-off, which is now embodied by the new cache_streams media plugin setting:
cache_stream=false (default) means that transcoding and streaming will occur in memory. This means less clutter on disk and playback that can start almost immediately. It also means however that the media quality may experience temporary jitters while it downloads, especially at the beginning. And it also means that seeking, depending on the player, may not (always) be available. It also results in higher memory usage for large files, although usually ffmpeg takes care of buffered memory quite efficiently.
cache_stream=true means that the transcoded media file will be temporarily cached on disk. This usually results in better media quality and robust support for seeking within the file. It also means however higher disk usage, especially if you’re watching large videos or live streams. And it also means a longer waiting time before playback, as at least one of the part files must be fully downloaded before streaming can start.
With such changes however media playback (with audio+video) via external player is now supported in Platypush also with other yt-dlp compatible sources (such as Facebook, Instagram, Twitter and TikTok URLs) that already had separate video+audio tracks.
Stay tuned for the new release!