Repository: youtube-dl
Issue: Better Format Selection parameter to accommodate vertical/square video
Labels: request

<!--

######################################################################
  WARNING!
  IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE
######################################################################

-->


## Checklist

<!--
Carefully read and work through this check list in order to prevent the most common mistakes and misuse of youtube-dl:
- First of, make sure you are using the latest version of youtube-dl. Run `youtube-dl --version` and ensure your version is 2021.06.06. If it's not, see https://yt-dl.org/update on how to update. Issues with outdated version will be REJECTED.
- Search the bugtracker for similar feature requests: http://yt-dl.org/search-issues. DO NOT post duplicates.
- Finally, put x into all relevant boxes (like this [x])
-->

- [x] I'm reporting a feature request
- [x] I've verified that I'm running youtube-dl version **2021.06.06**
- [x] I've searched the bugtracker for similar feature requests including closed ones


## Description

<!--
Provide an explanation of your issue in an arbitrary form. Please make sure the description is worded well enough to be understood, see https://github.com/ytdl-org/youtube-dl#is-the-description-of-the-issue-itself-sufficient. Provide any additional information, suggested solution and as much context and examples as possible.
-->

## Summary
> Addition of `long edge/short edge` instead of `width/height`, and bringing resolution note (tiny, 144p, 240p...) from `--list-formats` to FORMAT SELECTION `(-f)` would be a great update to accommodate increasingly popular vertical/square video formats.
<br>
Type of properties you can bring up in FORMAT SELECTION `(-f)` are: `filesize, width, height, tbr, abr, vbr, asr
fps`. However `width` and `height` are swapped from usual when dealing with a vertical video which makes it harder to narrow down the resolution we want.

Example: what if I wanted to download up to 1080p videos in avc1(h264), but after that switch to av01, then vp9? 
The intention here is to download the best quality video, **but** not end up with something stupid like a 720p av01 video,  squeezing the most out of avc1(h264) before moving to next codecs. Here's what I had come up with. (audio track omitted for readability)

`-f "bestvideo[vcodec^=av01][width>1920]/bestvideo[vcodec^=vp9][width>1920]/bestvideo[vcodec^=avc1]"`

It works pretty well for landscape videos. 720p video downloads in avc1(h264), 4K video downloads in av01, and when it's not available it fails back to 4K vp9. However once start throwing vertical videos at the script, things tend to get pretty messy quickly.

Vertical 1080p video example: https://youtu.be/quastuF2_7k
- 1080x1920 vp9 video available
- fails `[width>1920]`
- resorts to 810x1440 avc1(h264) video.

Programs that regularly handle both horizontal and vertical contents (such as Adobe Lightroom CC) deals with this problem with "Short Edge" and "Long Edge" parameters. It compares the width and height and assigns larger one to "long edge" and vice versa. Also simply bringing "note" property from `--list-formats` would be a much simpler and nicer solution to this problem as well.