debian 12.11, yt-dlp stable@2025.06.30.

I used this argument: “-f bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4]”

and it works: it downloads the best available video, audio and ffmpeg merges both in a single file. Automatically.

Except that the maximum resolution I need is 1920 x 1080 p. Best available video is oftentimes 4096 x 2160 p, too much for the target hardware.

Using -F to check different resolutions to then select one (like -f 299 or -f 148) is tiresome.

How do I do that? Ideally for whole playlists involving between 25 and 50 videos.

  • UndulyUnruly@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    2 days ago

    Others have given good examples for formats you were aiming for.

    For bulk download, simply create a list.txt file in your target directory, bulk add all urls in separate lines. Then

    Yt-dlp list.txt {your options here}
    

    It is noteworthy that, instead of listing urls manually, you can also grab entire playlists from relevant platforms if that’s what you’re after, including preserving the playlist names as directory names. Same even goes for entire channels.

  • anamethatisnt@sopuli.xyz
    link
    fedilink
    arrow-up
    9
    ·
    2 days ago

    The following numeric meta fields can be used with comparisons <, <=, >, >=, = (equals), != (not equals):

    filesize: The number of bytes, if known in advance
    filesize_approx: An estimate for the number of bytes
    width: Width of the video, if known
    height: Height of the video, if known
    aspect_ratio: Aspect ratio of the video, if known

    So a height<=1080 should be it.

  • darcmage@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    9
    ·
    2 days ago

    Taken from https://github.com/yt-dlp/yt-dlp. Replace 480 with 1080. Multiple options in the documentation to choose from.

    Download the best video available with the largest height but no better than 480p, or the best video with the smallest resolution if there is no video under 480p

    $ yt-dlp -S "height:480"