Skip to content

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