Быстро и просто качаем видео с YouTube и еще примерно 1000 популярных сайтов

Redsmokky

Client
Регистрация
06.10.2015
Сообщения
294
Благодарностей
181
Баллы
43
Вы решили проблему? Можете подсказать каким образом?
Не решил, видео 18+ скачиваю просто через браузер, есть какой-то сервис дает онлайн такие видео качать. Да и вообще почему то скорость скачивания через эту либо очень сильно упала, качаю через веб
 

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
234
Благодарностей
63
Баллы
28
Всем привет, решил запилить вторую статью в этом конкурсе =) в раж вошел =)

;-)
В этот раз хочу рассказать как можно легко и непринужденно качать видео с многих (даже очень многих) популярных мировых видеосервисов таких как YouTube, Vimeo, VK, Odnoklassniki, Xvideos и многих многих других.

Зачем их качать каждый решит для себя сам, в наш век быстрого интернета видеоконтент нужен очень много для чего (для наполнения собственных сообществ в соцсетях, для видеоспама, для рекламы, монтажа и еще кучи всего).

Ладно, не буду ходить вокруг да около. Эта статья посвящена одной замечательной консольной утилите, которая почему то в нашем зенносообществе пока еще не особо известна, но ее возможности в связке с зеннопостером могут съэкономить вам целую кучу времени (а иногда и денег).

Итак, встречайте - youtube-dl - это кроссплатформенная консольная утилита с открытым исходным кодом на Python, которая умеет качать видео с самых популярных сайтов в интернете. И пускай название не вводит вас в заблуждение, просто посмотрите на полный список поддерживаемых сайтов с которых можно качать видео. Их там порядка 1000+. Впечатляет, не правла ли? Там есть все популярные видеосайты мира, куча известных телекомпаний, соцсети и многие другие.

Официальный сайт: https://www.youtube-dl.org/
Последняя сборка для Windows всегда доступна тут: https://www.youtube-dl.org/downloads/latest/youtube-dl.exe

Нам, зенноводам, эта утилита инетерсна именно тем, что мы можем ее запускать из ZennoPoster-а, подставляя нужные нам параметры командной строки.
Для простого скачивания видео с различных сайтов будет достаточно стандартного кубика "Запуск программы", однако youtube-dl умеет не только качать, с ее помощью мы можем получать информацию о том или ином видео в форамате JSON (а для ютуба еще кучу всякой информации - о плэйлистах, их содержимом и тд) и вот для этих целей стандартный кубик нам не подойдет т.к запись STD OUT (того что выводится на экран) в переменную работает пока что мягко говоря не айс (может в новых версиях уже поправили, но у меня на 5.33 нормально не работает).

Так же нужно отметить что для нормальной работы youtube-dl потребуется еще одна популярная консольная утилита - ffmpeg т.к зачастую youtube-dl нужно перекодировать результат или склеить видео и звук ( если вы не в курсе, то тот же ютуб наиная с 1080p отдает видео и аудио отдельно, а не единым файлом ... именно поэтому в большинстве сервисов по скачиванию видео с ютуба вы можете скачать видео со звуком только в 720p, а все что выше уже по отдельности ).

Ладно, утомил наверное уже вас большим количеством букв, давайте перейдем к практическим примерам использования youtube-dl в ZennoPoster.

Демонстрационный пример подразумевает что в директории шаблона лежит так же youtube-dl и ffmpeg

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


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

Посмотреть вложение 46185

Тут нужно понимать, что расширение у конечного файла может быть разным ... мы же качаем все в лучшем качестве и зачастую все это качается по отдельности (видео и аудио) и youtube-dl сам решит в каком контейнере это лучше совместить для лучшего качества. То есть на выходе может получиться mp4 или mkv например. Так же обратите внимание на таймаут, мы все-таки не картинки качаем а видео, соответственно он должен быть большим!

Если мы хотим что бы у скаченного с ютуба видео точно был формат MP4, тогда можно это явно указать

Посмотреть вложение 46186

Качаем видео с нашего любимого ВК. Не знаю можно ли тут выбирать качество (почти уверен что можно), но в макcимальном это делается вот так

Посмотреть вложение 46187

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

Посмотреть вложение 46188

Ну и конечно все это дело не обойдется без манящей клубнички с крeпнейшего прон-сайта мира :-)

Посмотреть вложение 46189

Хотел было еще пронхаб сделать для вас, но видимо он верстку изменил на днях и ютуб-дл его сейчас не осилил, хотя он поддерживается и я сам с него качал для адалт сайтов. Но не беспокойтесь, youtube-dl ОЧЕНЬ часто обновляется, сами понимаете что с таким количеством поддерживаемых сайтов всегда найдется тот кто что-то поменял ;-)

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

Получаем информация о конкретном видео с ютуба в JSON
Посмотреть вложение 46193

заглянув после выполнения этого кода в окно переменных и перйдя на вкладку JSON увидим просто КУЧУ информации об этом видео ... тут есть все - назвние, описание, количество лайков и дизлайков, заставка, тэги и категория, кодеки, прямые ссылки на скачку в разном качестве ... в общеv любителям покопаться будет чем заняться ;-)

Посмотреть вложение 46195

Давайте еще какой-нибудь примерчик рассмотрим. Например получим информацию о всех видео в плэйлисте из первого видеоконкурса шаблонов на зеннолабе (https://www.youtube.com/playlist?list=PLU9NTYia8FliXxgseUqvH6bsyRRZNt2mV)

Посмотреть вложение 46196

в результате в переменной result у вас будут построчные JSON-данные каждого видео из плэйлиста

Посмотреть вложение 46197

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

Что еще хотел добавить. Наверное у некоторых из вас возник вопрос как получить название скаченного файла. Тут если несколько путей.
1) Можно вообще не качать с помощью youtube-dl , а получать JSON, брать оттуда нужную ссылку и просто качать зеннопостером. А можно воспользоваться опцией -o и задать полнуй путь сохранения (указывается вместе с названием файла) если мы точно знаем формат выходного видео.... иначе же можно каждого видео создать временную папку со случайным именем в которую и будем его качать ... в результате единственный фал что там есть и будет вашим ;-)

Вот пример как это сделать:

Посмотреть вложение 46198

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

Zheka84

Client
Регистрация
13.10.2018
Сообщения
149
Благодарностей
23
Баллы
18
друзья, не подскажите что за ерунда, качает видео со скоростью 50 кб/секунду.
 

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
234
Благодарностей
63
Баллы
28
Всем привет, решил запилить вторую статью в этом конкурсе =) в раж вошел =)

;-)
В этот раз хочу рассказать как можно легко и непринужденно качать видео с многих (даже очень многих) популярных мировых видеосервисов таких как YouTube, Vimeo, VK, Odnoklassniki, Xvideos и многих многих других.

Зачем их качать каждый решит для себя сам, в наш век быстрого интернета видеоконтент нужен очень много для чего (для наполнения собственных сообществ в соцсетях, для видеоспама, для рекламы, монтажа и еще кучи всего).

Ладно, не буду ходить вокруг да около. Эта статья посвящена одной замечательной консольной утилите, которая почему то в нашем зенносообществе пока еще не особо известна, но ее возможности в связке с зеннопостером могут съэкономить вам целую кучу времени (а иногда и денег).

Итак, встречайте - youtube-dl - это кроссплатформенная консольная утилита с открытым исходным кодом на Python, которая умеет качать видео с самых популярных сайтов в интернете. И пускай название не вводит вас в заблуждение, просто посмотрите на полный список поддерживаемых сайтов с которых можно качать видео. Их там порядка 1000+. Впечатляет, не правла ли? Там есть все популярные видеосайты мира, куча известных телекомпаний, соцсети и многие другие.

Официальный сайт: https://www.youtube-dl.org/
Последняя сборка для Windows всегда доступна тут: https://www.youtube-dl.org/downloads/latest/youtube-dl.exe

Нам, зенноводам, эта утилита инетерсна именно тем, что мы можем ее запускать из ZennoPoster-а, подставляя нужные нам параметры командной строки.
Для простого скачивания видео с различных сайтов будет достаточно стандартного кубика "Запуск программы", однако youtube-dl умеет не только качать, с ее помощью мы можем получать информацию о том или ином видео в форамате JSON (а для ютуба еще кучу всякой информации - о плэйлистах, их содержимом и тд) и вот для этих целей стандартный кубик нам не подойдет т.к запись STD OUT (того что выводится на экран) в переменную работает пока что мягко говоря не айс (может в новых версиях уже поправили, но у меня на 5.33 нормально не работает).

Так же нужно отметить что для нормальной работы youtube-dl потребуется еще одна популярная консольная утилита - ffmpeg т.к зачастую youtube-dl нужно перекодировать результат или склеить видео и звук ( если вы не в курсе, то тот же ютуб наиная с 1080p отдает видео и аудио отдельно, а не единым файлом ... именно поэтому в большинстве сервисов по скачиванию видео с ютуба вы можете скачать видео со звуком только в 720p, а все что выше уже по отдельности ).

Ладно, утомил наверное уже вас большим количеством букв, давайте перейдем к практическим примерам использования youtube-dl в ZennoPoster.

Демонстрационный пример подразумевает что в директории шаблона лежит так же youtube-dl и ffmpeg

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


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

Посмотреть вложение 46185

Тут нужно понимать, что расширение у конечного файла может быть разным ... мы же качаем все в лучшем качестве и зачастую все это качается по отдельности (видео и аудио) и youtube-dl сам решит в каком контейнере это лучше совместить для лучшего качества. То есть на выходе может получиться mp4 или mkv например. Так же обратите внимание на таймаут, мы все-таки не картинки качаем а видео, соответственно он должен быть большим!

Если мы хотим что бы у скаченного с ютуба видео точно был формат MP4, тогда можно это явно указать

Посмотреть вложение 46186

Качаем видео с нашего любимого ВК. Не знаю можно ли тут выбирать качество (почти уверен что можно), но в макcимальном это делается вот так

Посмотреть вложение 46187

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

Посмотреть вложение 46188

Ну и конечно все это дело не обойдется без манящей клубнички с крeпнейшего прон-сайта мира :-)

Посмотреть вложение 46189

Хотел было еще пронхаб сделать для вас, но видимо он верстку изменил на днях и ютуб-дл его сейчас не осилил, хотя он поддерживается и я сам с него качал для адалт сайтов. Но не беспокойтесь, youtube-dl ОЧЕНЬ часто обновляется, сами понимаете что с таким количеством поддерживаемых сайтов всегда найдется тот кто что-то поменял ;-)

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

Получаем информация о конкретном видео с ютуба в JSON
Посмотреть вложение 46193

заглянув после выполнения этого кода в окно переменных и перйдя на вкладку JSON увидим просто КУЧУ информации об этом видео ... тут есть все - назвние, описание, количество лайков и дизлайков, заставка, тэги и категория, кодеки, прямые ссылки на скачку в разном качестве ... в общеv любителям покопаться будет чем заняться ;-)

Посмотреть вложение 46195

Давайте еще какой-нибудь примерчик рассмотрим. Например получим информацию о всех видео в плэйлисте из первого видеоконкурса шаблонов на зеннолабе (https://www.youtube.com/playlist?list=PLU9NTYia8FliXxgseUqvH6bsyRRZNt2mV)

Посмотреть вложение 46196

в результате в переменной result у вас будут построчные JSON-данные каждого видео из плэйлиста

Посмотреть вложение 46197

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

Что еще хотел добавить. Наверное у некоторых из вас возник вопрос как получить название скаченного файла. Тут если несколько путей.
1) Можно вообще не качать с помощью youtube-dl , а получать JSON, брать оттуда нужную ссылку и просто качать зеннопостером. А можно воспользоваться опцией -o и задать полнуй путь сохранения (указывается вместе с названием файла) если мы точно знаем формат выходного видео.... иначе же можно каждого видео создать временную папку со случайным именем в которую и будем его качать ... в результате единственный фал что там есть и будет вашим ;-)

Вот пример как это сделать:

Посмотреть вложение 46198

Ну и шаблон с этими всеми примерами прикладываю, там каждый кубик это отдельный пример ... напоминаю что в папке с шаблоном должен быть youtube-dl и ffmpeg
Подскажите пожалуйста, выходит ошибка при попытки запуска:
95176


И еще вопрос как скачать не видео, а аудио?
 

Volnov11

Client
Регистрация
15.02.2019
Сообщения
19
Благодарностей
0
Баллы
1
Ссори за офтоп.
Есть ли какой-то способ узнать ссылку приватного видео на движке Kernel Video Sharing ?
 

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
234
Благодарностей
63
Баллы
28
только что проверил именно ту команду что вы процитировали, все нормально скачалось и преобразовалось в mp3
для перекодировки нужен ffmpeg (об этом я так же писал в стартпосте)
Посмотреть вложение 50042
Можете пожалуйста скинуть полностью папку как все устроено для скачивания, так как я закинул ffmpeg.exe и youtube-dl.exe в папку шаблон кубик выдает ошибку просто 1

Вот как я сделал:
97441

Пробовал также:
97442
 

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
234
Благодарностей
63
Баллы
28
Можете пожалуйста скинуть полностью папку как все устроено для скачивания, так как я закинул ffmpeg.exe и youtube-dl.exe в папку шаблон кубик выдает ошибку просто 1

Вот как я сделал:
Посмотреть вложение 97441
Пробовал также:
Посмотреть вложение 97442
я понял почему это не работает, у меня не видео, а сразу музыка, как скачать музыку без конвертации
 

gugiman

Client
Регистрация
04.03.2016
Сообщения
9
Благодарностей
0
Баллы
1
подскажите как проще всего реализовать следующую задачу. есть канал ютуб на который ежедневно выкладывают несколько роликов, как мне получить ссылки на последние ролики?
 

DrunkDeath

Client
Регистрация
24.12.2014
Сообщения
497
Благодарностей
320
Баллы
63
подскажите как проще всего реализовать следующую задачу. есть канал ютуб на который ежедневно выкладывают несколько роликов, как мне получить ссылки на последние ролики?
Спарсить их простым гет запросом на канал с видео.
 

globator

Client
Регистрация
30.03.2016
Сообщения
34
Благодарностей
1
Баллы
8
Ребята, а 50 кб/c это ограничение от разработчика или самого ютуба?
 

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
234
Благодарностей
63
Баллы
28

Neadekvat007

Client
Регистрация
15.10.2018
Сообщения
12
Благодарностей
0
Баллы
1

Вложения

Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)