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

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

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

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, но есть свои дополнения, например предпочитает объединять в mkv)
yt-dlp для Windows XP x86 и Windows 7
ссылки на всегда последние версии nicolaasjan [?]
yt-dlp [?] для Windows XP x86 (устарело, не обновляется)
примеры для начинающих (англ)
некоторые шаблоны и в чем-то более детальная документация, чем на оф-сайте (англ)
 
Графические интерфейсы
  • MediaDownloader (2025)
  • Metube (web-UI)
  • Tartube (2025)
  • Videomass (2025)
  • Vividl (2024)
  • youtube-dl-gui (murrty, 2022)
  • youtube-dl-gui (oleksis, 2023)
  • Stacher (2023)
     
    Полезное
  • ffmpeg.exe - yt-dlp/FFmpeg-Builds | Нюанс под Windows 7 раз [?] два
  • кнопки от notinthewoods [?]
  • Youtube Format IDs  
  • Автоматическое скачивание комментариев к видеороликам Youtube с их преобразованием в удобный для чтения HTML-формат от PREVED [?]
  • Обход корпоративных/провайдерских блокировок [?]
  • Обход блокировок связанный с медиаконтентом - видео, аудио.. [?]
     

  • Всего записей: 39489 | Зарегистр. 26-02-2002 | Отправлено: 09:08 17-02-2024 | Исправлено: greeple, 16:23 27-05-2025
    iNNOKENTIY21



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

    Цитата:
    -o "infojson:блабла"

    Это задаёт имя в yt-dlp. А наружу его не сообщает. Сохранит файл, но работать с ним как? Нужно знать имя, что бы с файлом работать.

    Всего записей: 3716 | Зарегистр. 16-08-2012 | Отправлено: 19:17 17-08-2024
    www_world

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

    Цитата:
    Как бы получить имя сохранённого *.info.json или задать это имя?
    Типа (совместно --write-info-json --print id не работает):

    Код:
    yt-dlp --skip-download --write-info-json --print id --output '%(id)s.%(ext)s' --paths "$Destination" "$Url"

    Добавлено:
    Средствами сабжа, а не шелла, типа парсить вывод, генерировать имя…
    powershell

    Код:
    yt-dlp --skip-download --write-info-json --paths "$Destination" "$Url" | % { $null = $_ -match "^\[info\] Writing video metadata as JSON to:\s(.*?)$" } ; $Matches.1
    $basename = [system.io.path]::GetRandomFileName(); yt-dlp --skip-download --write-info-json --output $basename --paths "$Destination" "$Url"

    Задать имя .info.json, очевидно, можно можно точно также, как и для самого ролика
    Например
    yt-dlp --write-info-json --skip-download https://www.youtube.com/watch?v=xxxxxxxxxxx -o %(title)+.20U
    yt-dlp --write-info-json --skip-download https://www.youtube.com/watch?v=xxxxxxxxxxx -o my_liked_wideo_[%(id)s]
    yt-dlp --write-info-json --skip-download https://www.youtube.com/watch?v=xxxxxxxxxxx -o %date%_%time::=-%
     
    Вообще, хотелось бы на примере понять сверхзадачу, типа, имеем -> получаем -> получаем -> результат.

    Всего записей: 544 | Зарегистр. 04-11-2018 | Отправлено: 19:31 17-08-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iNNOKENTIY21 [?]
    Цитата:
    Это задаёт имя в yt-dlp. А наружу его не сообщает. Сохранит файл, но работать с ним как? Нужно знать имя, что бы с файлом работать.

    имя будет такое какое напишешь с расширением .json
    где и как ты работать с ним собрался?

    Всего записей: 6922 | Зарегистр. 11-02-2020 | Отправлено: 19:37 17-08-2024
    iNNOKENTIY21



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    www_world
    Всё написано, уже в 3 предыдущих моих постах.
     
    greeple

    Цитата:
    имя будет такое какое напишешь с расширением .json

    старт.пост по этому вопросу. средствами сабжа. если файл не один уже нужно динамически менять имя — генератор имени.

    Цитата:
    где и как ты работать с ним собрался?

    в скрипте естественно.
    Сейчас использую генератор имени и подаётся в параметр $BaseName  
    PowerShell:
    Код:
    param (
        [Parameter(Mandatory)]
        [uri]
        $Url,
     
        [Parameter(Mandatory)]
        [string]
        $Destination,
     
        [string]
        $BaseName = '%(title)s.%(ext)s',
     
        [string]
        $Format = 'bestvideo[height<=?1080][ext=mp4]+bestaudio[ext=m4a]/best',
     
        [string[]]
        $SubLang = @('en','ru')
    )
     
    $FileInfoJsonPath = [System.IO.Path]::Combine($Destination, $BaseName + '.info.json')
     
    yt-dlp `
        --no-playlist `
        --skip-download `
        --write-info-json `
        --no-clean-info-json `
        --output $BaseName `
        --paths $Destination `
        --format "$Format" `
        "$Url"
     
    $Info = Get-Content -LiteralPath $FileInfoJsonPath | ConvertFrom-Json
    $Info.language

    сделал дело с info.json и продолжил/нет загрузку с ним же

    Код:
    yt-dlp `
        --no-playlist `
        --write-link `
        --embed-metadata `
        --embed-thumbnail `
        --embed-chapters `
        --embed-subs `
        --write-auto-subs `
        --sponsorblock-mark all `
        --load-info-json $FileInfoJsonPath `
        --sub-langs $Subtitles `
        --paths $Destination `
        --output $BaseName `
        -f $Format


    Всего записей: 3716 | Зарегистр. 16-08-2012 | Отправлено: 20:52 17-08-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iNNOKENTIY21
    так у тебя тут же
    $BaseName + '.info.json' будет %(title)s.%(ext)s.info.json, а должно быть без %(ext)s
     
     
     
    если надо выдать название на вывод, то -O "%(title)s [%(id)s].info.json"
    есть ещё поле  %(filename)s оно выдаёт тоже самое название, но mp4, а не .info.json получится тоже самое что ты писал %(title)s.%(ext)s
     
     
     
    Добавлено:
    можно как-то грамотней, но это надо тестить сидеть, и в доки смотреть
     
    Добавлено:
    iNNOKENTIY21 [?]
    Цитата:
    сделал дело с info.json и продолжил/нет загрузку с ним же

    логику не особо понял, но это надо пошиком и писать всё. Все эти если да кабы

    Всего записей: 6922 | Зарегистр. 11-02-2020 | Отправлено: 21:37 17-08-2024
    iNNOKENTIY21



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

    Цитата:
    так у тебя тут же
    $BaseName + '.info.json' будет %(title)s.%(ext)s.info.json, а должно быть без %(ext)s

    Нет. В блоке параметров значение по умолчанию, если другое не будет указано в момент вызова, а я указываю рандомное имя.
    В итоге там будет рандомное имя + '.info.json'
     

    Цитата:
    если надо выдать название на вывод, то -O "%(title)s [%(id)s].info.json"
    есть ещё поле  %(filename)s оно выдаёт тоже самое название, но mp4, а не .info.json получится тоже самое что ты писал %(title)s.%(ext)s

    Это тот же --print из первого поста. Не работают вместе эти параметры --write-info-json --print. С чего и возник вопрос.

    Цитата:
    логику не особо понял, но это надо пошиком и писать всё. Все эти если да кабы

    Конечно скриптом. Но инфу то надо брать из json.  А для этого надо имя файла. А с параметром: -O "%(title)s [%(id)s].info.json" — файл info.json не создаётся, но да, имя выводится, только нафиг оно.
     
    Просто хотел избавиться от рандомного имени.

    Всего записей: 3716 | Зарегистр. 16-08-2012 | Отправлено: 22:12 17-08-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iNNOKENTIY21 [?]
    Цитата:
    В итоге там будет рандомное имя + '.info.json'

    ну так а название то ты не изменяешь при загрузке -o "infojson:блабла" либо ты меняешь это либо используешь по умолчанию

    Цитата:
    Это тот же --print из первого поста. Не работают вместе эти параметры --write-info-json --print. С чего и возник вопрос.

    работают, просто ты странно это используешь

    Цитата:
    Просто хотел избавиться от рандомного имени.


    Цитата:
    а я указываю рандомное имя.

    так избавится или указываешь рандомное?

    Всего записей: 6922 | Зарегистр. 11-02-2020 | Отправлено: 22:39 17-08-2024
    iNNOKENTIY21



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

    Цитата:
    ну так а название то ты не изменяешь при загрузке -o "infojson:блабла" либо ты меняешь это либо используешь по умолчанию

    Нормально там всё, скрипт рабочий.

    Цитата:
    так избавится или указываешь рандомное?

    Указываю рандомное, но хочу избавится. но сабж не даёт, ибо:

    Цитата:
    работают, просто ты странно это используешь

    Не работают.
    Чего странного? Нормальное желание, что бы команда:

    Код:
    yt-dlp --no-playlist --skip-download --write-info-json --no-clean-info-json -O '%(title)s [%(id)s].info.json' "https://www.youtube.com/watch?v=3givlC2vbCw"

    сохраняла файл json и выводила его имя в консоль, я бы присвоил его переменной…

    Всего записей: 3716 | Зарегистр. 16-08-2012 | Отправлено: 23:40 17-08-2024
    www_world

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iNNOKENTIY21
    Парсить джейсон можно средствами yt-dlp. Что именно вам нужно из него?

    Всего записей: 544 | Зарегистр. 04-11-2018 | Отправлено: 23:53 17-08-2024
    iNNOKENTIY21



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

    Цитата:
    Парсить джейсон можно средствами yt-dlp. Что именно вам нужно из него?

    Я в курсе. Но мне этого не надо. Полей более 5. title, id, ext, language, codec info, subtitle info…
    Мне нужен файл, данные из него для других утилит/скриптов, и если будет принято решение качать, то передача его имени:

    Код:
    yt-dlp --load-info-json "имя json файла"

    Всего записей: 3716 | Зарегистр. 16-08-2012 | Отправлено: 00:05 18-08-2024
    www_world

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iNNOKENTIY21
    Одного не могу понять, если у вас уже есть ссылка (video), то зачем вам еще что-то? (в смысле формирования имени json).
    https://www.youtube.com/watch?v=00000000001 -> 00000000001.info.json

    Всего записей: 544 | Зарегистр. 04-11-2018 | Отправлено: 01:00 18-08-2024 | Исправлено: www_world, 01:13 18-08-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iNNOKENTIY21 [?]
    Цитата:
    сохраняла файл json и выводила его имя в консоль, я бы присвоил его переменной…

    нельзя одновременно и вывести на консоль и сохранить файл, либо то, либо то
    можно в постпроцессе или в --exec вывести после сохранения  
    iNNOKENTIY21 [?]
    Цитата:
    Я в курсе. Но мне этого не надо. Полей более 5. title, id, ext, language, codec info, subtitle info…
    Мне нужен файл, данные из него для других утилит/скриптов, и если будет принято решение качать, то передача его имени:

    так бери сразу json на вывод и из него бери всё что надо  

    Код:
    -j, --dump-json                 Quiet, but print JSON information for each
                                    video. Simulate unless --no-simulate is
                                    used. See "OUTPUT TEMPLATE" for a
                                    description of available keys
    -J, --dump-single-json          Quiet, but print JSON information for each
                                    url or infojson passed. Simulate unless
                                    --no-simulate is used. If the URL refers to
                                    a playlist, the whole playlist information
                                    is dumped in a single line

     
    Добавлено:
    зачем лишний раз писать файл и читать его? если можно сразу в переменную его и распарсить

    Всего записей: 6922 | Зарегистр. 11-02-2020 | Отправлено: 02:05 18-08-2024
    iNNOKENTIY21



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

    Цитата:
    Одного не могу понять, если у вас уже есть ссылка (video), то зачем вам еще что-то? (в смысле формирования имени json).

    Видео требует дальнейшей работы, а какой именно, инфа о видео в json. Лучше заранее узнать о видео инфу, не качая видео.
    Когда запрашивается инфа параметром --write-info-json, грузится и парсится веб страница, всякие апи… время занимает, но гораздо меньше, чем качать видео.
    Скрипт получил инфо и определил качать/не качать и что именно качать, голосовой перевод, конверт его в аас если мп4 и тому подобные условия.
    Если качать, то передаёт json следующей команде уже с --load-info-json, тут уже не грузится и не парсится веб страница, всякие апи… сразу грузится видео, как с паузы сняли предыдущую команду с --write-info-json, десяток сек. только на этом экономится.
    Только json устаревают, наверно прямые ссылки на googlevideo тухнут, хз сколько времени живёт, для скрипта хватает с головой.
     
    greeple
    Ну вот приехали к старт-посту
     
    Файл нужен, что бы возобновить быстро загрузку, не качая веб страницу и не парся её во второй, третий… раз, там ещё и паузы, видимо от бана-блокировки… В общем лучше за один проход.

    Всего записей: 3716 | Зарегистр. 16-08-2012 | Отправлено: 02:08 18-08-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вообще оно вот так сейчас --print "%()j" как тоже самое что и -j
    можно все твои так принтить
    --print "{\"title\": %(title)j,\"id\": %(id)j,\"ext\": %(ext)j,\"language\": %(language)j,\"codec\": %(codec)j,\"info\": %(info)j,\"subtitle info\": %(subtitle info)j}"
    ну или как хочешь, строкой
    --print "%(title)j %(id)j %(ext)j %(language)j %(codec)j %(info)j %(subtitle info)j" разделенные прибелом, или любым символом какой нужен, и в пошике забираешь, они в кавычках, j в кавычках s просто строка без кавычек %()j %()s
     
    Добавлено:
    iNNOKENTIY21 [?]
    Цитата:
    Ну вот приехали к старт-посту  
     
    Файл нужен, что бы возобновить быстро загрузку, не качая веб страницу и не парся её во второй, третий… раз, там ещё и паузы, видимо от бана-блокировки… В общем лучше за один проход.

    ну тогда так как выше написал, либо либо, вместе никак
     
    Добавлено:
    ну или иди разрабов спроси на гит, там больше шарят
     
    Добавлено:
    iNNOKENTIY21 [?]
    Цитата:
    Это задаёт имя в yt-dlp. А наружу его не сообщает. Сохранит файл, но работать с ним как? Нужно знать имя, что бы с файлом работать.

    так ты пробовал или нет?
    я просто в твой сркипт смотрю и не пойму что тебе надо то?
     

    Код:
    param (
        [Parameter(Mandatory)]
        [uri]
        $Url,
     
        [Parameter(Mandatory)]
        [string]
        $Destination,
     
        [string]
        $BaseName = '%(title)s.%(ext)s',
     
        [string]
        $Format = 'bestvideo[height<=?1080][ext=mp4]+bestaudio[ext=m4a]/best',
     
        [string[]]
        $SubLang = @('en','ru')
    )
     
    $FileInfoJsonPath = [System.IO.Path]::Combine($Destination, $BaseName + '.info.json')
     
    yt-dlp `
        --no-playlist `
        --skip-download `
        --write-info-json `
        --no-clean-info-json `
        --output infojson:$BaseName `
        --paths $Destination `
        --format "$Format" `
        "$Url"
     
    $Info = Get-Content -LiteralPath $FileInfoJsonPath | ConvertFrom-Json
    $Info.language

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

    Всего записей: 6922 | Зарегистр. 11-02-2020 | Отправлено: 02:45 18-08-2024
    www_world

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

    Цитата:
    Видео требует дальнейшей работы, а какой именно, инфа о видео в json. Лучше заранее узнать о видео инфу, не качая видео.

    Ну так у вас же и будет уже скачанный 00000001.json
    Пропарсите пооучите параметры и скачаете видео по потребности. Чего не хватает? Никак в толк не возьму.
    Цитата:
    Только json устаревают, наверно прямые ссылки на googlevideo тухнут, хз сколько времени живёт, для скрипта хватает с головой.  

    Совершенно верно. Поэтому джейсоны даже подряд скаченные часто неидентичные.
    Поэтому никаких прямых ссылок (кроме подсобных типа эскизов) вы оттуда не возьмете. Только стандартные указатели - формат, описание, тип субтмтров и тд.
    Поэтому и не понимаю всей канители.
    Джейсон нейм равен ссылке, парсим джейсон - если устраивает найденное, то качаем с найденными указателями. На мой взгляд все стандартно или вы скрываете некие секретные и непостижимые тайны.
    Я бы понял, если бы задача стояла сделать зеркало ютюба... но для 100-10000 роликов...

    Всего записей: 544 | Зарегистр. 04-11-2018 | Отправлено: 06:35 18-08-2024
    iNNOKENTIY21



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple
    www_world
     
    youtube-dl | yt-dlp (Часть 2) :: Initialize() [?]

    Цитата:
    Средствами сабжа, а не шелла, типа парсить вывод, генерировать имя…

    Цитата:
    совместно --write-info-json --print id не работает

    Цитата:
    Файл нужен, что бы возобновить быстро загрузку, не качая веб страницу и не парся её во второй, третий… раз, там ещё и паузы, видимо от бана-блокировки… В общем лучше за один проход.
     

    Ну сабж не могёт, дак не могёт.

    Всего записей: 3716 | Зарегистр. 16-08-2012 | Отправлено: 16:58 18-08-2024
    www_world

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

    Цитата:
    Ну сабж не могёт, дак не могёт.

    Сабж тут не при чем. Это особенности Youtube.
    И, считаю, правильные особенности, позволяющие обеспечить равномерность доступа к контенту всем юзерам.
    Если бы в этом вопросе политика была иной, то перманентно возникали бы проблемы с роликами - одни невозможно посмотреть в определенные часы, другие - невозможно посмотреть определенной части юзеров (без всяких блокировок и ограничений) и т.д. и т.п. А какое поле возможностей открылось бы для злоумышленников, существуй прямые постоянные ссылки на медиаконтент - вы даже не можете себе представить: практически ютюбом вертели бы как хотели.
    Например, майкрософт не может быть поставлен в пример - совершенно разные: объем контента, цели и задачи. У мс - несколько независимых каналов доставки своего контента, отсутствует острая потребность "в сию секунду", он сам имеет возможность определять - когда, кому и как и тд. То есть, его модель априори неприменима к ютюбу.

    Всего записей: 544 | Зарегистр. 04-11-2018 | Отправлено: 19:16 18-08-2024
    iNNOKENTIY21



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

    Цитата:
    Сабж тут не при чем. Это особенности Youtube.

    Это особенность сабжа. --write-info-json и --print должны отрабатывать совместно в одной команде, Youtube тут ни причём.
     
    Если качать разные дорожки не делая merge, скажем 3 видео, 3 аудио, надо 6 раз качать и делать разбор страницы Youtube: yt-dlp --format1 url; yt-dlp --format2 url и т.д.. Вместо одного раза?. Я сделаю за один раз, но не средствами сабжа. А было бы удобнее сделать с --write-info-json и --print в одной команде.

    Всего записей: 3716 | Зарегистр. 16-08-2012 | Отправлено: 19:36 18-08-2024
    neorumtu

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

    Код:
    --extractor-arg "youtube:player_client=mediaconnect"

    можно скачать видео со звуком?
    Но только:
    - AVC/AAC
    - Все разрешения, но не выше 1080p включительно
    - Качается фрагментами, опция -g выдаёт ссылку на m3u8 playlist (однако, его можно скормить mpv плееру)
     
    Взято отсюда.
    Достоинство в том, что не нужно объединять видео+звук в ffmpeg, а недостаток, что скачивается фрагментами и только один кодек.

    Всего записей: 884 | Зарегистр. 30-08-2023 | Отправлено: 19:44 18-08-2024 | Исправлено: neorumtu, 19:48 18-08-2024
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iNNOKENTIY21 [?]
    Цитата:
    должны отрабатывать совместно в одной команде

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

    Цитата:
    yt-dlp --format1 url; yt-dlp --format2 url и т.д.. Вместо одного раза?

    зачем если есть запятые?
    yt-dlp -f format1, format2 url
     
    Добавлено:
    neorumtu
    они там ещё для 18+ видосов https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#extractor-arguments
     and tv_embedded, web_creator and mediaconnect are added as required for age-gated videos
     
     
    Добавлено:
    neorumtu
    какие форматы то? девяносто какие-то? это у стримов были такие в hls, они да целиковые всегда были
    это yt-dlp их так выдаёт теперь, в предыдущих версиях и в youtube-dl они есть
    видимо для обычных видосов эти ссылки были всегда для каких то устройств и в yt-dlp их не было добавлено, теперь вот есть ( этого mediaconnect до недавнего времени вроде не было в экстаркторах, я помню там только твэмбедед был для 18+)
     
    Добавлено:
    ну да 3 месяца назад https://github.com/yt-dlp/yt-dlp/pull/9546
    а ещё тут https://github.com/yt-dlp/yt-dlp/commits/master/yt_dlp/extractor/youtube.py видно как часто меняется дефолтные player clients

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

    Компьютерный форум 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-2025

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru