Обычно youtube-dl стремится снимать с максимально возможным качеством. Это не всегда практично. Обратная сторона, которую я видел, была для минимально возможного качества. Это тоже не практично. Какая команда заставит youtube-dl найти формат самого высокого качества, который находится в пределах установленного ограничения?

Скажем: ширина разрешения равна или ниже определенного значения. Посмотрите этот пример для доступных форматов для данной ссылки на видео:

youtube -F <link>
...
format code               extension  resolution note
2242414685833597ad        m4a        audio only DASH audio   21k , m4a_dash container, mp4a.40.2 (48000Hz)
572715713158985v          mp4        426x240    DASH video  216k , mp4_dash container, avc1.4D401E, video only
110928776481884vd         mp4        640x360    DASH video  420k , mp4_dash container, avc1.4D401E, video only
896314927220784v          mp4        854x480    DASH video  738k , mp4_dash container, avc1.4D401E, video only
313835759204486v          mp4        1280x720   DASH video 1372k , mp4_dash container, avc1.4D401F, video only
dash_sd_src               mp4        unknown    
dash_sd_src_no_ratelimit  mp4        unknown    (best)

Я хочу сказать youtube-dl выбрать видеопоток самого высокого качества, ширина которого не превышает 640 пикселей. Это было бы 110928776481884vd в этом случае.

Если это невозможно сделать с шириной разрешения, мы могли бы сделать с битрейтом. Так что в этом же примере битрейт должен быть 500k или ниже.

Примечание. Этот вопрос специально предназначен для видео, не относящихся к YouTube, от разных поставщиков, имеющих разные форматы. У YouTube есть названия стандартных форматов, так что я уже исправил это.

1 ответ1

2

Прочитайте прекрасное руководство:

   Format selection examples
       Note  that on Windows you may need to use double quotes instead of sin‐
       gle.

              # Download best mp4 format available or any other best if no mp4 available
              $ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'

              # Download best format available but not better that 480p
              $ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'

              # Download best video only format but no bigger than 50 MB
              $ youtube-dl -f 'best[filesize<50M]'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .