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

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



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ARoma
    Простой батник:

    Код:
    @echo off
     
    set /p URL=Enter url:  
     
    set dir=D:\Video
    set date=%date:~6,4%.%date:~3,2%.%date:~0,2%
    set file=%date%_%%(title)s.%%(ext)s
     
    yt-dlp -f "bv[height<=1080][ext=mp4]+ba[ext=m4a]/b" "%URL%" -o "%dir%\%file%"
     
    pause

    При условии, что в Панель управления - Региональные стандарты формат времени такой:
    dd.MM.yyyy
    12.10.2022 (так отображается у часиков в трее)
    Если формат другой, то числа в коде нужно изменить.

    Всего записей: 490 | Зарегистр. 31-01-2015 | Отправлено: 19:41 12-10-2022
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                             ARoma
        Снова про автонумерацию.
        У меня в среде 'Windows' командой '-o "%(autonumber)03d.%(title)s.%(ext)s"' номер и название не создаются. Получается - '(title)s.mp4'.
        Работает такое: '-o "%%(autonumber)03d.%%(title)s.%%(ext)s". Создаются все заданные записи.
        Но проблема остаётся. Если в директории есть файл '001.output.mp4', то при скачивании со следующего адреса файл '002.output.mp4' не создаётся. Пишет:
     
       [download] 001.output.mp4 has already been downloaded and merged
     
       Как, всё же, добиться того, чтобы автонумерация приводила к желаемому результату?
       

    Всего записей: 2216 | Зарегистр. 09-01-2010 | Отправлено: 23:01 17-10-2022 | Исправлено: LZAA, 23:02 17-10-2022
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста как должна выглядеть ссылка на видео что бы скачать выбранный кусок видео из середины видео к примеру начало так https://www.youtube.com/watch?v=xxxxxxx&t=5732s а конец как дописать?
    Заранее спасибо.

    Всего записей: 968 | Зарегистр. 04-03-2017 | Отправлено: 12:25 18-10-2022
    greeple

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

    Цитата:
    Как, всё же, добиться того, чтобы автонумерация приводила к желаемому результату?

    попробуй так просто добавь время скачивания с секундами
    -o "%(autonumber)03d.%(title)s-%(epoch+10800>%H-%M-%S)s.%(ext)s"
    %(epoch+10800>%H-%M-%S)s добавит время когда скачал видео по мск +10800 это 3 часа в секундах, собственно +или- и время в секундах свое ставишь и все

    Всего записей: 4234 | Зарегистр. 11-02-2020 | Отправлено: 04:41 19-10-2022 | Исправлено: greeple, 15:32 19-10-2022
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Возникло пара вопросов по работе yt-dlp с субтитрами.  
     
    1. Как заставить y-dlp писать субтитры в UTF-8 с BOM ?
    2. Как заставить y-dlp интегрировать субтитры их в MKV, а не сохранять их рядом ?

    Всего записей: 2102 | Зарегистр. 19-09-2011 | Отправлено: 12:56 19-10-2022
    vaskamy



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

    Код:
    @echo off
     
    set dir=D:\Download_yt-dlp
    set file=%%(title)s.%%(ext)s
     
    ::Чтение из буфера обмена скопированной ссылки с помощью утилиты paste
    for /f "delims=" %%i in ('paste') do set URL=%%i
    yt-dlp -f "bestvideo[height<=1080][dynamic_range=?SDR]+bestaudio/bestvideo[height<=1080][ext=mp4][dynamic_range=?SDR]+bestaudio[ext=m4a]/best" "%URL%" -o "%dir%\%file%"
     
    pause
     
     
    чтоб с vk кочало.

    Всего записей: 968 | Зарегистр. 04-03-2017 | Отправлено: 15:35 19-10-2022
    greeple

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

    Цитата:
    что бы скачать выбранный кусок видео из середины видео

    тут вот инфа на реддит с несколькими вариантами
     
    --force-keyframes-at-cuts --download-sections "*93-111"  
    *93-111 начало и конец в секундах  
     
    или  
     
    --downloader ffmpeg --downloader-args "ffmpeg_i:-ss 00:01:00 -to 00:02:00"
    -ss начало -to конец формат часы минуты секунды

    Всего записей: 4234 | Зарегистр. 11-02-2020 | Отправлено: 16:04 19-10-2022 | Исправлено: greeple, 16:17 19-10-2022
    ARoma



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500
    1. В документации yt-dlp такой возможности не описано. Есть только возможность конвертации субтитров
    --convert-subs или --convert-subtitles FORMAT == (варианты: ass, lrc, srt, vtt)
    А вот в какой кодировке они внутри себя хранят субтитры не знаю. Как вариант можно в попробовать использовать каждую и посмотреть разницу.
     
    2. --embed-subs == Встраивание субтитров в видео (только для mp4, webm и mkv)

    Всего записей: 674 | Зарегистр. 13-06-2019 | Отправлено: 16:05 19-10-2022 | Исправлено: ARoma, 16:07 19-10-2022
    greeple

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500
    несколько месяцев назад я тестил субтитры (вообще не пользуюсь ими) и там вот так было
     
    (это мой ответ кому то на вопрос как вставить сабы в видео)
    По умолчанию и по "приказу" yt-dlp не скачивал в формате srt, а скачивал в vtt(видимо потому что на ютубе только vtt, я не проверял) и его он не правильно встраивал в видео, после нескольких десятков минут тупняка нашел флаг конвертирования сабов и вот такая команда нормально отработала
     
    Пример:

    Код:
     yt-dlp.exe --write-subs --write-auto-subs --convert-subs "srt" --embed-subs --merge-output-format mp4 -o "C:\Users\greeple\Downloads\Video\%(title)s.%(ext)s"
     

    --merge-output-format тут не обязателен, это я проверял просто (но сабы встраиваются только в mp4, webm и mkv)
     
    пока писал сообщение еще наткнулся на сообщение с различиями флагов в yt-dlp и youtube-dl ссылка  
    еще вот тут можно почитать про субтитры youtube-dl | yt-dlp но про utf с bom я не в курсе, может как то построцессингом можно отдать какой нибудь проге чтобы она сконвертировала

    Всего записей: 4234 | Зарегистр. 11-02-2020 | Отправлено: 16:37 19-10-2022 | Исправлено: greeple, 16:53 19-10-2022
    vaskamy



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

    Всего записей: 968 | Зарегистр. 04-03-2017 | Отправлено: 21:49 19-10-2022
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                         Про автонумерацию.
        Ничего не понимаю!
        Если предусмотрена такая опция, то почему не создаётся №=002?!
        Такая команда без всяких там извращений:
     
        youtube-dl URL -o "%(autonumber)03d.v.mp4"
     
        '001.v.mp4' создаётся, но следующий '002.v.mp4' - уже нет. Кака я же это нумерация из одного числа только?

    Всего записей: 2216 | Зарегистр. 09-01-2010 | Отправлено: 22:59 19-10-2022
    greeple

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

    Цитата:
    Кака я же это нумерация из одного числа только?

    да хрень какая то, тоже целый день сидел искал решение, так и не нашел, и цифры прописывал и плюсовал, не работает, может баг какой, был уже такой недавно судя по фиксам

    Всего записей: 4234 | Зарегистр. 11-02-2020 | Отправлено: 00:36 20-10-2022
    aleksvolgin

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

    Цитата:
    --force-keyframes-at-cuts --download-sections "*93-111"  
    *93-111 начало и конец в секундах

    А строка запуска, сгенерированная yt-dlp выглядит так:

    Код:
    ffmpeg -y -hide_banner -headers "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Sec-Fetch-Mode: navigate
    " -ss 93.0 -t 18.0 -i %URL% -f mp4 "file:%FILENAME%.mp4.part"

    т.е. ffmpeg режет с точностью до кадра с переупаковкой потока.
     
    А вот если убрать директиву "--force-keyframes-at-cuts" то строка ffmpeg'а такая:

    Код:
    ffmpeg -y -hide_banner -headers "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Sec-Fetch-Mode: navigate
    " -ss 93.0 -t 18.0 -i %URL% -c copy -f mp4 "file:%FILENAME%.mp4.part"

    т.е. ffmpeg просто вырезает кусок с точностью до ключевого кадра, т.к. есть директива "-c copy" - простое копирование потока. И, кстати, как я и утверждал ранее заведует манипуляциями с потоком ffmpeg, а никак не yt-dlp, Ч.Т.Д.

    Всего записей: 1601 | Зарегистр. 19-02-2006 | Отправлено: 01:00 20-10-2022 | Исправлено: aleksvolgin, 01:11 20-10-2022
    ARoma



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    greeple
    А как конкретно вы ставите на закачку несколько ссылок? Просто не могу понять, в чём вы там заблудились.

    Всего записей: 674 | Зарегистр. 13-06-2019 | Отправлено: 01:35 20-10-2022 | Исправлено: ARoma, 01:37 20-10-2022
    greeple

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ARoma
    все понял, он только с пакетной загрузкой автонумерует, я думал в рамках одной сессии в консоли, если ручками вбиваешь одну потом вторую и он видит в папке файл предыдущий, то нумерует
    aleksvolgin

    Цитата:
    И, кстати, как я и утверждал ранее заведует манипуляциями с потоком ffmpeg, а никак не yt-dlp, Ч.Т.Д.

    да это я уже тоже понял, но деваться уже было не куда

    Всего записей: 4234 | Зарегистр. 11-02-2020 | Отправлено: 03:15 20-10-2022
    aleksvolgin

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

    Цитата:
    да это я уже тоже понял, но деваться уже было не куда

    Жму руку за мужество.

    Всего записей: 1601 | Зарегистр. 19-02-2006 | Отправлено: 09:27 20-10-2022
    ARoma



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple
    Ну хоть разобрались, а чтобы не вбивать ссылки для закачки по одной, создаёте текстовый файлик рядом с yt-dlp / youtube-dl, например: download.txt и все ссылки записываете в него, каждую на отдельной строчке.
    Строки начинающиеся с  ";"  "#"  "]" определятся как комментарии и будут проигнорированы. Так, например, можно подписать ссылку, чтобы не забыть от какого видоса она.
     
    А для закачки теперь вместо URL нужно будет прописать

    Код:
    -a download.txt или --batch-file download.txt

     
    А в целом строчка для запуска будет примерно такого вида:

    Код:
    yt-dlp -a download.txt -o "%(autonumber)03d. %(title)s.%(ext)s"

    Всего записей: 674 | Зарегистр. 13-06-2019 | Отправлено: 09:59 20-10-2022 | Исправлено: ARoma, 12:06 20-10-2022
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                      ARoma
                                     greeple
        Теперь понятно. Так работает.
        Можно проще сделать. Если 'youtube-dl' берёт данные из буфера обмена, то достаточно скопировать список адресов.
     

    Всего записей: 2216 | Зарегистр. 09-01-2010 | Отправлено: 11:56 20-10-2022
    greeple

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

    Цитата:
    Ну хоть разобрались, а чтобы не вбивать ссылки для закачки по одной, создаёте текстовый файлик рядом с yt-dlp

    ну да я же своим батником и проверил вчера
    LZAA

    Цитата:
    то достаточно скопировать список адресов.

     вот это уже хз, надо проверять достаточно или нет, мне кажется что нет, проще тогда если не с ютуба качаешь то ссылку в файл, а если с ютуба то можно в плейлист добавлять видео, а потом просто качать плейлист сразу, автонумерация вроде на скачку плейлиста тоже работает (надо попробовать)

    Всего записей: 4234 | Зарегистр. 11-02-2020 | Отправлено: 15:30 20-10-2022
    ARoma



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple
    Цитата:
    ...автонумерация вроде на скачку плейлиста тоже работает

    Без всяких вроде, точно работает. Я изначально её для нумерации видео из плейлистов и использовал.
     
    Но опять же, в рамках одной сессии только. Если прервать закачку и перезапустить команду, то нужно будет плюсовать, чтобы её продолжить, иначе нумерация начнётся с 001.
     
    Например: скачалось 8 видео и нужно продолжить с нумерацию с 9-ти, то -o "%(autonumber+8)03d

    Всего записей: 674 | Зарегистр. 13-06-2019 | Отправлено: 15:44 20-10-2022 | Исправлено: ARoma, 15:45 20-10-2022
       

    Страницы: 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