streamlink / streamlink

Streamlink is a CLI utility which pipes video streams from various services into a video player
https://streamlink.github.io/
BSD 2-Clause "Simplified" License
9.92k stars 1.11k forks source link

Removal/cleanup of dead plugins #6158

Open bastimeyer opened 1 week ago

bastimeyer commented 1 week ago

It's been a while since the list of plugins was checked for dead plugins where the respective sites went offline. Keeping those plugins around doesn't make sense, so they must be removed. Plugins which are broken and don't have any plugin issues opened for a long time is also an indicator for a potential plugin removal, as there are obviously no active users.

Broken plugins which don't meet the plugin criteria should be removed, unless a fix is trivial: https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md#plugin-rules

I'm explicitly asking for help, because there are 151 plugins in total, which I can't check on my own: https://streamlink.github.io/latest/plugins.html

$ streamlink --plugins --json | jq length
151
bastimeyer commented 1 week ago

Dead plugins found so far:

Candidates:

gravyboat commented 1 week ago

crunchyroll

What if we remove this then see if anyone complains? I also don't have a paid subscription to this site so I have no idea if it works or not. I also don't know if the open issues were related to the new version of the site or the old one.

livestream

This just seems dead to me? Looks like Vimeo acquired them and they pivoted to a business focus? I don't see anything live on the site so 👍 from me to remove it.

A couple more for consideration:

bastimeyer commented 1 week ago

A couple more for consideration:

Those are not dead plugins (and are still working?! - unchecked).


malvinas2 commented 1 week ago
  • dailymotion No live content any more, it's just videos.

???????????????

CNEWS Francia
https://www.dailymotion.com/embed/video/x3b68jn?autoplay=1

El Financiero Mexico https://www.dailymotion.com/embed/video/x90qe0k?autoplay=1

Quiero TV Mexico https://www.dailymotion.com/embed/video/x8lng9k?autoplay=1

Mexico Travel TV https://www.dailymotion.com/embed/video/x7v76vf?autoplay=1

Willax Perú https://www.dailymotion.com/embed/video/x7x4dgx?autoplay=1

Venezolana de Televisión https://www.dailymotion.com/embed/video/k1yNOrgCd2jz9hBaDXQ?autoplay=1

La Tele Tuya Venezuela https://www.dailymotion.com/embed/video/x8z1nnq?autoplay=1

Color Visión República Dominicana https://www.dailymotion.com/embed/video/x7gy059?autoplay=1

HCH Honduras https://www.dailymotion.com/embed/video/x81za5c?autoplay=1

Trece Costa Rica https://www.dailymotion.com/embed/video/x7vh8g3?autoplay=1

gravyboat commented 1 week ago

@malvinas2 Thanks for linking those. I couldn't find any live content when I went to the site and have no idea how you found these. When I go to "news" for example from their nav I would expect to see live content I can browse but it's just prerecorded videos. Where is the actual portion of the site that shows livestreams?

@bastimeyer Probably worth clarifying that you're only looking for dead plugins. I was also looking at stuff that would violated the updated rules regardless as to whether the plugin worked or not.

DeltaEpsilon19498 commented 1 week ago

I will check them. Is there a spreadsheet somewhere with a list of plugins that have already been checked to work?

edit- I am unable to check the first plugin, abematv, on the list. This is because if I go to abema.tv website to find a stream to test it with, the site blocks me and says the content is not available in my region. This is the case despite setting my VPN to Japan. I will have to skip that one unless I can find a way around the block.

bastimeyer commented 1 week ago

Probably worth clarifying that you're only looking for dead plugins

It's in the title and in the very first sentence of the OP.

I'm not fully sure, but those four plugins which I already removed appear to be the only ones where the sites fully went offline. Note though that some plugin URL metadata is wrong and doesn't reflect what the pluginmatcher actually matches. This needs to be fixed (see app17 for example).

The other ones I've listed are candidates for removal, because their sites don't have any content anymore, or because they either don't work and no one has opened a plugin issue for several years or existing plugin issues have not been resolved for a long time, for example because of access limitations like paid logins or because of infeasible fixes.

Is there a spreadsheet

No, there's not, but we had the discussion several years ago to add better plugin tests that are run automatically/regularly via GitHub Actions with the results published somewhere.

The current plugin tests only test the pluginmatchers (regular expressions of the input URLs), while everything else is optional. Only the Twitch plugin has extensive tests, because this is the most important plugin I care about and where I need to be sure that everything's working correctly and reliably. Two years ago or so I also added a helper script (script/test-plugin-urls.py) which reads the URLs from any plugin tests and which then attempts to find available streams. This is however only possible for static URLs. Dynamic URLs require access to an available web API or accessing+parsing a service's website for available links. Both of this requires additional setup, which doesn't really belong into the code base here. This should ideally be implemented in a secondary repo where the results can be published to GH pages, GH actions annotations, or to a stickied thread on its issue tracker, so other people can have a look and submit fixes for broken plugins. The limitation with geo-blocked and access-restricted content still remains though. The script I mentioned also currently doesn't read the stream contents, which is also something worth looking into. It only lists available streams.

gravyboat commented 1 week ago

It's in the title and in the very first sentence of the OP.

I should clarify. To me a dead plugin is one where I go to the site and there's no live content I can stream. So for example the services which allow live streaming but have no actual content I can grab a URL for mean that they're dead to me. I don't see the point in keeping a plugin around for some very small number of people running an internal/private live stream using one of those services. Thanks for the clarification further on in your comment.

Aspenpaw commented 5 days ago
  • crunchyroll VOD-only (rule 6), requires a paid subscription even for "free" test accounts (rule 4), has two open and unresolved issues for quite some time now. I can't check this.

I personally would quite like to see the Crunchyroll plugin working again. I used it extensively until Crunchyroll's new website broke it, and have been keeping half an eye on Streamlink ever since hoping it would be fixed someday. (I have no other use for it)