Skip to content

kuriho/yt-dlp-tver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yt-dlp-tver

Just enough yt-dlp for TVer.jp

unit test badge THANKS.md

drawing

Why?

By removing all extractors that are irrelevant to TVer.jp, yt-dlp-tver not only achieved a reduction of approximately 82% in the size of the library but, more importantly, significantly minimized the frequency of necessary changes downstream.

If this approach ultimately proves to be a poor decision, I can still take solace in the fact that I gained valuable knowledge about GitHub Actions along the way.

Modifications

Besides removing all extractors that aren't necessary for extracting a valid stream manifest URL from TVer.jp, there had to be made some minor changes to _extractors.py and youtube.py.

CI pipeline

drawing

changes get pushed to yt-dlp

yt-dlp is an enourmous project supporting an ever growing list of streaming websites. As a direct result of this there is hardly ever a day without multiple changes being pushed to master.

update yt_dlp for TVer update.yml

An hourly cron job triggers this Github Action, which utilizes git Sparse Checkout to selectively checkout and push only the needed parts of yt-dlp to yt-dlp-tver.

test TVer extraction test.yml

This Github Action is triggered on every push to the /lib/yt-dlp/ path of this repository. It executes a pytest unit test that (optimistically) checks the TVer.jp extractor.

distribute library distribute.yml

Triggered by a successful unit test of the TVer.jp extractor, this Github Action distributes the latest version of yt-dlp-tver downstream.