How to use yt-dlp instead of yt-dl with mpv
I interact with YouTube using the text-based client pipe-viewer. I then watch any video using my favourite media player mpv. This has always worked perfectly fine thanks to mpv supporting youtube-dl, which unfortunately, now seems to be an abandoned project.
This means that it has been semi-broken for some time now; playing any video results in constant buffering due to Google—once again—have found a way to throttle their users who use youtube-dl instead of their incredibly bloated, slow and privacy invasive website youtube.com.
This is how well youtube-dl is working for me right now:
(Buffering) AV: 00:00:16 / 00:16:29 (2%) A-V: 0.000 Cache: 0.8s/96KB
Thakfully, someone have forked the project into a new project called yt-dlp. This new fork works perfectly:
AV: 00:00:29 / 00:16:29 (3%) A-V: 0.000 Cache: 23s/3MB
Instructions
Add this line to your configuration file for mpv (~/.config/mpv/mpv.conf
):
script-opts-append=ytdl_hook-ytdl_path=yt-dlp
It should now use yt-dlp instead of youtube-dl.