Background: I bought a Blue-ray set that came with a code for the digital copy. This was back before Funimation was acquired. I could go through and rip my discs since Sony seems to be on the verge of nuking my digital copies, but teaching myself yt-dlp seemed more convenient.
Here’s are the settings I ended up using with yt-dlp to download digital copies from Funimation. I paste all three of these at the same time into the terminal, but you can paste them one at a time if you want. I’m on Linux and log into Funimation with Firefox, but it should be almost the same for Windows. The URL needs to be changed for each download. I have noticed some downloads stalling, but I if I refresh the pages that lists the episodes, the download resumes.
yt-dlp --cookies-from-browser firefox -F https://www.funimation.com/path-to-episode
yt-dlp --cookies-from-browser firefox --list-subs https://www.funimation.com/path-to-episode
yt-dlp --cookies-from-browser firefox --write-description --write-info-json --write-sub --write-thumbnail --embed-subs -o '~/Path/To/Downloads/Video/Folder/s%(season_number)02de%(episode_number)02d - %(title)s.%(ext)s' https://www.funimation.com/path-to-episode
Here’s what each part means:
Line 1:
-F
Outputs you which versions are available. I have it tell me this, so I can make sure when I run Line 3 the output matches the highest quality listed in the output from Line 1
--cookies-from-browser firefox
Tells yt-dlp to use the cookies from your browser to authenicate the download since it’s only available if you’re logged in.
Line 2:
--list-subs
Tells yt-dlp to list the kinds of subtitles it can find. I have a few episodes that it cannot find any subtitles even though they’re avaiable when streaming. It seems like it’s something weird with some episodes, and is probably related to this: https://github.com/yt-dlp/yt-dlp/issues/1656
Line 3:
--write-description
Makes a .description text file with the description metadata in it in the same folder you download to.
--write-info-json
Makes an .info.json json/text file with all the metadata in it in the same folder you download to.
--write-sub
Makes an .srt srt/text file with the subtitles in it in the same folder you download to.
--write-thumbnail
Makes a .jpg image file of the thumbnail artwork for the episode in the same folder you download to.
--embed-subs
Embeds the subtitles in the downloaded video file.
-o '~/Path/To/Downloads/Video/Folder/s%(season_number)02de%(episode_number)02d - %(title)s.%(ext)s'
Specifies the download path, and formats the filename as: s##e## - Episode Title.mp4
Hope this helps someone. I realize you could skip all this hassle and just pirate it somewhere, but I’m not sure where to find this specific release other than the digital copy on Funimation.
Your first command listing the formats is “useless”, depending on what you define the best quality is. yt-dlp orders the output by it’s format selection (-f argument) which is bestvideo*+bestaudio/best by default which also gets affected by the format sorting (-S / --formart-sort). By default av1 use is discouraged over vp9 so I’d highly recommend you look into them if you really want to make sure it’ll downlad the best quality ones. In my experience the default settings are really good, except some fringe cases (for example if you’d rather download av1 encoded videos). Keep in mind though most digital stuff still runs h264/h265 for compatibility reasons
Have fun learning and don’t forget to look over the yt-dlp ReadMe on github! It has all the information you’ll ever need and much more :)
Yeah, I noticed that it has consistently picked the best format without me having to tell it. I just run the -F first, so I can see if that’s true by looking at the available formats and looking at what is actually downloaded. I’m not at the point where I’ll just trust it yet.
Edit: Oh, yeah, I meant to say: I’m totally open to suggestions for making this process better. The better it is, the more it may help someone else.
Funnily enough that’s how I did it at first too. It’s good that you’re willing to put this much effort into understanding, confirming and improving things. Keep doing it like this and you’ll surely keep improving as long and as much as you want to :)