Skip to content

[YouTube] Cannot get streams of playlists with only shorts #1077

@AudricV

Description

@AudricV

With the rollout of the sort by oldest feature on the new filtering system, YouTube also added filters to filter playlists, allowing users to filter videos and shorts inside playlists.

When shorts filter is enabled or when there are only shorts in a playlist, YouTube return shorts UI elements instead of standard video ones, the ones that are also used for shorts shelves in searches and suggestions and shorts in the corresponding channel tab.

Short UI elements (reelItemRenderers) don't include any information about shorts' upload date, shorts' uploader name and shorts' uploader URL; their duration needs to be parsed from accessibility data and their view count extracted is not exact.

The data structure has changed, switching from playlistVideoListRenderers and playlistVideoRenderers to richGridRenderers and richItemRenderers + reelItemRenderers respectively), so extraction of playlists in this case returns no streams. reelItemRenderers are also not supported by the extractor.

The shorts playlist UI doesn't give any continuation when there are more than 100 shorts in a playlist. This seems to be a bug on YouTube's side.

I think we have three possibilities to fix or mitigate the issues these changes raised:

  • use a mobile client (MWEB, ANDROID and probably IOS), on which filters are available but video UI is returned by default when there are only shorts in a playlist; (edit: shorts UI returned and forced for some playlists)
  • use the TVHTML5 client, where no filters and no precise view count are available (only human ones such as 1k views are returned);
  • keep the desktop variant and support reelItemRenderers, even if we loose a lot of information.

Metadata

Metadata

Assignees

No one assigned

    Labels

    YouTubeService, https://www.youtube.com/bugIssue or PR is related to a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions