This is killing me. Videos that are gigabytes in size instead of a couple hundred mb. I don’t have the storage space for this. I don’t have the bandwidth for this. More and more content creators are using 4k video instead of 1080p. Is there an easy way to make it only download videos in 1080p? I’ve found a few commands around the internet that don’t work, presumably they work on some videos sometimes but that’s just not good enough.
I download videos from a custom made web interface connected to yt-dlp so if it’s no longer going to be possible to automate the process of video and playlist downloading then everything is going to become a huge pain in the ass.
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.
Rules:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Recently youtube changed a few things and everything was breaking for me NewPipe, Freetube, yt-dlp. NewPipe and Freetube immediately released updates. Yt-dlp also got updated but this time there is a change. Earlier you can simply download 1080p videos in one go. Now I have to download 1080 video and corresponding audio separately and use a FFMEG command to merge them. Though it’s a pain, I’m still thankful that yt-dlp works.
Do you have the FFMPEG executable in the same directory as yt-dlp? They should merge automatically if so.
Yes. But me being an idiot, didn’t know it was possible to add up formats like 136+140 in yt-dlp until I saw few of the comments in this thread. I was downloading everything separately for the past 3 weeks.
I didn’t want to do this but RTFM!
https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#filtering-formats
This has been working for me for ages:
-f "bestvideo[height<=1080][dynamic_range=SDR]
Use yt-dlp -F to list the available formats, and pick the one you want. See the “Video Format Options” section of the man page.
Guess I’ll have to find a way to get my script to automate that somehow. My goal is to get it back to where the only thing I have to do to download a video is paste the url in a lan webpage on my local server.
Check the most upvoted answer and then look into tubearchivist which can take your yt-dpl parameters and URLs to download the videos plus process them to have a better index of them.
You can specify multiple formats and it will download the first one that’s available.
I don’t remember the format codes but they are generally pretty stable across a given host like youtube. The trouble is that not every video has all of the formats. You might have to just find the nearest one and convert with ffmpeg.
To elaborate a little on this, if the format you want doesn’t have audio you may have to combine two formats. -F lists the formats, -f to choose them. As an example you can choose to combine an audio and video format like this: yt-dlp -f 136+140 [URL]
Use a web site or a smart phone app to download.
If a video is prohibited to download, another possibility is via Chrome and a specific plug-in 🤪😎
Most of those sites and apps are ad and malware ridden cancer.
I don’t know about that but I sure do love your Israeli flag, man. Am YIsrael Chai!
Newpipe
-f "[height=1080]"
Could also do
yt-dlp -S "res:1080"
- it works with vertical videos too (will scale using the smallest dimension).I use
--format-sort +res:1080
, which, if my understanding of the documentation is correct, will make it prefer 1080p, the smallest video larger than 1080p if 1080p isn’t available, or the largest video if nothing 1080p or larger is available.res
is the smallest dimension of the video (so for a 1080x1920 portrait video, it would be 1080).Default sort is descending order. The
+
makes it sort in ascending order instead.