Skip to content

plugins.vimeo: refactor plugin #5335

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 12, 2023

Conversation

bastimeyer
Copy link
Member

  • Split pluginmatcher into two
  • Rewrite validation schemas
  • Move data retrieval into separate methods
  • Always query API on non-player URLs and don't try to find embedded config data first
  • Add stream metadata
  • Clean up stream collection and only include streams from at most one CDN in order to avoid unnecessary duplicates

Follow-up of #5331

$ ./script/test-plugin-urls.py vimeo
:: Finding streams for URL: https://player.vimeo.com/video/176894130
:: Found streams: 720p_hls, 360p_hls, 540p_hls, 240p_hls, 1080p_hls, 240p, 240p+a52k, 240p+a120k, 240p+a237k, 360p, 360p+a52k, 360p+a120k, 360p+a237k, 540p, 540p+a52k, 540p+a120k, 540p+a237k, 720p, 720p+a52k, 720p+a120k, 720p+a237k, 1080p, 1080p+a52k, 1080p+a120k, 1080p+a237k, worst, best
:: Finding streams for URL: https://vimeo.com/771745400/840d05200c
:: Found streams: 240p, 240p+a67k, 240p+a99k, 240p+a191k, 360p, 360p+a67k, 360p+a99k, 360p+a191k, 540p, 540p+a67k, 540p+a99k, 540p+a191k, 720p, 720p+a67k, 720p+a99k, 720p+a191k, 1080p, 1080p+a67k, 1080p+a99k, 1080p+a191k, worst, best
:: Finding streams for URL: https://vimeo.com/783455878
:: Found streams: 240p, 240p+a66k, 240p+a98k, 240p+a191k, 360p, 360p+a66k, 360p+a98k, 360p+a191k, 540p, 540p+a66k, 540p+a98k, 540p+a191k, 720p, 720p+a66k, 720p+a98k, 720p+a191k, 1080p, 1080p+a66k, 1080p+a98k, 1080p+a191k, worst, best
:: Finding streams for URL: https://vimeo.com/album/3706071/video/148903960
:: Found streams: 360p_hls, 540p_hls, 720p_hls, 240p_hls, 1080p_hls, 240p, 240p+a52k, 240p+a114k, 240p+a162k, 240p+a258k, 360p, 360p+a52k, 360p+a114k, 360p+a162k, 360p+a258k, 540p, 540p+a52k, 540p+a114k, 540p+a162k, 540p+a258k, 720p, 720p+a52k, 720p+a114k, 720p+a162k, 720p+a258k, 1080p, 1080p+a52k, 1080p+a114k, 1080p+a162k, 1080p+a258k, worst, best
:: Finding streams for URL: https://vimeo.com/channels/music/176894130
:: Found streams: 720p_hls, 360p_hls, 540p_hls, 240p_hls, 1080p_hls, 240p, 240p+a52k, 240p+a120k, 240p+a237k, 360p, 360p+a52k, 360p+a120k, 360p+a237k, 540p, 540p+a52k, 540p+a120k, 540p+a237k, 720p, 720p+a52k, 720p+a120k, 720p+a237k, 1080p, 1080p+a52k, 1080p+a120k, 1080p+a237k, worst, best
:: Finding streams for URL: https://vimeo.com/ondemand/100footsurfingdays
:: Found streams: 720p_hls, 540p_hls, 1080p_hls, 360p_hls, 720p_dash, 360p_dash, 1080p_dash, 540p_dash, 360p, 540p, 720p, 1080p, worst, best
:: Finding streams for URL: https://vimeo.com/ondemand/worldoftomorrow3/467204924
:: Found streams: 540p_hls, 1080p_hls, 720p_hls, 240p_hls, 360p_hls, 240p, 240p+a64k, 240p+a128k, 240p+a255k, 360p, 360p+a64k, 360p+a128k, 360p+a255k, 540p, 540p+a64k, 540p+a128k, 540p+a255k, 720p, 720p+a64k, 720p+a128k, 720p+a255k, 1080p, 1080p+a64k, 1080p+a128k, 1080p+a255k, worst, best

@bastimeyer bastimeyer added the plugin enhancement A new feature for a working Plugin label May 9, 2023
- Split pluginmatcher into two
- Rewrite validation schemas
- Move data retrieval into separate methods
- Always query API on non-player URLs and don't try to find embedded
  config data first
- Add stream metadata
- Clean up stream collection and only include streams from at most
  one CDN in order to avoid unnecessary duplicates
@bastimeyer bastimeyer force-pushed the plugins/vimeo/refactor branch from ca67e32 to 3b6d578 Compare May 9, 2023 13:06
@bastimeyer
Copy link
Member Author

Btw, another one of those plugins where there are streams with multiple CDNs and stream types each. A rewrite of the stream collection+selection is desperately needed. #4902

Copy link
Member

@gravyboat gravyboat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good, I won't merge in the event you want some of the regular vimeo users to test.

@bastimeyer bastimeyer merged commit 25caa35 into streamlink:master May 12, 2023
@bastimeyer bastimeyer deleted the plugins/vimeo/refactor branch May 12, 2023 06:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
plugin enhancement A new feature for a working Plugin
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants