Продолжение поста «Грузись видео большое и маленькое»

Привет Пикабу!

Спасибо всем, кто принял участие и накидал крутых идей по дальнейшему развитию. Я выпустил новую версию, добавив некоторые из запрошенных улучшений, а именно:

1. Обновление youtube-dl.

Просто кликните на меню "Обновления", выберите пункт "Обновить youtube-dl" и дождитесь окончания.

Продолжение поста «Грузись видео большое и маленькое» YouTube, Скачивание, Видео, Текст, Ответ на пост, Длиннопост

Автоматическую проверку обновлений не стал прикручивать, чтобы она не кинулась обновляться в неподходящий момент, поэтому время от времени тыкайте в кнопку руками, чтобы иметь актуальную версию youtube-dl.


Если у текущего пользователя нет прав на перезапись youtube-dl, то выскочит сообщение об ошибке с предложением запустить программу от имени администратора.

Продолжение поста «Грузись видео большое и маленькое» YouTube, Скачивание, Видео, Текст, Ответ на пост, Длиннопост

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


2. Поддержка drag&drop.

Просто перетащите клип или ссылку в окно программы и она автоматически кинется искать видео.

Тут, правда, есть нюансы. Лиса, например, подложила свинью - в firefox'е в некоторых случаях drag&drop не работает. Не буду утомлять техническими деталями (это связано с отключением UAC). Если вы пользуетесь firefox'ом и drag&drop у вас не работает, но очень хотите, чтобы работал, напишите в комментариях, я расскажу как быть. В остальных браузерах проблем быть не должно. Эта фича, кстати, легко заменяется следующей.

3. Автоматический поиск по ссылке из буфера обмена (включается в настройках, по умолчанию отключен).

Продолжение поста «Грузись видео большое и маленькое» YouTube, Скачивание, Видео, Текст, Ответ на пост, Длиннопост

Когда приложение получает фокус оно смотрит есть ли в буфере обмена ссылка. Если ссылка есть, то она сразу подхватывается и запускается поиск видео. Ссылка должна быть полностью валидным URL. Например, http://site.com это валидный URL, а site.com это не валидный URL и распознан не будет (пикабу парсит оба варианта, суть в том, что у первой есть схема - http:// без нее я парсить ссылки не хочу, чтобы избежать ошибочных срабатываний).

4. Автозагрузка (включается в настройках, по умолчанию отключена).

Продолжение поста «Грузись видео большое и маленькое» YouTube, Скачивание, Видео, Текст, Ответ на пост, Длиннопост

Если включена автозагрузка, то приложение не будет пытаться искать какие форматы видео доступны для скачивания, а сразу пойдет качать заданный формат. Можно использовать или пресет "Лучшее качество" - будет качать ролики в максимально возможном качестве, или задать собственный, например bestvideo[height<=720]. Разумеется, если заданного формата нет то скачано ничего не будет.

5. По умолчанию теперь включена опция --no-mtime (отключить можно в настройках)

Продолжение поста «Грузись видео большое и маленькое» YouTube, Скачивание, Видео, Текст, Ответ на пост, Длиннопост

С ней дата загруженного файла будет не датой изменения ролика на сервере, а фактическая дата загрузки вами файла.

6. Добавлена возможность задать свои опции (включается в настройках, по умолчанию отключена).

Продолжение поста «Грузись видео большое и маленькое» YouTube, Скачивание, Видео, Текст, Ответ на пост, Длиннопост

Для тех, кому надо задать доп опции youtube-dl при скачивании видео. Пометил ее как экспериментальную, чтобы пугала при взгляде на нее, поскольку нет гарантии, что будут заданы правильные и непротиворечащие друг другу опции, которые не сломают все нафиг. Опции будут подставлены сразу перед URLом видео при запуске закачки. По мере возможности буду добавлять галочки с описанием (как с --no-mtime).

На очереди:

1. Загрузка плейлистов.

2. Очередь загрузок.

3. Загрузка заданного фрагмента (например, с 1й по 6ю минуту).

Ссылки.

Windows: https://github.com/engatec/vdl/releases/download/v1.1/vdl-vi...

Windows portable: https://github.com/engatec/vdl/releases/download/v1.1/vdl-vi...

Linux (deb): https://github.com/engatec/vdl/releases/download/v1.1/vdl-vi...

Linux portable: https://github.com/engatec/vdl/releases/download/v1.1/vdl-vi...

MacOS: https://github.com/engatec/vdl/releases/download/v1.1/vdl-vi...

Если выдаёт ошибку при запуске, выполнить команду sudo xattr -cr "/Applications/VDL - Video Downloader.app"

#comment_192698209


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


Jar'ники, если кому надо, можно скачать тут: https://github.com/engatec/vdl/releases/tag/v1.1


Ссылка на исходники есть в оригинальном посте. Но для представителей лиги лени - вот: https://github.com/engatec/vdl :) Хотя если вы дочитали до сюда, то какая вы нахрен лига лени? пишите заявление об исключении по собственному.

Накидывайте в комментах какие еще фичи хотели бы добавить или изменить.

5
Автор поста оценил этот комментарий

Самая классное ПО-открытие последнего времени. Быстро,четко,нет ничего лишнего)

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Спасибо на добром слове. Постараюсь не запороть :)

показать ответы
3
Автор поста оценил этот комментарий

Есть несколько пожеланий:

1. Добавить опцию для вшивания арта внутрь mp3 файла. Это умеет делать сам youtube-dl, опция  --embed-thumbnail но хотелось бы чекбокс чтобы самому не вспоминать.

2. Добавить поддержку внешнего конфига.ydl это тоже умеет, сейчас навскидку не скажу, но есть такая опция. Например накидал длинный конфиг, созранил его и указал программе. Это удобнее, чем все параметры командной строки в узкой строке, файл можно тем же notepad++ редактировать с синтаксисом, цветными скобками и т.п.

3. В идеале конечно добавить больше опций из ydl как гуи, чтобы не вспоминать , например, как же там указать разрешение от 720 до 1080 и только mp4.

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Принято.

1. Добавлю в следующем релизе.

2. Внешний конфиг прикручу. Не факт, что в следующем, но прикручу.

3. Опции буду добавлять потихоньку. Их там гора, все разом добавить это довольно большой объем работы. Пишите самые необходимые, их буду добавлять в первую очередь.

показать ответы
2
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Исправлюсь! Сделаю VIP-релиз с браузером амиго, яндекс баром, майнером биткоинов и сиськами, всплывающими во весь экран во время какой-нибудь важной презентации. Само собой этот спец релиз будет платный, нехер нищебродам таким бриллиантом пользоваться, пусть идут бесплатное говно качают))

Автор поста оценил этот комментарий

На MacOs 10.15.7 ошибку выдает((

Иллюстрация к комментарию
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Интересно, Каталина упорно считает, что файл поврежден и не хочет его открывать :( В гуглах пишут, что это скорее всего связано с настройками безопасности и она таким образом страхуется от приложений из недоверенных источников. К сожалению как это обойти конкретно на Вашей системе я вряд ли подскажу. Можете попробовать поиграть с настройками безопасности (в интернете много статей на эту тему, ищите по фразе "is damaged and can't be opened"). Либо пока забить на программу и дождаться когда (если) я ее в аппстор пульну :)

показать ответы
2
Автор поста оценил этот комментарий

Scavie downloader - звучит!)

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

))) жуткое название. Но если пикабушникам понравится переименую. Мне главное, чтобы работало и работало хорошо, а как называется дело десятое.

показать ответы
Автор поста оценил этот комментарий

На очереди:
1. Загрузка плейлистов.
Вот тут я не понял. Я предыдущей версией спокойно уже выкачал несколько плейлистов ютуба. Просто подсунул ссылку на лист, и скачал. Не знал, что так нельзя.
Что я сделал не так?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

В целом можно, просто VDL их не совсем "честно" поддерживает. Плейлист качается целиком, нет возможности выбрать отдельные ролики из плейлиста. Те форматы, которые он отображает для скачивания берутся из первого попавшегося в плейлисте ролика и все затягивается только потому, что у них format_id одинаковый - youtube-dl по ссылке на плейлист и переданному формату сжирает все что есть. Если у какого-то ролика в плейлисте окажется отличный от других формат этот ролик сейчас скачан не будет.

показать ответы
Автор поста оценил этот комментарий
Пишите самые необходимые, их буду добавлять в первую очередь.

1) Показ скачанных файлов(что, куда, когда), т.к. я скачал пару видео и уже забыл куда их скачал.

2) Если есть возможность, то как-то прикрутить(или отдельную прогу "в комплекте", но что бы в "паке" шло) "перекодировку" скачанных файлов. Т.е. если нет подходящего формата или размера(НАПРИМЕР, мне надо на планшет mp4, а качает только в avi и не ФУУУУЛ ШД 28000на99999) , то что бы не пользоваться сторонним софтом, то жмяк, фигак и все в одной проге сделал.

2,5) Не знаю, это к Вам или к ютуб dl вопрос. Но видите, формат выбрать не возможно(как и аудио), еще и не показывает сколько будет весить. (на скрине показано)

3) Полностью согласен с предыдущим комментатором о:

чтобы не вспоминать , например, как же там указать разрешение от 720 до 1080 и только mp4.

А так, все четенько. Благодарствую. Если еще что-то вспомню\придумаю, то напишу.

Иллюстрация к комментарию
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

1) В смысле историю прикрутить что куда и когда качалось? Сейчас в окне загрузки отображается куда файл качается и в настройках есть пункт куда сохранять файлы.

2) Про перекодировку я уже думал. В комплекте идет ffmpeg, он с этим справится легко, но это пока не в приоритете. Возможно добавлю отдельную категорию в меню, где буду набивать какие-то варианты перекодировки.

2,5) Это, скорее, к владельцам сайтов :) Многие идут на разные ухищрения, чтобы с них не качали, поэтому информация о роликах часто недоступна.

3) Буду наполнять помаленьку :)

показать ответы
1
Автор поста оценил этот комментарий

Автор, привет. Не подскажешь по ютубу - есть какой-то способ заставить ютуб использовать кодек vl09 по умолчанию, для малого канала , видео в 1080? Может, можешь добавить в свою программу такой обход?))

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Так она уже умеет это делать) Надо включить автозагрузку и задать нужный формат. Пока формат задается вручную.

Подумаю как сделать, чтобы не приходилось в документацию к youtube-dl лезть. Это трудно, так как вариантов там может быть вагон и всем не угодишь, но, может, какие наиболее общие пресеты сделаю, а кому нужна более тонкая настройка пусть продолжают задавать руками.

3
DELETED
Автор поста оценил этот комментарий

@DimR, выполни в консоли


sudo xattr -cr "/Applications/VDL - Video Downloader.app"


@scavie, добавь в шапку напротив ссылки для OS X

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Спасибо.


@DimR, отпишитесь помогло или нет. Если помогло попрошу модератора добавить в пост.

показать ответы
Автор поста оценил этот комментарий

Из важного еще - плейлисты и все что с ними связано - выбрать например с 3 по 5 ролики в плейлисте, с качеством не ниже 1080 и звуком m4a с битрейтом таким то, или скачать 2к с 60 фпс, если нет то 30 фпс.

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Плейлисты собираюсь добавить в следующем релизе. Не обещаю, что они сразу будут продвинутые и кастомизироваться на любой вкус и цвет, но со временем есть в планах и такое.

показать ответы
1
Автор поста оценил этот комментарий

Да, все получилось. Огромное спасибо за прогу!

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Супер! Спасибо)

@moderator, товарищ модератор, а можно добавить решение @eugenweissbart в пост к макоси?

показать ответы
Автор поста оценил этот комментарий

1) Да, историю. С возможностью сразу открыть файл, папку и всякую такую полезную чушь(допустим, как на скрине взятого из IDM). Мы, ведь, для других стараемся, а не только для себя :)

2) Можно, даже, какой-то легкий бесплатный плеер присобачить. Что бы была возможность, допустим, глянуть из под WinPe не "отходя от кассы".

3) "Докачивание" при ошибке\сбое возможна? Мало ли, кто-то будет тянуть 10 часовой фильмец, а тут бац и "здрасьте".


P.S. Это я не говорю о первоочередных фичах, но даю повод для размышлений. И да, история не помешает.

Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

1. Ок, историю прикручу.

2. Насчет плеера хз, не хочу превращать программу в комбайн прожорливый. Она и без того вместе с ffmpeg и Java-рантаймом раскабанела больше, чем хотелось бы. Хотя если будет спрос, то можно и прикрутить)

3. Докачка работает "из коробки" средствами youtube-dl. Если что-то прервалось - грузи заново то же туда же в том же качестве и закачка стартанет с прерванного момента.

показать ответы
2
Автор поста оценил этот комментарий

Про обновление - А что если пользователь будет видеть номер текущей версии приложения и номер версии доступной для обновления, а на основании этих данных принимать решение об обновлении ПО.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Да, отображение версий планирую прикрутить со дня на день.

Автор поста оценил этот комментарий

Версия для линуха, какую бы ссылку не скармливал, все равно выдает "Не удалось найти видео :'(" Что делаю не так? ((((

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Загляните в папку ~/.vdl/log там есть файл vdl.log в который летят возникшие ошибки. Если сами не поймете в чем дело - скиньте лог мне, попробую помочь.

Если ссылка правильная и видео существует, то по какой-то причине youtube-dl не отдает информацию об этом видео. В логе должно быть написано почему.

показать ответы
Автор поста оценил этот комментарий

На самом деле можно, но немного костыльно, только первые X секунд, и не совсем точно. Середину в теории можно, но придется с заголовками файла и метадатой воевать.


1. Достаешь youtube-dl'ом ссылку на видос.

2. Курлом тыкаешь в ссылку и получаешь длину ответа.

3. Берешь длину файла, длину видоса, и считаешь сколько байт занимают нужыне тебе, например, 10 секунд.

4. Тем же курлом скачиваешь видос, добавив в запрос заголовок Range с нужным значением.

5. ffmpeg'ом чинишь метадату.


https://unix.stackexchange.com/a/475439

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Битрейт в разных участках может сильно различаться. Высчитывая байты, вероятность пролететь мимо нужного отрезка огромная.

показать ответы
DELETED
Автор поста оценил этот комментарий

Его прога работает на YouTube-dl, а та требует ffmpeg (иначе не может совмещать видео с аудио, если оно разными файлами).

А раз есть ffmpeg, то можно резать файл без перекодирования, по ключевым кадрам).

Другое дело как будет реализовано. Если я хочу вырезать 2 минуты самого начала из 10 часового стрима, будет ли оно качать для этого все 2-3 гига видео? Скорее всего да)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Так и есть - обрезка будет средствами ffmpeg, но сначала придется скачать видео целиком. По крайней мере на первой итерации будет так. Дальше попробую поисследовать эту тему и может удастся написать какой-то свой костыль для выдергивания нужного фрагмента без скачивания файла целиком.

показать ответы
1
DELETED
Автор поста оценил этот комментарий

А кому не определяет формат звука - так и будет оставляться Track 1

раскрыть ветку (1)
Автор поста оценил этот комментарий

Добавил в список.

1
DELETED
Автор поста оценил этот комментарий

Спасибо за программу, наверное это лучшая из того, что я использовал. Всё интуитивно просто, в отличие от некоторых других, где приходилось заморачиваться.
Предложение: раз уж он определяет доступные форматы видео и аудио, сделать в столбце Аудиодорожка автоматический выбор нужной (т.е для видео в webm выбирать первую из списка дорожку в opus, а для mp4 - первую m4a)

раскрыть ветку (1)
Автор поста оценил этот комментарий

С автоматическим подставлением доступных форматов мысль интересная, но проблема в том, что youtube-dl далеко не всегда и не для всех сервисов определяет эти форматы. Можно попробовать сделать автоподстановку для тех, которые определились, а для остальных оставить как есть.

показать ответы
4
Автор поста оценил этот комментарий

Автовыкачивание всего канала, возможно с проверкой на новые видосы. Ну то есть я например не просто подписан, а очень слежу за 2-3 каналами на Ютубе и с нетерпением жду новых роликов. А интернет у меня плохой, в 1080 смотреть не получается. А так, я бы мог смотреть интересующие меня новые видосики в любое время без рекламы, по типу торрента, заранее скачанные без моего участия.

Такая идея. Вам спасибо за вашу инициативу.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ага, подумаю как это лучше реализовать.

показать ответы
Автор поста оценил этот комментарий

Спасибо за ваш труд, Linux portable: если переименовать бинарник , то cfg  тоже нужно , это так задумано ? А так все норм, хотелось бы перехват буфера обмена, удачи.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо.

Да, cfg действительно придется переименовать при переименовании бинарника. Это не так чтобы прям задумано, просто сама программа написана на Java и чтобы она запускалась нативно ей необходима небольшая обертка. Вот упаковщик в эту обертку и связывает имя cfg с именем бинарника. Попробую в будущем эту связь разорвать.


А что по поводу перехвата буфера обмена? Он сейчас умеет ссылки перехватывать (надо включить в настройках). Нужно что-то другое?

показать ответы
Автор поста оценил этот комментарий

Зачем чисто прикладной программке права администратора?

Ставится с правами юзера в домашнюю директорию, там же и свой youtube-dl держит

раскрыть ветку (1)
Автор поста оценил этот комментарий

Все верно. Зависит от того чем и куда устанавливаете. Если используете инсталлятор то, скажем, в линуксе он прогу в /opt ставит, соответственно, у обычного пользователя прав на запись туда нет, апдейт не отработает.

Портабл версию, да, можно поставить в домашнюю директорию и права администратора она уже запрашивать не будет при обновлении.

DELETED
Автор поста оценил этот комментарий

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

Но тогда это уже сомнительно само по себе. Если твоя прога чтоб качать видосики - она должна качать видосики и делать это лучше всех. Нет смысла превращать ее в комбайн, если видео без перекодирования можно обрезать в avidemux)

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

показать ответы