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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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  
     


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



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

    Цитата:
    - after

    Если бы разраб потрудился написать хоть один полный пример в мануале, то это бы уже не выглядело как темный лес. А то он накидал от балды фиг пойми чего в описании. Уже был бы понятен синтаксис и последовательность

    Всего записей: 1981 | Зарегистр. 06-10-2023 | Отправлено: 21:59 14-02-2024 | Исправлено: RazOne707, 22:00 14-02-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707
    Цитата:
    Если бы разраб потрудился написать хоть один полный пример в мануале, то это бы уже не выглядело как темный лес. А то он накидал от балды фиг пойми чего в описании. Уже был бы понятен синтаксис и последовательность

    по моему там всё нормально написано

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



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

    Цитата:
    по моему там всё нормально написано

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

    Всего записей: 1981 | Зарегистр. 06-10-2023 | Отправлено: 22:42 14-02-2024 | Исправлено: RazOne707, 22:44 14-02-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707
    я про префикс, а не команду
     
    Добавлено:
    команду то ты знаешь как прописывать, а афтер бефор и тд, как префикс там есть примеры

    Всего записей: 5525 | Зарегистр. 11-02-2020 | Отправлено: 00:07 15-02-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    VitalyF
    Цитата:
    Вот ни за что не догадаетесь что за аргумент я поставил в --exec
    чтобы прицепить обдложку к m4a кодированного с фильтрами!!
    Я и сам не ожидал, перечитывая список аргументов в 831-ый раз! ))
    ... - after

    так там же по дефолту  
    (default: after_move)
    а after такого нету https://github.com/yt-dlp/yt-dlp/blob/fb44020fa98e47620b3aa1dab94b4c5b7bfb40bd/yt_dlp/utils/_utils.py#L2774

    Цитата:
    POSTPROCESS_WHEN = ('pre_process', 'after_filter', 'video', 'before_dl', 'post_process', 'after_move', 'after_video', 'playlist')

     

    Цитата:
    Аргумент «когда» определяет, когда вызывается постпроцессор. Это может быть один из
    "pre_process" (после извлечения видео),
    "after_filter" (после того, как видео проходит фильтр),
    "video" (после --format; перед --print/--output),  
    "before_dl" (перед каждым загрузка видео),  
    "post_process" (после каждого загрузка видео; по умолчанию), здесь по умолчанию потому что это в --use-postprocessor
    "after_move" (после перемещения видеофайла в финальную версию локации),  
    "after_video" (после загрузки и обработка всех форматов видео),
    "playlist" (в конце списка воспроизведения).


    Всего записей: 5525 | Зарегистр. 11-02-2020 | Отправлено: 02:24 15-02-2024 | Исправлено: greeple, 02:26 15-02-2024
    vasevase

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

    Цитата:
    neorumtu: Я не умею делать exe.

    Попробовал - вроде нормально собирается [ночнушка].
    Python 3.8 + патчинг и Core-дллки [для NT5x ОС].
    Правда качать что-то из видео не пробовал.
    Чисто запустил проверить --version / справку.
     
    Мануал по сборке тут в теме давали, и прям у них на странице есть.
    В прошлом году, видимо, компонент какой-то упустил:
    'stable' нормально [onedir] финализировался,
    а бетка - почему-то только в режиме 'onefile'.

    Цитата:
    Сборка libav-xp-static работает на XP нативно

    Это типа замена ffmpeg, или что?
    Оно с YT-DLP работает? Несколько утилит держать
    не хотелось бы [ввиду редкого их использования].

    Всего записей: 3363 | Зарегистр. 28-08-2010 | Отправлено: 05:55 15-02-2024
    RazOne707



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

    Цитата:
    а афтер бефор и тд, как префикс там есть примеры

    Раз есть примеры, и "нормально написано" - почему ты не можешь написать как надо прописывать при вполне простой задаче: просто применить аудиофильтр к скачанному видео+аудио с обложкой?
    А то получается: "знаю как ходить шахматными фигурами - значит уже в шахматы умею",но почему-то после 4 хода ставят мат)

    Всего записей: 1981 | Зарегистр. 06-10-2023 | Отправлено: 07:04 15-02-2024 | Исправлено: RazOne707, 10:52 15-02-2024
    VitalyF

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ситуёвина такая, вчера поздно вечером поставил опцию --exec after:"move {}...  
    перед этим убрал логи в ffmpeg опцией -v quiet
    И не заметил сообщение об ошибке ffmpeg

    Цитата:
    The filename, directory name, or volume label syntax is incorrect.

    Однако к файлу yt-dlp обложку прикрепил штатно
    Решил перепроверить, м.б. я действительно пропустил опцию after_move,
    нет, со штатной опцией не работает... всё же я не совсем ещё..., проверял десятки раз все опции.
    Утром -v quiet из ffmpeg убрал, получил сообщение и уже на работе разобрался что произошло.
    Т.е. похоже на bug или на нештатное применение --exec
    Впрочем сообщение ffmpeg незаметно и не мешает,
    что бум делать? Кто, что думает?
    PS
    Естественно я себе оставлю как есть,  
    м.б. проверю идею --exec > --ppa > --exec, чтобы всё по-чесноку было...
     

    Всего записей: 1370 | Зарегистр. 03-03-2004 | Отправлено: 10:40 15-02-2024 | Исправлено: VitalyF, 10:48 15-02-2024
    RazOne707



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

    Цитата:
    Т.е. похоже на bug или на нештатное применение --exec

    У меня так:
    При --exec after: не обработает аудио фильтр, соберет с эксизом, с ошибкой в логе за директорию tmp
    При --exec after_move: обработает фильтр, но обложку не положит
     
    И это закономерно так как "after_move" идет вроде как по дефолту, если не указать другое, ровно все так как и было)

    Всего записей: 1981 | Зарегистр. 06-10-2023 | Отправлено: 10:45 15-02-2024 | Исправлено: RazOne707, 10:51 15-02-2024
    VitalyF

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    м.б. и у меня уже фильтр не работает, на что опереться, ffmpeg... мать его..!!!
    Сменить -vbr 5 на -cbr высшего качества, а где низкие частоты брать? ))
    PS
    на работе без прав, а с домом снова связи нет...
    PS
    Значит ещё рано радоваться, за обложку побьёмся...

    Всего записей: 1370 | Зарегистр. 03-03-2004 | Отправлено: 10:50 15-02-2024 | Исправлено: VitalyF, 12:50 15-02-2024
    neorumtu

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

    Цитата:
    Это типа замена ffmpeg, или что?  
    Оно с YT-DLP работает?

    Libav (avconv) это заброшенный ffmpeg форк.
    С yt-dlp не работает (разве что только avc+aac качает со спец. ключом).
    libav-xp-static работает с ночными сборками youtube-dl.
    Ночные сборки youtube-dl имеют нормальную скорость скачивания с YouTube, но не все age restricted видео берут. А также поддержка других сайтов хуже, чем у yt-dlp. Например, VK. Но многим нужен только YouTube.
    Зато youtube-dl работает на XP, используя python 3.4.4.
    youtube-dl.exe (ночные сборки) вроде не распаковывается в temp.
     
    Однако для youtube-dl.exe нужен 2010 redist или отдельные его либы рядом.
    И нужно обновить сертификаты Windows утилитой Update and Revoked Roots
     
    Тогда ночные сборки youtube-dl качают и объединяют с libav 12.3, я проверил. Насчет обложек не знаю, обхожусь без них. У меня файловый менеджер сам их генерирует (хотя, не всегда удачно).
     
    В общем, для нетребовательных пользователей. Кому нужен только YouTube, без age restricted, обложек и доп. обработки.
    Хотя, обложки может и вошьются с avprobe и доп. обработка заработает (с кодеками lame mp3, faac, libvorbis), но синтаксис может быть другой, а доков мало или они похоронены (офф. сайт libav уже недоступен).
     
    UPD: libav-xp-static-lite
    Либы: zlib, faac, avisynth.
    Список опций сборки: avconv -loglevel verbose

    Всего записей: 731 | Зарегистр. 30-08-2023 | Отправлено: 11:13 15-02-2024 | Исправлено: neorumtu, 17:27 15-02-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707
    Цитата:
    Раз есть примеры, и "нормально написано" - почему ты не можешь написать как надо прописывать при вполне простой задаче: просто применить аудиофильтр к скачанному видео+аудио с обложкой?

    потому что я этим не пользуюсь, пиши команду какой ты делаешь внутри exec в кавычках, и перед ней префикс когда с двоеточием, что сложного?
    давай команду какую тебе надо, откуда я знаю как ты там "простую задачу" делаешь
    внутри {} заменяется на %(filepath,_filename|)q, пример из youtube-dl Example: --exec 'adb push {} /sdcard/Music/ && rm {}'
    так же доступны все поля %(поля)s или q на конце вместо s
    Цитата:
    More Conversions: In addition to the normal format types diouxXeEfFgGcrs, yt-dlp additionally supports converting to B = Bytes, j = json (flag # for pretty-printing, + for Unicode), h = HTML escaping, l = a comma separated list (flag # for \n newline-separated), q = a string quoted for the terminal (flag # to split a list into different arguments), D = add Decimal suffixes (e.g. 10M) (flag # to use 1024 as factor), and S = Sanitize as filename (flag # for restricted)
     
    Если вам нужны все имена файлов, используйте %(requested_downloads.:.filepath)#q (как это использовать не проверял)

    Цитата:
    Аргумент "information" представляет собой словарь, подобный словарю, составленному InfoExtractors. Единственное отличие состоит в том, что здесь есть дополнительное поле под названием "filepath", которое указывает на загруженный файл. Этот метод возвращает кортеж, первый элемент которого представляет собой список файлов, которые можно удалить, а второй — обновленную информацию. Кроме того, этот метод может вызвать исключение PostProcessingError в случае сбоя постобработки.

     
    вот пример кроп тамбнейлов из issues

    Цитата:
    '-f', 'ba', '-x', '--audio-quality', '0', '--add-metadata', '--embed-thumbnail', '--convert-thumbnails', 'jpg', '--exec-before-download', 'ffmpeg -i %(thumbnails.-1.filepath)q -vf crop="\'if(gt(ih,iw),iw,ih)\':\'if(gt(iw,ih),ih,iw)\'" _%(thumbnails.-1.filepath)q', '--exec-before-download', 'del %(thumbnails.-1.filepath)q', '--exec-before-download', 'move _%(thumbnails.-1.filepath)q %(thumbnails.-1.filepath)q', '--output', '%(artist)s - %(title)s.%(ext)s', 'https://music.youtube.com/watch?v=eamiiuUmVz8'

     
    можно путь на скрипт писать --exec "after_move:./your_script.sh" (тут .sh, но можно и bat)
    вот из поиска https://github.com/yt-dlp/yt-dlp/issues/9054#issuecomment-1907359255

    Всего записей: 5525 | Зарегистр. 11-02-2020 | Отправлено: 17:11 15-02-2024 | Исправлено: greeple, 17:13 15-02-2024
    RazOne707



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple
    Опять столько бесполезного текста... Ты написал,что для тебя это просто написано и примеры якобы есть. В чем тогда проблема, не пойму...
    Просто. Скачивание видео+аудио+обложки, обработка фильтром звука и собрать в контейнер.
     
    Вот пример фильтра, который нужно применить к аудио. И чтобы после его применения собиралось с обложкой. Так как после его применения с обложкой не соберет, так как соблюсти порядок обработки только для тебя просто (по твоим словам)
    ffmpeg -ac 2 -c:a libfdk_aac -vbr 5 -filter_complex \"compand=0 0:1 1:-90/-900 -70/-70 -30/-9 0/-3:6:0:0:0,bass=g=3:f=110:w=0.6,dynaudnorm\"

    Всего записей: 1981 | Зарегистр. 06-10-2023 | Отправлено: 17:17 15-02-2024 | Исправлено: RazOne707, 17:25 15-02-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вообще если используешь ffmpeg, то использовать постпроцессор проще, не зачем exec

    Всего записей: 5525 | Зарегистр. 11-02-2020 | Отправлено: 17:24 15-02-2024
    RazOne707



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

    Цитата:
    вообще если используешь ffmpeg, то использовать постпроцессор проще, не зачем exec
     

    покажи как надо, никто не против)

    Всего записей: 1981 | Зарегистр. 06-10-2023 | Отправлено: 17:25 15-02-2024
    greeple

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

    а где пути? где команда cmd то? ты же не в постпроцессоре прописываешь её

    Всего записей: 5525 | Зарегистр. 11-02-2020 | Отправлено: 17:25 15-02-2024
    RazOne707



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

    Цитата:
    а где пути? где команда cmd то? ты же не в постпроцессоре прописываешь её

    Пути чего ?) Просто применить фильтр к аудио и чтобы вся цепь логической задачи выполнялась.
    Хоть через --ppa,хоть через --exec after_move: без разницы. Да хоть как-нибудь.

    Всего записей: 1981 | Зарегистр. 06-10-2023 | Отправлено: 17:28 15-02-2024 | Исправлено: RazOne707, 17:51 15-02-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707
    Цитата:
    Хоть через --ppa,хоть через --exec after_move: без разницы. Да хоть как-нибудь.

    ты в cmd как её выполняешь? полную команду напиши че не понятного?
     
    Добавлено:
    отдельно напиши, команду yt-dlp для скачки и отдельно обработку фильтром в ffmpeg, как ты делаешь чтобы работало
     
    Добавлено:
    вот этому человечку напиши он тебе напишет как надо https://github.com/pukkandan

    Всего записей: 5525 | Зарегистр. 11-02-2020 | Отправлено: 18:22 15-02-2024
    RazOne707



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

    Цитата:
    полную команду напиши


    Цитата:
    как ты делаешь чтобы работало

    Вот VitalyF собрал все в один пост http://forum.ru-board.com/topic.cgi?forum=5&topic=49719&start=3920#21
    Только after не добавлять и убрать оттуда, про которую он пишет - он ошибку не увидел в запарке и подумал,что добавляется эскиз после аудио фильтра.
    Можно хоть одной строкой, можно как он еще conf подключать, это уже дело второе
    И у него только аудио, но после того как услышал от тебя как все просто, подумал что ты и + видео сможешь), но хотя бы тогда чтобы m4a+аудиофильтр+обложка (так как после применения аудиофильтра обложка не добавляется),а если с after произойдет ошибка, так как это не верная команда и аудиофильтр естественно не отработает - то обложка добавится
     
    UPD:

    Цитата:
    мне для этого ещё твой ffmpeg надо качать?

    Думаю можно просто aac что в стандартном, не думаю что загвоздка именно fdk_aac.

    Всего записей: 1981 | Зарегистр. 06-10-2023 | Отправлено: 18:37 15-02-2024 | Исправлено: RazOne707, 19:01 15-02-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707
    мне для этого ещё твой ffmpeg надо качать?
     
    Добавлено:
    ну вот так у меня ошибка на фильтре

    Код:
    yt-dlp -x --audio-quality 0 --audio-format m4a --add-metadata --convert-thumbnail jpg --embed-thumbnail --write-thumbnail --merge-output-format mp4 --exec "ffmpeg -v quiet -vn -y -i {} -ac 2 -c:a libfdk_aac -vbr 5 -filter_complex \"compand=0 0:1 1:-90/-900 -70/-70 -30/-9 0/-3:6:0:0:0,bass=g=3:f=110:w=0.6,dynaudnorm\" {}" https://www.youtube.com/watch?v=d4Fhs-2HFO8


    Код:
    ERROR: Postprocessing: Command returned error code 3165764104

    Всего записей: 5525 | Зарегистр. 11-02-2020 | Отправлено: 18:52 15-02-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