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.
This is a great post. I don’t personally need it but I love to see these sorts of teaching/sharing posts especially when companies make these sorts of decisions.
While this doesn’t apply to me; get fucked sony. A POS and a predatory company.
Not to dismiss your hard work (because it is rather impressive), but if you have the bluray disk then why not just rip the files to mkv with MakeMKV and then reencode for smaller file sizes with Handbrake (or just leave it as the default mkvs if you don’t want to reencode them)?
This popped up because Funimation had quite a few purchases that were digital only, and not just a code with your blu-ray. Sony has announced that they are shutting down Funimation on 4/2 and digital purchases will not transfer over to Crunchyroll leaving all those people who purchased digital content on Funimation in the lurch.
I’m not sure about the digital-only stuff, but the OP is specifically talking about yt-dlp as an alternative to ripping the BRs, and I have to agree that ripping the disks will be easier and yields better results.
Hardware availability is the trickiest part, especially for UHD, but if you have a drive that will deal with the disks you have I certainly wouldn’t bother with the stream rip.
But hey, as a fallback, it’s good to have the option.
I understand that, but they explicitly said (first sentence) they were digital codes provided to them as additions to bluray disks they own.
They generalized the problem and then released the solution. OP may own the discs they’re backing up but this solution is designed not to care whether you own the discs.
That’s perfectly fair. I hadn’t realized they generalized the problem. :)
No worries. I already acknowledged that ripping or piracy were probably simpler.
For me, it’ll be a little more convenient to do the downloads than to spend time ripping. I’d have to go to the room with my computer that has a drive. Downloading I can do with my laptop anywhere.
I’ve been meaning to get better acquainted with yt-dlp’s settings for use all over the web, and the April deadline put on pressure to learn sooner rather than later.
And, although the disc version is undoubtedly better, the archivist in me also wants the digital copy version as it was available.
For others, they may not have a disc version at all and want to backup their purchases.
Edit: And, oh yeah, MakeMKV is awesome.
I can respect that. Everybody’s situation is different.
Well, hey, happy pirating. 🏴☠️
You will almost certainly get better quality by ripping from the Blu-ray rather than downloading from Funimation.
Yeah I agree. I can always do that later though. The digital copies will be gone in a couple months.
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.
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.
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 :)