-f "[height=1080]"
Selfhosted
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:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Could also do yt-dlp -S "res:1080"
- it works with vertical videos too (will scale using the smallest dimension).
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.
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]
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.
You can specify multiple formats and it will download the first one that's available.
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.
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.
This has been working for me for ages:
-f "bestvideo[height<=1080][dynamic_range=SDR]
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.
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.
Newpipe
I didn't want to do this but RTFM!