plugin.mildom: new plugin for mildom.com #3584
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Mildom is a Japanese video live streaming focused on gaming (similar to twitch) operated by DouYu Japan. I don't speak Japanese, however I came across this platform because of e-sports. This website is currently hosting Apex Global Series Winter Circuit APAC North (official main tournament of Apex Legends). I also came across Mildom before through Valorant, as some tournaments specific to Japan are streamed there. I wanted to watch the Apex tournament with Streamlink, and that was my main motivation for creating the plugin.
URL patterns:
Livestream- https://www.mildom.com/10707087(user's page)
VOD (archive)- https://www.mildom.com/playback/10707087/10707087-c0p1d4d2lrnb79gc0kqg
The API (Json based) endpoints to obtain the .m3u8 stream lists were fairly easily to discover with the browser inspector. However the url is different for livestreams and VODs.
Note: The live API only requires a extra argument aside from the user id -> __platform=web (if this is not set it will return a error)
It doesn't require any additional handshakes,cookies,etc
I impletemented checks for the API return code (0 is OK) and to check if a streamer is live (anchor_code = 11).