Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » youtube-dl | yt-dlp (Часть 1)

Модерирует : gyra, Maz

Maz (17-02-2024 09:09): youtube-dl | yt-dlp (Часть 2)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203

   

jasonliull



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Текущая версия: 2021.12.17


youtube-dl - бесплатная консольная программа для скачивания видео с YouTube и множества других сайтов.
Сейчас проект практически не развивается, скорость скачивания с YouTube не выше 100 кБ/сек - рекомендуется использовать yt-dlp.
официальные ночные сборки
 

 
youtube-dl с фиксом скорости, не требует SSE2
youtube-dl с фиксом скорости (другой вариант)
неофициальные ночные сборки youtube-dl  
 
 
 






yt-dlp - активный форк youtube-dl, рекомендуется к использованию.
Цели проекта: добавление новых функций, исправление известных проблем. Есть различия в поведении от основного проекта.
 
ytdl-patched - пока не понятный форк yt-dlp
 
yt-dlp для Windows XP x86
форк yt-dlp, есть вариант для Windows XP x86
примеры для начинающих (англ)
некоторые шаблоны и в чем-то более детальная документация, чем на оф-сайте (англ)
 
 
Графические интерфейсы

  • MediaDownloader (2023)
  • Metube (web-UI)
  • Tartube (2023)
  • Videomass (2023)
  • Vividl (2023)
  • youtube-dl-gui (murrty, 2022)
  • youtube-dl-gui (oleksis, 2023)
  • Stacher (2023)
     
    Полезное

  • ffmpeg.exe - yt-dlp/FFmpeg-Builds
  • BAT-ник от DeZz
  • кнопки от notinthewoods
  • BAT-ник, Downloader, расширения от 351878
  • Youtube Format IDs  
     


  • Всего записей: 2537 | Зарегистр. 05-08-2012 | Отправлено: 13:44 05-03-2018 | Исправлено: Maz, 09:07 17-02-2024
    RazOne707

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple

    Цитата:
    если без -f писать то отрабатывает как best, т.е. берёт сначала предварительно объединенные форматы, я же выше написал

    В мануале позиционируется -S как новая альтернатива -f
    То есть упрощены команды в лучшую сторону. И у 1080 нет объединённого формата, только у 720p и 360p - и через -S также скачает объединённый формат, если выставить 720 или 360 и не вписывать acodec
     
     
     
    И вот этот --merge-output-format mp4 кстати вообще лучше не юзать, кто его использует ее добавляли чтобы расширение mp4 появлялось на некоторых файлах при использовании -f. Большие файлы мурыжит прилично по времени - собирает в новый контейнер.
    При -S такой проблемы нет и контейнер автоматически выбирается и расширение у файла всегда имеется

    Всего записей: 1250 | Зарегистр. 06-10-2023 | Отправлено: 13:41 14-01-2024 | Исправлено: RazOne707, 14:10 14-01-2024
    shamagov



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707

    Всего записей: 942 | Зарегистр. 04-02-2010 | Отправлено: 14:45 14-01-2024 | Исправлено: shamagov, 01:34 22-01-2024
    RazOne707

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov
     
    Предпочтительно так:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:1080,vcodec:h264" --no-mtime %ClipboardData%
     
    Можно и так:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:1080,vcodec:h264,acodec:mp4a" --no-mtime "%ClipboardData%"
     
    А если что-то не так как нужно (что маловероятно), то - которое по сути выполняло скачивание:
    yt-dlp -o "%%(title)s.%%(ext)s" -f "bv[height<=?1080][fps<=?60][ext=mp4]+ba[ext=m4a]" --no-mtime %ClipboardData%
     
     
    добавил от себя: --no-mtime - чтобы время видео не было как время заливания на ютуб,а было время скачивание
    UPD: убрал fps:60 - сейчас проверяю, скорость скачивания становится очень низкой

    Всего записей: 1250 | Зарегистр. 06-10-2023 | Отправлено: 14:54 14-01-2024 | Исправлено: RazOne707, 15:44 14-01-2024
    shamagov



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707

    Всего записей: 942 | Зарегистр. 04-02-2010 | Отправлено: 15:09 14-01-2024
    RazOne707

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov
    -f это устаревшее, -S это новая и с другими командами
    Это верно только для -f bestvideo"[height<=?1080][ext=mp4]"+bestaudio[ext=m4a] --no-mtime %ClipboardData%
    У -S это "res:1080,vcodec:h264,acodec:mp4a" --no-mtime %ClipboardData%
     

    Всего записей: 1250 | Зарегистр. 06-10-2023 | Отправлено: 15:12 14-01-2024 | Исправлено: RazOne707, 15:18 14-01-2024
    shamagov



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707

    Всего записей: 942 | Зарегистр. 04-02-2010 | Отправлено: 15:18 14-01-2024 | Исправлено: shamagov, 01:35 22-01-2024
    RazOne707

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov

    Цитата:
    а мне нужно VP9 1920

     
    Просто менять на codec:vp9
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:720,codec:vp9" --no-mtime "%ClipboardData%"
     
    Я использую просто codec:vp9 (h264 итд), можно прописывать конкретно vcodec:vp9,acodec:opus и vcodec:h264,acodec:mp4a соотвественно - это если ytdlp не тот формат вздумает качать, можно конкретно сразу указать, для h264 кстати актуально именно с указанием аудио, иначе он opus может скачать и формат будет mkv

    Всего записей: 1250 | Зарегистр. 06-10-2023 | Отправлено: 15:19 14-01-2024 | Исправлено: RazOne707, 15:26 14-01-2024
    shamagov



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707

    Всего записей: 942 | Зарегистр. 04-02-2010 | Отправлено: 15:24 14-01-2024 | Исправлено: shamagov, 01:35 22-01-2024
    RazOne707

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov

    Цитата:
    И что это меняет по сравнению с моим первоначальным вариантом

    Что если прописывать, то или -f +команды или -S +команды, у Вас выполняется только -f, до -S уже дело не доходит
    Если использовать -S,то и убирать: -f bestvideo"[height<=?1080][ext=mp4]"+bestaudio[ext=m4a] --no-mtime %ClipboardData%
    При -f много минусов, поэтому разработчик и добавил -S ,где не надо mp4 контейнер дописывать итд
    Я посоветовал использовать именно -S

    Всего записей: 1250 | Зарегистр. 06-10-2023 | Отправлено: 15:28 14-01-2024 | Исправлено: RazOne707, 15:36 14-01-2024
    shamagov



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707

    Всего записей: 942 | Зарегистр. 04-02-2010 | Отправлено: 15:35 14-01-2024 | Исправлено: shamagov, 01:36 22-01-2024
    RazOne707

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov

    Цитата:
    но не могу понять как правильно составить код, чтобы без "Большие файлы мурыжит прилично по времени" то есть без "ffmpeg.exe" скачать VP9 1920х1080

    Я просто не все расписал, при --merge-output-format mp4  - эта процедура будет делаться в любом случае, а без нее, если не цельный файл - быстрая склейка. И mp4 контейнер не для VP9 и AV1, через -S будет родной webm
     

    Цитата:
    вот это как превратить в код?

     
    Для H264 в 1080p:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:1080,vcodec:h264,acodec:mp4a" --no-mtime "%ClipboardData%"
     
    Для VP9 в 1080p:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:1080,vcodec:vp9,acodec:opus" --no-mtime "%ClipboardData%"
     
    Для H264 в 720p:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:720,codec:h264" --no-mtime "%ClipboardData%"
     
    Для VP9 в 720p:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:720,codec:vp9" --no-mtime "%ClipboardData%"
     
    И не нужны никакие -f vb+va, это уже старое... -f кстати шортсы (вертикальные видео) не правильно качает: берет значение <1080 в вертикаль и получается нечто как: ~700x1080 , -S как нужно 1080x1920

    Всего записей: 1250 | Зарегистр. 06-10-2023 | Отправлено: 15:42 14-01-2024 | Исправлено: RazOne707, 15:58 14-01-2024
    shamagov



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707

    Всего записей: 942 | Зарегистр. 04-02-2010 | Отправлено: 15:59 14-01-2024 | Исправлено: shamagov, 01:36 22-01-2024
    RazOne707

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov

    Цитата:
    Проверил. Если рядом с батником нет "ffmpeg.exe", то качается AVC 1280, то есть формат МР4.
    А если рядом с батником есть "ffmpeg.exe", то качается VP9 1920, то есть формат webm.

    Все верно.
     

    Цитата:
    Под вопросом пока ещё остаётся точное указание в коде разрешения 1080, то есть когда было -f bestvideo"[height<=?1080][ext=mp4]    тогда предполагался выбор качества на тот случай, если на ютюбе это видео не имеет такого разрешения, то автоматически выбиралось наилучшее качество меньшего разрешения, а в случае жёсткого указания 1080 и отсутствие такого разрешения - просто ничего не будет качать ?

    у -S это не жесткое указание, это своего рода команда best <1080. (но лучше перепроверить) И оно правильно качает вертикальные видео (выше постом расписал)
     

    Всего записей: 1250 | Зарегистр. 06-10-2023 | Отправлено: 16:05 14-01-2024 | Исправлено: RazOne707, 16:11 14-01-2024
    shamagov



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707

    Цитата:
    у -S это не жесткое указание, это своего рода команда best. И оно правильно качает вертикальные видео (выше постом расписал)

    Я читал конечно... сейчас проверил вот этот ролик на ютюбе, у которого нет разрешения 1920х1080, и ваша строчка кода  

    Код:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:1080,vcodec:vp9,acodec:opus" --no-mtime "%ClipboardData%"

    без проблем скачала наилучшее возможное качество в формате webm (VP9 854 x 480) - это замечательно!
     
    На память продублирую ваше полезное сообщение:
     
    RazOne707

    Цитата:
    Для H264 в 1080p:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:1080,vcodec:h264,acodec:mp4a" --no-mtime "%ClipboardData%"
     
    Для VP9 в 1080p:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:1080,vcodec:vp9,acodec:opus" --no-mtime "%ClipboardData%"
     
    Для H264 в 720p:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:720,codec:h264" --no-mtime "%ClipboardData%"
     
    Для VP9 в 720p:
    yt-dlp -o "%%(title)s.%%(ext)s" -S "res:720,codec:vp9" --no-mtime "%ClipboardData%"

     
    RazOne707, большое вам спасибо за терпение (со мной как с ребёнком трудно) и помощь!


    Всего записей: 942 | Зарегистр. 04-02-2010 | Отправлено: 16:13 14-01-2024 | Исправлено: shamagov, 16:15 14-01-2024
    greeple

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707
    Цитата:
    В мануале позиционируется -S как новая альтернатива -f


    Цитата:
    Кроме того, теперь вы можете указать порядок сортировки, используя -S. Это позволяет гораздо проще выбирать формат, чем это возможно, просто используя --format
     
    Вы можете изменить критерии рассмотрения best с помощью -S

    ну да, альтернатива, но работает не от bv+ba, а от best, я про это, хотя в f тоже если явно не указать

    Цитата:
    И вот этот --merge-output-format mp4 кстати вообще лучше не юзать

    вообще это для mkv использовали чтобы vp9 собирать в mkv

    Цитата:
    То есть упрощены команды в лучшую сторону. И у 1080 нет объединённого формата, только у 720p и 360p - и через -S также скачает объединённый формат, если выставить 720 или 360 и не вписывать acodec

    да, а если взять acodec то скачает 22ой, а если взять acodec без vcodec, то тоже возьмет 22ой

    Цитата:
    При -f много минусов, поэтому разработчик и добавил -S ,где не надо mp4 контейнер дописывать итд

    не надо при f прописывать контейнер если прописаны кодеки так же, сам сразу выберет нужный
    shamagov
    Цитата:
    А если, например, хочу скачать гигантское видео (многочасовое), и для уменьшения его размера на жёстком диске, я выбираю свой второй вариант батника, который качает VP9
     
    Выглядит так:
     

    Код:
    yt-dlp -o "%%(title)s.%%(ext)s" -f bestvideo"[height<=?1080][ext=mp4]"+bestaudio[ext=m4a] %ClipboardData% --merge-output-format mp4

    тут у тебя качает не vp9, а av1 который идёт в mp4, ты не по кодеку тут, а по расширению фильтруешь
    ну или это vp9.2, тогда да
     
    Добавлено:
    RazOne707
    Цитата:
    И не нужны никакие -f vb+va, это уже старое... -f кстати шортсы (вертикальные видео) не правильно качает: берет значение <1080 в вертикаль и получается нечто как: ~700x1080 , -S как нужно 1080x1920

    не старое, и нафига для шортсов разрешение выбирать?
     
    Добавлено:
    RazOne707
    вообще от расположения зависит где написал в S

    Код:
    -S vcodec:h264,res,acodec:m4a

    так нормально скачает, сначала приоритет на видеокодек, потом res и тут уже 22 не качает
     
    Добавлено:
    кстати сортировка ютуба по умолчанию из экстрактора
    quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
     
    Добавлено:
    shamagov
    Цитата:
    Теперь вроде бы всё встало на свои места. Осталось только провести эксперимент по скачиванию гигантского видео, чтобы сравнить по времени обработки "ffmpeg.exe", то есть сравнить ключи -f и -S

    если ты не будешь выбирать формат mp4 как ты делал через флаг, то он не будет ничего обрабатывать, просто быстро положит в контейнер и всё

    Всего записей: 4241 | Зарегистр. 11-02-2020 | Отправлено: 16:26 14-01-2024 | Исправлено: greeple, 16:59 14-01-2024
    shamagov



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple

    Всего записей: 942 | Зарегистр. 04-02-2010 | Отправлено: 16:54 14-01-2024
    greeple

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov
    Цитата:
    Под вопросом пока ещё остаётся точное указание в коде разрешения 1080, то есть когда было -f bestvideo"[height<=?1080][ext=mp4]    тогда предполагался выбор качества на тот случай, если на ютюбе это видео не имеет такого разрешения, то автоматически выбиралось наилучшее качество меньшего разрешения, а в случае жёсткого указания 1080 и отсутствие такого разрешения - просто ничего не будет качать ?

    оно возьмет видео не более 1080p, и самое маленькое видео, если нет видео меньше 1080p

    Всего записей: 4241 | Зарегистр. 11-02-2020 | Отправлено: 16:57 14-01-2024
    RazOne707

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple

    Цитата:
    не старое, и нафига для шортсов разрешение выбирать?

    Потому-что оно тоже имеет разное разрешение, то что это обычное видео, только оно вертикальное
    -f вертикальное не правильно качает. 1080x1920 как -S не качает, а ~700x1080

    Всего записей: 1250 | Зарегистр. 06-10-2023 | Отправлено: 16:59 14-01-2024 | Исправлено: RazOne707, 17:04 14-01-2024
    greeple

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov
    Цитата:
    то получаю vp9, а не av1

    я уже и сам посмотрел, раньше на ютубе vp9 были только в webm, поэтому твоя строка работала, а теперь в mp4 там поэтому надо кодек писать, а не расширение
     
    Добавлено:
    и просто av1 пока не в приоритете в yt-dlp в сортировке, поэтому ты получаешь vp9, так бы получал av1 уже если бы было без vcodec:vp9.2 в сортировке по дефолту
     
    Добавлено:
    RazOne707
    я к тому зачем, когда их качаешь вообще выбирать разрешение? по умолчанию качаешь и всё, ну кодеки можешь выбрать, или ты одну строку такую используешь для всего? тогда в сортировке больше условий надо добавлять, или в f через / варианты если нету этого то возьми это и т.д
     
    Добавлено:
    RazOne707
    Цитата:
    -f вертикальное не правильно качает. 1080x1920 как -S не качает, а ~700x1080

    как оно может неправильно качать если оно во высоте смотрит? 1080 это высота, у вертикальных высота же по сути главное не?
     
    Добавлено:
    чет ты мудришь

    Всего записей: 4241 | Зарегистр. 11-02-2020 | Отправлено: 17:05 14-01-2024
    RazOne707

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple

    Цитата:
    раньше на ютубе vp9 были только в webm

    он и сейчас только в webm это его контейнер,как и av1
     

    Цитата:
    как оно может неправильно качать если оно во высоте смотрит? 1080 это высота, у вертикальных высота же по сути главное не?

    Да. Поэтому должно быть 1080x1920, а не 700x1080, это уже не FHD,а HD
    Выставляя 1080 - подразумевается FHD, но никак какая-то HD из-за того что видео вертикальное...  
    Это уже давно известная тема, странно что ты только сейчас о ней узнал
     
    shamagov
    для av1 нужно и писать av1,вместо vp9
    если av1 не будет, автоматически vp9 скачается
     
    А вообще -S по идее все на понижение должна скачать,что обнаружит: не будет av1,то vp9, дальше h264

    Всего записей: 1250 | Зарегистр. 06-10-2023 | Отправлено: 17:20 14-01-2024 | Исправлено: RazOne707, 17:29 14-01-2024
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203

    Компьютерный форум Ru.Board » Компьютеры » Программы » youtube-dl | yt-dlp (Часть 1)
    Maz (17-02-2024 09:09): youtube-dl | yt-dlp (Часть 2)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru