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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущее обсуждение: часть 1

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


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


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





yt-dlp - активный форк youtube-dl, рекомендуется к использованию. Минимальная версия Windows 8. Linux
Цели проекта: добавление новых функций, исправление известных проблем. Есть различия в поведении от основного проекта.
 
ytdl-patched - пока непонятный форк yt-dlp
 
 
форк yt-dlp есть вариант для Windows XP x86 и Windows 7
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 | Нюанс под Windows 7 раз два три
  • кнопки от notinthewoods
  • BAT-ник, Downloader, расширения от 351878
  • Youtube Format IDs  
  • Автоматическое скачивание комментариев к видеороликам Youtube с их преобразованием в удобный для чтения HTML-формат от PREVED
  • Примеры замены\удаления текста в названии файла
  • Обход корпоративных/провайдерских блокировок
  • Обход блокировок связанный с медиаконтентом - видео, аудио..
     

  • Всего записей: 39128 | Зарегистр. 26-02-2002 | Отправлено: 09:08 17-02-2024 | Исправлено: greeple, 14:30 29-10-2024
    greeple

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

    Цитата:
    Как 'yt-dlp' определяет время?

    должно быть системное, просто текущее время на компе (конкретно это %(epoch-3600>%H_%M_%S)s тоже самое что и в cmd взять или powershell)
    вообще может быть косяк да, я давно просто тестил и точно не помню, но себе поменял на powershell как раз $(Get-Date -Format('HH_mm')) из-за чего-то, но эта команда не с сервера берёт
     
    Добавлено:
    ну хотя да, у меняя он 23 часа показывает, просто видимо часовой пояс какой-то по умолчанию а не системное
     
    https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes UTC там по умолчанию считает, и минус час ещё -3600
     
    надо +3
    для Москвы

    Код:
    yt-dlp URL -o "%(title)s.%(epoch+10800>%H_%M_%S)s"

    Всего записей: 5568 | Зарегистр. 11-02-2020 | Отправлено: 03:00 18-05-2024 | Исправлено: greeple, 03:48 18-05-2024
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    yt-dlp URL -o "%(title)s.%time:~0,2%_%time:~3,2%_%time:~6,2%"

    Всего записей: 1377 | Зарегистр. 17-01-2011 | Отправлено: 03:09 18-05-2024
    LZAA

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

                              greeple
                             Jonmey
     
         Оба кода работают. Первый - красивее, но надо считать. Второй - универсальный, но длинноват. Сделал:
     
       yt-dlp URL -o "%(title)s.%time%"
     
       Это работает. Единственная 'неприятность' - время отображается в формате '10#47#19,09'. Можно ли сделать так, чтобы вместо 'решётки' использовался другой символ?  
     
     

    Всего записей: 2325 | Зарегистр. 09-01-2010 | Отправлено: 11:04 18-05-2024
    greeple

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

    что считать? если у тебя один часовой пояс всегда, то один раз посчитай и всё

    Цитата:
    Единственная 'неприятность' - время отображается в формате '10#47#19,09'. Можно ли сделать так, чтобы вместо 'решётки' использовался другой символ?

    так поэтому тот и длинноват, потому что убирает решётки, а разделяющий символ сам прописываешь, тут _ прописано
     
     
    Добавлено:
    по умолчанию там двоеточия, поэтому yt-dlp их заменяет на решётки, так как двоеточие нельзя в именах использовать  
    echo %time%
    14:47:07,37
     
    Добавлено:
    можно так
    %time::=-%
    двоеточие на тире заменит

    Всего записей: 5568 | Зарегистр. 11-02-2020 | Отправлено: 14:43 18-05-2024
    LZAA

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

           '%time::=-%' - хорошее решение. Таким образом символы между цыфрами можно менять на другие допустимые.
           

    Всего записей: 2325 | Зарегистр. 09-01-2010 | Отправлено: 16:21 18-05-2024
    skuwakin

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток,  уважаемые знатоки.  Иногда дюже полезно скачать длинное видео, поделив его на части, благодаря параметру --split-chapters это прекрасно отрабатывает. Но при этом скачивание получается двойное, то есть, качается и само видео, и его части.  А можно-ли как-то не скачивать само видео, а только его части?

    Всего записей: 309 | Зарегистр. 17-03-2005 | Отправлено: 20:07 18-05-2024
    www_world

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

    Цитата:
    скачать длинное видео, поделив его на части, благодаря параметру --split-chapters это прекрасно отрабатывает. Но при этом скачивание получается двойное, то есть, качается и само видео, и его части.  А можно-ли как-то не скачивать само видео, а только его части?

    Приведите полную строку, с которой у вас проблемы, если рассчитываете на предметный, а не гадательный ответ.

    Всего записей: 494 | Зарегистр. 04-11-2018 | Отправлено: 20:48 18-05-2024
    skuwakin

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    www_world
    Спасибо, за ответ. Вот  команда
    yt-dlp.exe --downloader ffmpeg --split-chapters --no-warnings --no-mtime --merge-output-format mp4 --no-part --no-mark-watched --no-call-home --age-limit 21 --geo-bypass -S "res:360,vcodec:avc1,acodec:m4a" -o "%(section_title)s_%(title)s-%(width)sx%(height)s_%(id)s.%(ext)s" -P "D:\download\YouTube" https://www.youtube.com/watch?v=qfA3exZm8qY
     
    p.s. Я тут подумал, а может быть я не прав, может быть он качает один раз и режет уже скаченный файл...  И если гипотеза верна, то тогда ест-но всплывает второй вопрос, а можно-ли научить yt-dlp удалять это разделяемое видео.
     

    Всего записей: 309 | Зарегистр. 17-03-2005 | Отправлено: 21:01 18-05-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    skuwakin
    Цитата:
    p.s. Я тут подумал, а может быть я не прав, может быть он качает один раз и режет уже скаченный файл...  И если гипотеза верна, то тогда ест-но всплывает второй вопрос, а можно-ли научить yt-dlp удалять это разделяемое видео.

    он так и должен делать, это постобработка
    -k, --keep-video                Keep the intermediate video file on disk
                                    after post-processing
    --no-keep-video                 Delete the intermediate video file after
                                    post-processing (default)
    по дефолту удаляет видео после постобработки
     
    но проверил да, не удаляет никак чёт
     
    skuwakin
    Цитата:
    А можно-ли как-то не скачивать само видео, а только его части?

    есть  
    --download-sections REGEX    Download only chapters that match the
                                    regular expression. A "*" prefix denotes
                                    time-range instead of chapter. Negative
                                    timestamps are calculated from the end.
                                    "*from-url" can be used to download between
                                    the "start_time" and "end_time" extracted
                                    from the URL. Needs ffmpeg. This option can
                                    be used multiple times to download multiple
                                    sections, e.g. --download-sections
                                    "*10:15-inf" --download-sections "intro"
    в вариантах скачивания
    и есть
    --remove-chapters REGEX         Remove chapters whose title matches the
                                    given regular expression. The syntax is the
                                    same as --download-sections. This option can
                                    be used multiple times
    в постобработке также как сплит

    Всего записей: 5568 | Зарегистр. 11-02-2020 | Отправлено: 21:58 18-05-2024 | Исправлено: greeple, 22:24 18-05-2024
    skuwakin

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

    Цитата:
    по дефолту удаляет видео после постобработки

    Тут наверное есть нюанс...  Оно удаляет только по оригинальному имени файла,, если можно так сказать. А я, как видно из команды, имя файла формирую "сам". Но, это ест-но гипотеза.  
     

    Цитата:
    --remove-chapters REGEX         Remove chapters whose title matches the

    Если это удаляет по имени файла, то должно сработать. Бум посмотреть. Еще раз спасибо БОЛЬШОЕ!

    Всего записей: 309 | Зарегистр. 17-03-2005 | Отправлено: 22:27 18-05-2024
    greeple

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

    Код:
    --exec "del \"%(filepath,_filename)s\""

     
    Добавлено:
    skuwakin
    Цитата:
    Если это удаляет по имени файла, то должно сработать. Бум посмотреть. Еще раз спасибо БОЛЬШОЕ!

    нет, это наверно удаляет просто из файла конкретные отрезки, и оставляет файл целиком, но без каких то частей

    Всего записей: 5568 | Зарегистр. 11-02-2020 | Отправлено: 22:47 18-05-2024
    skuwakin

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple
    Про это --exec "del \"%(filepath,_filename)s\""
    Отличная идея, спасибо! Не допёр сам, хотя про --exec читал и отметил, что классная фича.

    Всего записей: 309 | Зарегистр. 17-03-2005 | Отправлено: 23:39 18-05-2024
    FiLinX



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    а подскажите
    я вот на своём древнем недобуке с ХР, для просмотра всяких ОК-смотрирушек, пользую вот такой батничек
    но увы, на этих ресурсах постоянно меняются форматы потоков, где уже нет в наличии hls-800 - https://i.imgur.com/dYWUB0a.png
    вот и вопрос - чтоб не запрашивать каждый раз -F и руками потом править в батнике на нужный, есть ли какая то команда ограничения по типу как для ютубин  "[height<=?480]"  ?
     
    Добавлено:
    упс  -  оказывается с этих ресурсов заработали форматы low-sd-hd  и можно стало пользовать их вместо hls-..

    Всего записей: 2392 | Зарегистр. 05-05-2010 | Отправлено: 07:28 21-05-2024 | Исправлено: FiLinX, 07:58 21-05-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FiLinX
    во первых форматы можно через слэш писать -f 136/137/mp4/bestvideo,140/m4a/bestaudio чтобы если нет первого проверял второй после слэша и так далее
    во вторых так же и пишется, в квадратных скобках проверяется из любого поля инфа текстом  
    Also filtering work for comparisons = (equals), ^= (starts with), $= (ends with), *= (contains), ~= (matches regex) and following string meta fields:
    [format_id*=hls-800] но оно работать не будет так как ты хочешь, только проверка и если нету ошибка
    потому что проверяется больше\меньше только числовые поля

    Цитата:
    The following numeric meta fields can be used with comparisons <, <=, >, >=, = (equals), != (not equals):
     
    filesize: The number of bytes, if known in advance
    filesize_approx: An estimate for the number of bytes
    width: Width of the video, if known
    height: Height of the video, if known
    aspect_ratio: Aspect ratio of the video, if known
    tbr: Average bitrate of audio and video in kbps
    abr: Average audio bitrate in kbps
    vbr: Average video bitrate in kbps
    asr: Audio sampling rate in Hertz
    fps: Frame rate
    audio_channels: The number of audio channels
    stretched_ratio: width:height of the video's pixels, if not square

     
    поэтому только слэшами в -f
     
    Добавлено:

    Цитата:
    упс  -  оказывается с этих ресурсов заработали форматы low-sd-hd  и можно стало пользовать их вместо hls-..

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

    Всего записей: 5568 | Зарегистр. 11-02-2020 | Отправлено: 12:40 21-05-2024
    FiLinX



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple
    Цитата:
    так же и пишется, в квадратных скобках

    у меня так не отрабатывает.. ну, то есть при "[height<=?1200]"  - воспроизводит в максимальном (в выше данном случае в 1280х720)
    я помню тут когда то говорили, что для вконтактовых в эти параметры в скобках - надо * ставить, но где её ставить я не помню)
    greeple
    Цитата:
    они там вроде всегда были

    были то были да, но когда я их в том году пробовал -  https форматы эти у меня не работали ни один, лишь по hls-xxx давало..

    Всего записей: 2392 | Зарегистр. 05-05-2010 | Отправлено: 23:08 21-05-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FiLinX
    Цитата:
    у меня так не отрабатывает.. ну, то есть при "[height<=?1200]"  - воспроизводит в максимальном (в выше данном случае в 1280х720)

    так по высоте ты смотришь, тут у тебя 720p, а это меньше 1200

    Цитата:
    https форматы эти у меня не работали ни один, лишь по hls-xxx давало..

    это вроде было для смотрим

    Всего записей: 5568 | Зарегистр. 11-02-2020 | Отправлено: 01:56 22-05-2024
    VitalyF

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FiLinX
    http давно не работает... пользуюсь таким фильтром >> только высоту кадра выстави для себя
    и tbr, т.к. не везде (не на всех сайтах) она высвечивается...
    Цитата:
    -f- -S "proto:m3u8,res:~360,tbr:~+300,vcodec" - Эти р-ры для смартфона.
    -f- - дает возможность перед скачкой лист форматов посмотреть и уточнить, если что, ввести новое значение. Список сортируется согласно твоим фильтрам!
     
     

    Всего записей: 1370 | Зарегистр. 03-03-2004 | Отправлено: 06:15 22-05-2024 | Исправлено: VitalyF, 06:24 22-05-2024
    FiLinX



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple
    Цитата:
    так по высоте ты смотришь, тут у тебя 720p, а это меньше 1200

    ой..  я опчатался в посте  -  я имел ввиду не "[height<=?1200]"  а с "[hls<=?1200]"  оно не выруливает - запускает в максималке доступной

    Всего записей: 2392 | Зарегистр. 05-05-2010 | Отправлено: 10:32 22-05-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FiLinX
    Цитата:
    а с "[hls<=?1200]"  оно не выруливает - запускает в максималке доступной

    я числовые поля написал, где ты там увидел hls? где вообще ты его увидел?
     
    Добавлено:
    не выруливает потому что нету такого
     
    Добавлено:
    надо hls?
    так в -f
    [protocol=m3u8]
    или так в -S
    proto:m3u8

    Всего записей: 5568 | Зарегистр. 11-02-2020 | Отправлено: 11:01 22-05-2024 | Исправлено: greeple, 11:05 22-05-2024
    skuwakin

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток, уважаемые знатоки. Прошу помочь разобраться в "нехороших" моментах...
    При помощи вот такой команды  
    yt-dlp.exe --exec "del \"%(filepath,_filename)s\"" --ffmpeg-location "E:\ffmpeg" --split-chapters --no-mtime --merge-output-format mp4 --no-part --no-mark-watched --no-call-home --age-limit 21 --geo-bypass -S "res:360,vcodec:avc1,acodec:m4a" -o "%(section-title)s-%(width)sx%(height)s_%(id)s.%(ext)s" -P "D:\torrents\download\YouTube\split_chapter" https://www.youtube.com/watch?v=lklyYtLpz0E  
     
    Основную задачу, как-то деление на части, эта команда решает блестяще. Но есть именно нехорошести...
    1. Почему-то она добавляет основной заголовок к заголовку части, например  
    "АНДРЕЙ БАНДЕРА - The Best - Любимая (Лучшее 2024) - 001 01. Любимая [lklyYtLpz0E].mp4"
    где "АНДРЕЙ БАНДЕРА - The Best - Любимая (Лучшее 2024) "  и есть заголовок видео.  и к тому же, в команде не было указаний выводить номера, однако они выводятся.  в идеале хотелось бы оставить  
    "Любимая [lklyYtLpz0E].mp4"
     
    и вторая нехорошесть... а почему не отрабатывает вот такая конструкция -P D:\torrents\download\YouTube\%(title)s   создается папка %(title)s вместо ожидаемой с заголовком видео...  Правда.  эту нехорошесть можно решить программно, но хотелось бы обойтиcь одной yt-dlp.

    Всего записей: 309 | Зарегистр. 17-03-2005 | Отправлено: 22:57 22-05-2024 | Исправлено: skuwakin, 23:05 22-05-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

    Компьютерный форум Ru.Board » Компьютеры » Программы » 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