Skip to content
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

plugins.vimeo: refactor plugin #5335

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
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
23 checks passed
@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.

None yet

2 participants