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

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


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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте!
     
    Я бы хотел изменить свой вариант, но не знаю как сделать, может посоветуете:
    раньше мой вариант всегда качал AVC, а теперь (когда всё больше видео на ютюбе становятся VP9) соответственно качает именно этот вариант. В целом, такая ситуация меня устраивает, поскольку один и тот же ролик с почти неотличимым качеством занимает меньше места... так, например, AVC - 58 МБ., а VP9 - 35 МБ.  Но иногда скачиваю видео, которое хочу быстро и без изменения качества редактировать (обрезать в видео редакторе), и вот с этим новым форматом (кодек VP9 ) видео редактор не работает в быстром режиме, поэтому мне нужно скачать видео именно AVC. Так вот, вопрос: как изменить в моём батнике содержимое, чтобы разрешение и звук остались прежними, но формат (кодек) должен быть именно AVC ?
     
    Мой вариант батника:

    Код:
    for /f "delims=" %%i in ('
    mshta "javascript:var x=clipboardData.getData('text');if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x);close();"
    ') do set ClipboardData=%%i
    yt-dlp -o "%%(title)s.%%(ext)s" -f bestvideo"[height<=?1080][ext=mp4]"+bestaudio[ext=m4a] %ClipboardData% --merge-output-format mp4

    Всего записей: 1047 | Зарегистр. 04-02-2010 | Отправлено: 19:01 13-01-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FiLinX
    Цитата:
    а вот у увиденной же последовательность не такая  -  на что это влияет?

    ни на что, флаги считываются в любом порядке

    Цитата:
    и ещё, у меня в обзывалке начинается с обр.слеша  -  это на что влияет?

    не знаю в доках нет такого слэша
    там есть ~ как home, а просто \ может кто то не дописал или по ошибке, хз  

    Цитата:
    а, и ещё, сама склейка в моей - тоже исполняется с помощью ffmpeg? просто он у меня не лежит рядом с yt-dlp, а пропатчен в переменные системы.

    да

    Цитата:
    своей пользовался несколько раз - идеально отрабатывала..

    только что там, что у тебя -f bestvideo+bestaudio не обязательно писать, оно по умолчанию так же выбирает
    в твоём случае достаточно такого варианта

    Код:
    yt-dlp.exe -S vcodec:h264,acodec:mp4a -o "%%(title)s.%%(ext)s" "%ClipboardData%"

    Всего записей: 5561 | Зарегистр. 11-02-2020 | Отправлено: 19:06 13-01-2024
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov
    -f "bv[height<=?1080][fps<=?60][ext=mp4]+ba[ext=m4a]" -S "vcodec:h264,acodec:m4a,channels:2"
    попробуйте может будет работать.

    Всего записей: 1056 | Зарегистр. 04-03-2017 | Отправлено: 19:14 13-01-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov
    Цитата:
    и вот с этим новым форматом (кодек VP9 )

    ну он уже давно не новый, а даже устаревший

    Цитата:
    как изменить в моём батнике содержимое, чтобы разрешение и звук остались прежними, но формат (кодек) должен быть именно AVC ?

    качается у тебя скорее всего не vp9, а av1 потому что он в mp4, а vp9 в webm
    по примеру что выше дал, --merge-output-format mp4 это в данном случае не нужно

    Код:
    yt-dlp.exe -S "res:1080,vcodec:h264,acodec:mp4a" -o "%%(title)s.%%(ext)s" "%ClipboardData%"

     
    Добавлено:
    vaskamy
    зачем и через f фильтровать и через S ?

    Всего записей: 5561 | Зарегистр. 11-02-2020 | Отправлено: 19:15 13-01-2024
    mao_2004

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov
    Попробуйте эту качалку.
    Advanced Youtube Client - AYC
    https://advanced-youtube-client-ayc.sourceforge.io
    https://github.com/adithya-s-sekhar/advanced-youtube-client-ayc/

    Всего записей: 841 | Зарегистр. 06-08-2004 | Отправлено: 19:23 13-01-2024
    lvqcl

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    https://www.reddit.com/r/youtubedl/wiki/h264/

    Всего записей: 1226 | Зарегистр. 03-02-2007 | Отправлено: 19:24 13-01-2024
    shamagov



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

    Всего записей: 1047 | Зарегистр. 04-02-2010 | Отправлено: 19:34 13-01-2024 | Исправлено: shamagov, 19:43 13-01-2024
    neorumtu

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

    Цитата:
    вот с этим новым форматом (кодек VP9) видео редактор не работает в быстром режиме

    Avidemux работает быстро. Хотя, в VP9 ключевые кадры не всегда на сменах сцен. Но, если резать в конце, то это не страшно.

    Всего записей: 734 | Зарегистр. 30-08-2023 | Отправлено: 19:42 13-01-2024
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov
    Если хотите можете добавить ещё вот это --progress --embed-metadata --embed-thumbnail --embed-chapters --merge-output-format mp4 --write-description и у вас будет встраиваться в видео метаданные, обложка видео ролика, и главы к видео если они присутствуют.
     
     
    Добавлено:

    Цитата:
    Avidemux работает быстро

    Не рекламируйте этот шлак - разработчик совсем не интересуется тем что надо потребителю, его интересует только красивый код программы. Через некоторое время его программой вобще никто не станет пользоваться - пускай оторвётся от кода и посмотрит что на рынке продвигают другие программисты и что надо пользователям.
    Извените за оф топ.

    Всего записей: 1056 | Зарегистр. 04-03-2017 | Отправлено: 19:43 13-01-2024
    shamagov



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

    Всего записей: 1047 | Зарегистр. 04-02-2010 | Отправлено: 19:50 13-01-2024 | Исправлено: shamagov, 01:33 22-01-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov
    Цитата:
    Теперь, когда вопрос с батником решён (благодаря vaskamy )

    так, а зачем дублировать то?
    yt-dlp по умолчанию уже берёт bestvideo и bestaudio нет смысла их писать, а если фильтруешь, то нет смысла дублировать записи и по f ключу и по S, если есть выбор в одном, то его достаточно, это просто удлиняет строку, больше ничего не даёт
     
    Добавлено:
    ну хотя да, там не дублируется, там в f разрешение выбирается, а в S кодеки, почему там разрешение не написать?
     
    Добавлено:
    или тогда кодеки написать в f  

    Код:
    -f "bv[height<=?1080][vcodec=h264]"+"ba[acodec=mp4a]"

    Всего записей: 5561 | Зарегистр. 11-02-2020 | Отправлено: 20:21 13-01-2024 | Исправлено: greeple, 20:32 13-01-2024
    FiLinX



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вот блин, оказывается я неправильно всё понял..
    ну, когда я составлял свою мантру, как образец я брал вот этот мануальчик:

    Код:
    yt-dlp.exe -f "bestvideo[height<=720][ext=mp4]+bestaudio[ext=m4a]/best" -S "vcodec:h264,fps:30,acodec:mp4a,channels:2" "%URL%" -o "%dir%\%file%"
     
    Будет скачано видео с разрешением 720 или меньше (если нет 720), с расширением mp4, видеокодек - AVC (h264), аудиокодек - AAC (mp4a), частота кадров - 30 (25), стерео (2 канала).  
    Параметры сортировки нужны по следующим причинам.  
    vcodec:h264 - чтобы не скачался AV1 (он также идет в контейнере mp4)  
    fps:30 - чтобы не скачался 60 fps (например, поток ID=298)  
    acodec:mp4a - чтобы не скачался AC3 (он также идет в контейнере m4a)  
    channels:2 - чтобы не скачался 6 канальный звук

     
    и вот сейчас перечитав, понял, что -S "vcodec:h264,fps:30,acodec:mp4a  это не команды для ffmpeg (как я вообразил)), а чисто сортировка для yt-dlp
    ыы)
    ну и выходит что скачивает то моей - не лучшее!  потому как лучшее сейчас в AV1 и AC3, а я же сортировкой их и запретил)

    Всего записей: 2380 | Зарегистр. 05-05-2010 | Отправлено: 21:05 13-01-2024 | Исправлено: FiLinX, 21:10 13-01-2024
    shamagov



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

    Всего записей: 1047 | Зарегистр. 04-02-2010 | Отправлено: 21:21 13-01-2024 | Исправлено: shamagov, 01:34 22-01-2024
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple
    У каждого свои запросы - кому какое видео надо. У меня к примеру несколько кнопок в Тотал командере
    под мои нужды то что мне нужно а к примеру 4К или кодек AV1 у меня железка не потянет а покупать новую не вижу смысла - может я завтра сдохну и зачем новую покупать.

    Всего записей: 1056 | Зарегистр. 04-03-2017 | Отправлено: 21:23 13-01-2024
    neorumtu

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

    Цитата:
    вырезать куски из разных мест

    Можно, главное, чтобы не было варнингов. Для начала пытаться по ключевым I кадрам. Я к тому, что даже в середине видео, резать не по ключевому кадру можно, но только в конце GOP области. Там даже будет видно, если программа не жалуется.
     
    vaskamy

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

    Бывает. С некоторыми разработчиками трудно общаться.

    Всего записей: 734 | Зарегистр. 30-08-2023 | Отправлено: 21:24 13-01-2024
    FiLinX



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple
    Цитата:
     -f bestvideo+bestaudio не обязательно писать, оно по умолчанию так же выбирает

    увы не, не хотит оно так.. ну, оно тупо качает не лучшее, а 22 формат)  -  https://i.imgur.com/JlmdrSv.jpg
    хотя странно да, ведь должен был чуять и повыше качество

    Всего записей: 2380 | Зарегистр. 05-05-2010 | Отправлено: 21:27 13-01-2024
    neorumtu

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

    Цитата:
    оно тупо качает не лучшее, а 22 формат

    Может, ffmpeg не видит.

    Всего записей: 734 | Зарегистр. 30-08-2023 | Отправлено: 21:34 13-01-2024
    greeple

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

    да в фильтрах через f надо не те названия что для S, а те что написаны в выводе по F и брать по началу

    Код:
    -f "bv[height<=?1080][vcodec^=avc]"+"ba[acodec^=mp4a]"

     
     
    Добавлено:
    FiLinX
    Цитата:
    увы не, не хотит оно так.. ну, оно тупо качает не лучшее, а 22 формат)

    по идее это если написать -f best то будет так и в консоли будет такое сообщение

    Цитата:
    «-f best» выбирает лучший предварительно объединенный формат, который часто не является лучшим вариантом.
              Чтобы позволить yt-dlp загружать и объединять лучшие доступные форматы, просто не указывайте выбор формата.

    т.е. если не указывать должен выбирать максимальный не объединенный предварительно, без понятия почему так, ща посмотрим
     
    Добавлено:
    ну да если явно указать, то качает лучшие -f bv+ba
    если звёздочку добавить к -f bv*+ba, то уже 22ой
    видимо настало время

    Цитата:
    По умолчанию yt-dlp пытается загрузить потоки наилучшего доступного качества, если вы не укажете какие-либо параметры. Обычно это эквивалентно использованию -f bestvideo*+bestaudio/best. Однако если включено несколько аудиопотоков (--audio-multistreams), формат по умолчанию изменится на -f bestvideo+bestaudio/best. Аналогично, если ffmpeg недоступен или если вы используете yt-dlp для потоковой передачи на стандартный вывод (-o -), значением по умолчанию становится -f best/bestvideo+bestaudio.

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

    Код:
    -f bv+ba -S vcodec:h264,acodec:mp4a

    или в f сразу, но на других сайтах могут быть другие форматы, поэтому через / прописывать, то что должно смотреть если нет того что сначала выбрал

    Код:
    -f "bv[vcodec^=avc]"+"ba[acodec^=mp4a]"/bv+ba/best

    что то типа такого
     
    Добавлено:
    понял, S без f это best, S просто сортировка для чего то, но если она без f она сортирует для объединённых видео с аудио, а если добавить bv+ba, то уже для каждого отдельно и уже каждый отдельно скачивается в зависимости от сортировки которую выбрал
     
    Добавлено:
    ещё вот так там можно сократить
    +codec:avc:m4a
    такая сортировка видео h264> h265> vp9> vp9.2> av01> vp8> h263> theora и аудио mp4a> aac> vorbis по возрастанию

    Код:
    -f bv+ba -S +codec:avc:m4a

     
    Добавлено:

    Цитата:
    увы не, не хотит оно так.. ну, оно тупо качает не лучшее, а 22 формат)

    кстати вот ещё, если добавить разрешение то уже не 22 берёт

    Код:
    -S "res:1080,vcodec:h264,acodec:mp4a"


    Всего записей: 5561 | Зарегистр. 11-02-2020 | Отправлено: 22:55 13-01-2024 | Исправлено: greeple, 13:35 14-01-2024
    RazOne707



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shamagov
    У Вас:  
    -f "bv[height<=?1080][fps<=?60][ext=mp4]+ba[ext=m4a]" и -S "vcodec:h264,acodec:m4a,channels:2"
    ytdlp обрабатывает или -f или -S
     
    Вот пример:

    Цитата:
    yt-dlp -o "%outpath%\%%(title)s.%%(ext)s" -S "res:1080,vcodec:h264" --no-mtime "%ClipboardData%"

     
    если не прописывать acodec, то с vcodec:vp9 или av1 - аудиокодек автоматически будет opus, если h264 - aac
     
    --merge-output-format mp4 не советую использовать (также идет ненужное по своей сути склеивание v+a)
    контейнер видео (mp4,webm,mkv) подбирается автоматически зависящие от комбинации video+audio
    mp4: h264+aac
    webm: vp9(av1)+opus
    mkv: h264+opus

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

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RazOne707
    Цитата:
    ytdlp обрабатывает или -f или -S

    нет, S это просто сортировка, если есть то что написал, то скачает, если нет то возьмет что дальше идёт в приоритете
    если без -f писать то отрабатывает как best, т.е. берёт сначала предварительно объединенные форматы, я же выше написал
    в его варианте будет нормально, а в варианте без разрешения возьмёт 22 формат 720 с аудио сразу который

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