Комментарии 78

У меня почему-то вот так :(
'no_check_certificate': True,
это такая закладка?
Это опция yt-dlp, которая отключает строгую проверку SSL-сертификатов
Угу, и сделано это в качечстве закладки, чтоб подмену сертификатов допускало?
Это стандартная опция yt-dlp для обхода технических проблем с SSL в корпоративных сетях и VPN. Многие пользователи без неё вообще не смогут скачивать видео
Технические проблемы нужно решать, а не безальтернативно подвергать пользователя опасности
зачем в корпоративных сетях yt-dlp?
зачем c VPN подмена сертификатов?
это костыльное решение для редких случаев, которое НЕЛЬЗЯ включать по дефолту навсегда и для всех.
это как предлагать удобные ручки для входной двери -- где кнопочка отключения замка всегда повернута в положение "открыто", и без разбора двери её не вернуть на место :D
Ну не, выбор кодеков — вещь достаточно важная, чтобы без неё GUI оказывался для меня бесполезным
Согласен, для продвинутых пользователей это критично. Текущая версия рассчитана на простые задачи "скачать и посмотреть". Для точного контроля кодеков пока лучше использовать yt-dlp напрямую. Но обязательно добавлю эти настройки в будущих версиях!
Упростить выбор комбинации форматов аудио/видео (говорю про youtube, как минимум) это, наверное, первый и единственный повод городить GUI для yt-dlp -- иначе каждый раз приходится запрашивать таблицу форматов, долго в нее всматриваться и запоминать трехзначные числа. Но и это не повод, потому что в большинстве случаев приемлемый формат скачивается по дефолту.
Вы правда считаете, что пол часа клацать далее-далее-... (это "мастер" когда-то называлось и уже тогда раздражало) это проще и лучше, чем закинуть в консоль линк на видео?
Если для прокачанных юзеров выбор кодеков критичен, оставьте терминал, там и проще и всё под контролем. А GUI, чтобы не париться всякой таблицей и цифрами, чтоб "вставил линк — нажал кнопку — качай". Текущая версия для быстрого "сделал дела", дальше добавим фич по просьбам. В идеале "от простого к сложному", чтобы не перегрузить интерфейс и не зарезать юзабильность
чтобы проверить работу на MacOS нужны файлы для Мака или brew формула. Вряд ли кто-то будет заморачиваться собирать из сорсов.
Я попробую, но не обещаю
Но блин, каждый раз набирать команды в консоли - это не для всех.
Я создал файл конфигурации с типовыми параметрами, создал bat-ник типа
C:\programs\yt-dlp.exe --config-location "C:\etc\yt-dlp.cfg" %*
Назвал его yt.bat, добавил его директорию в переменную %PATH%.
И теперь для загрузки видео достаточно нажать Win+R, cmd, yt $URL. Не сложно, работает быстро.
Да, для тех кто дружит с командной строкой - это идеальный вариант! Мой GUI рассчитан на тех, кто не хочет разбираться с конфигами и bat-файлами - просто вставил ссылку и скачал
Для обычных случаек в папке лежит несколько батников типа "video720", "video1080", "video1440", "sound" дабы не заморачиваться лишний раз. Рядом лежит конфиг для yt-dlp с общими настройками. А если нужно что-то более нестандартное, то просто из командной строки вызываю с параметром -F и дальше качаю чего надо.
Попросил нейронку на питоне написать обвязку для yt-dlp. Сработало с первого раза, даже с ютуба в 720p само со звуком склеивает. Сказал - "спасибо, работает". Оно ответило - "приятно, что пользователь похвалил. За эту похвалу добавлю в скрипт вывод в консоль всяких юникодных символов для красоты, вроде пикторамм Ок и Еггог" )
За эту похвалу добавлю в скрипт вывод в консоль всяких юникодных символов для красоты, вроде пикторамм Ок и Еггог"
Я недавно зареджектил MR от одной из своих команд. Разработчик в промпте попросил сделать красивый код и ChatGPT в логи сделал вывод с emoji - ну там Сердечки выводит, ключики, в ошибки кокашулек понаставлял.
В общем от души сделал по красоте. Но MR пришлось зарезать, да.
Чёт нейронка заюзана, прям продакшен-уровень скриптового гопника)
Можно ли добавить скачку субтитров с выбором языка!? Спасибо.
под Linux (Ubuntu 24) работает. доставил пакет secretstorage и все (not found in requirements.txt). (запускал from source)
Как я написал современный GUI для yt-dlp на Python
Круто! Только, без вэпээна, похоже, не работает. Тогда, чем это лучше «4K Video Downloader»?
Насчет интерфейса. Поскольку я сторонник C++ / WTL, то писал бы интерфейс на нем. А обработчики Питона там вполне можно реализовать. Может быть, если появится время, попробую сделать «приплюснутый» форк вашего пет-проекта… :)
Да, без VPN YouTube иногда капризничает - это ограничение самого yt-dlp, не моего GUI.
Преимущества перед 4K Video Downloader:
бесплатный и open source;
поддерживает больше сайтов (не только YouTube);
использует актуальный yt-dlp движок;
можно кастомизировать под свои нужды.
По поводу C++/WTL - интересная идея! Будет круто посмотреть на такой форк. Python выбрал для быстрого прототипирования, но нативный интерфейс определённо был бы быстрее
Ну, если мы пользуемся вэпээнами, то, почему нельзя репаками? По крайней мере, меня, для поиска обучающих видео, Ютуб и «4K Video Downloader» – вполне устраивают.
Будет круто посмотреть на такой форк.
Идея ваша мне понравилась. Поэтому, как закончу свой текущий проект (подготовка статьи, здесь на Хабре: «Как из одного французско-английского обучающего видео сделать два: французско-русское и англо-русское, а также данные к моей обучающей программе: https://habr.com/ru/articles/848836/ ?»), то, вполне можно будет заняться форком вашего проекта. Если что-то получится, то дам знать, в виде комментария, здесь.
«4K Video Downloader» под впном не работает. Потому что в нём нужно логиниться в ютуб.
«4K Video Downloader» под впном не работает. Потому что в нём нужно логиниться в ютуб.
Не нужно никуда «логиниться» (если, только, не требуется приватное видео). Я, на новых Российских территориях, вообще не могу войти в свой аккаунт на Ютубе, ни под вэпээном, ни без него. Просто, украинский префикс моего телефона изменился на русский, а для Ютуба это как «красная тряпка» для быка. А, вот, под вэпээном, «4K Video Downloader» качает без проблем, в том числе, субтитры всякие разные, хотя толку от них не много, все равно, глюкавые ибо основаны на кривом ютубовском распознавании речи.
Может это сейчас так работает, я не проверял. Но год назад это точно работало так, как я написал. Хотя нет, это и сейчас не работает. yt-dlp у меня не качает под внп без "--cookies-from-browser firefox".
Я тоже проверил, «4K Video Downloader» субтитры качает, но видео не хочет. В меню "О программе", выдает, что поддержка программы заканчивается 1 февраля 2025 года. А я с тех пор ничего не качал. Так что, да, нужно искать альтернативу...
Тут в соседней ветке говорят, что на Delphi нужно было писать: https://habr.com/ru/articles/928810/
Не рассматривали? Т.к. экран у вас простой, а логика - дернуть консольную утилиту, то (по комментариям из приведенного треда) у вас на все должно было пару дней уйти включая изучение нового языка...
Если проект простой, не вижу смысла тащить новую железяку ради пару дней пилежа. Лучше батник забашить и спринтить, чем впаиваться в незнакомый стек ради микропрофита
Простой. Да. Вот цитата из статьи:
Работает везде - Windows точно, остальные ОС в планах
Не требует установки - скачал exe и пользуешься
В случае с Delphi вы получаете сразу бинарьне только под Windows, но и под другие ОС.
Времени потратили на разработку столько же, даже не зная Delphi. Ибо кода там кот наплакал, а интерфейс накидывается мышкой.
Вы поймите меня правильно. Я не троллю, просто вышел от стоматолога и мне очень хочется с кем-то разделись свою боль :)
Просто не думаю, что Python хороший выбор для кросс-платформенного GUI.
Python качественно такой же выбор, как и любой другой скриптовый язык типа JS. Вопрос в GUI библиотеке с низкоуровневыми биндингами
у python сложнее сделать единый исполняемый файл не требуемый интерпретатора в системе. особенно если GUI хочется.
так там уже интерпретатор пакуют в exe шник ;) Да, много выходит по размеру, но зато надежно
А для Mac OS, а под Linux с его зоопарком?
Я раньше tcl/tk использовал с таким же упаковщиком для написания подобных туловин.
И Питон уважаю, но все таки он не самый лучший выбор в данном случае, имхо.
Топикстакртер, конечно, молодец, но если вам лень открывать консоль по пустяковому поводу, то просто можно установить терминал в стиле quake, выпадающий сверху экрана по нажатию клавиши.
Лично у меня это yakuake по win+tab, но альтернативных решений вагон: Tilda, Guake. Даже для винды есть какое-то решение. Это суперудобно. Там можно дёргать yt-dlp
, bc
, units
и много другого.
Тема действительно классная для быстрого вызова консоли. Но если хочется ещё проще и с хорошим юзабилити, можно сделать скрипт или батник с нужными командами и добавить его в PATH. Тогда запускать нужные задачи можно из любого терминала без лишних программ, особенно если эти задачи повторяются
Я в KDE делаю так: открываю в Dolphin нужную папку, нажимаю F4 - у Dolphin снизу выезжает терминал, в него вбиваю yt-dlp со ссылкой, потом опять F4. Быстро и удобно.
В стиле квейк? А в стиле дум есть?
Metube отлично качает
Так есть же божественный TarTube. Тоже на питоне, тоже кроссплатформенный.
Вы молодец и всяческих вам успехов, но GUI на Python это сразу нет, лично для меня :)
https://github.com/engatec/vdl
Поддержка прокси прямо из приложения очень сильно спасает.
много их. но все они бесполезны, если yt-dlp не работает. а у меня он не работает, например, хотя браузер прекрасно всё показывает.
Если yt-dlp не пашет, значит либо ресурс поменял движок, либо твой yt-dlp устарел. Браузер-то умеет нормально рендерить, а yt-dlp — парсить и качать как скрипт, тут нужны регулярные апдейты и патчи
Есть такая репа с батниками, с кучей предметов под разные нужды, запустил пресет, вставил ссыль, кайфуй:
https://github.com/KnightDanila/BAT_FFMPEG
Было бы здорово если ГУЙ имел пресеты, а мастер второстепенно.
То же на yt-dlp https://maks-mk.github.io/

Автор навайбкодил себе "современный" GUI в далеко не самой оптимизированной библиотеке на Python, сгенерировал статью в ChatGPT, даже без попытки что-либо сделать нормально, и выставил за "свою" работу. Браво.
Как я написал современный GUI для yt-dlp на Python