Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Checklist
Description
SponsorBlock is a nice browser extension which allows viewers to crowdsource information about the different content segments in the videos they watch. Segments can be categorized as advertisements, intros or outros, self promotions, etc. Segment categories are annotated on the video timeline and advertisements are automatically skipped.
Youtube-dl could download this information from SponsorBlock's API and then save the information as an edit decision list in a format usable by common video players.
Of course there are questions to consider. Different users may want to automatically skip a different set of segment categories, so in an ideal implementation that would be configurable. Perhaps a command-line argument such as
--sponsorblock-autoskip-categories=[sponsor,intro,outro,interaction,selfpromo,music_offtopic]would work. Of course a simple implementation could skip this step and simply build the EDL from thesponsorcategory alone.Worse, however, is that not every video player supports the same format for edit decision lists. VLC's documentation is poorly organized, but it appears that it can read this information from both M3U and XPSF playlist files. Mplayer has a very simple EDL file format. (Repeat ad infinitum for all other video players.) It seems likely that an initial implementation would pick one of these formats while leaving room for extension over time as more formats can be generated. An option like
--generate-edl-from-sponsorblock-apiwould do to start, and it could be extended later to let the user specify which format to generate.There are other existing feature requests for creating playlist files, which as far as I can tell do not overlap with this request. Of course they do share some technical requirements around creating various playlist formats. Hopefully implementing this feature would make it easier to implement the others, and visa-versa.