# error: phantomjs 1.9.8 has been dropped due to lack of maintenance and security issues
#pkgs.phantomjs
pkgs.yt-dlp
+ pkgs.ffmpeg_5-full
+ pkgs.podl
];
+ programs.bash.shellAliases = {
+ yt = "yt-dlp";
+ yt-audio = "yt-dlp -f 'worstaudio[acodec=opus]/worstaudio'";
+ yt-subs = "yt-dlp --write-subs --write-auto-sub --skip-download";
+ yt-subs-fr = "yt-subs --sub-langs '-all,fr-orig,fr'";
+ };
xdg.configFile."yt-dlp/config".text = ''
#--download-archive .downloaded
+ --external-downloader aria2c
--embed-chapters
--embed-subs
--sub-langs all
+ --format-sort +res~480,+vcodec:av01,+acodec:opus
--format ${lib.concatStringsSep "/" [
- "bestvideo[height=480][ext=mp4]+bestaudio"
- "bestvideo[height=480]+bestaudio"
- "bestvideo[height<=480][ext=mp4]+bestaudio"
- "bestvideo[height<=480]+bestaudio"
- "best[height=480][ext=mp4]"
- "best[height=480]"
- "best[height<=480][ext=mp4]"
- "best[height<=480]"
+ "bestvideo+bestaudio"
"best"
]}
- --output "%(release_date>%Y-%m-%d,upload_date>%Y-%m-%d)s - %(title)s.%(id)s.%(format_id)s.%(ext)s"
+ --output "%(release_date>%Y-%m-%d,upload_date>%Y-%m-%d)s - %(title).150B.%(id)s.%(format_id)s.%(ext)s"
--match-filter !is_live
--prefer-free-formats
--sub-format ass/srt/best
- --sub-langs "en.*,fr,-live_chat"
- --user-agent Mozilla/5.0
+ --sub-langs "en.*,fr,-live_chat,-rechat"
+ --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/110.0"
'';
}