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

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18

Redsmokky

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

_HEDELKA_

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

;-)
В этот раз хочу рассказать как можно легко и непринужденно качать видео с многих (даже очень многих) популярных мировых видеосервисов таких как 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
Сообщения
163
Благодарностей
24
Баллы
18
друзья, не подскажите что за ерунда, качает видео со скоростью 50 кб/секунду.
 

_HEDELKA_

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

;-)
В этот раз хочу рассказать как можно легко и непринужденно качать видео с многих (даже очень многих) популярных мировых видеосервисов таких как 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
Сообщения
21
Благодарностей
1
Баллы
3
Ссори за офтоп.
Есть ли какой-то способ узнать ссылку приватного видео на движке Kernel Video Sharing ?
 

_HEDELKA_

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

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

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

_HEDELKA_

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

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

gugiman

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

DrunkDeath

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

globator

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

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43

Neadekvat007

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

Вложения

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

Duser

Client
Регистрация
11.08.2013
Сообщения
294
Благодарностей
201
Баллы
43
С ютуба не качает. Пишет:
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Пошёл по ссылке, куда послали. Нашёл там вот этот топик: https://github.com/ytdl-org/youtube-dl/issues/31530

В этом топике пишут, что баг солвед и решение тут: https://github.com/ytdl-org/youtube-dl/issues/31530 И далее ссылка на повиксеный релиз тут:


А как весь этот код скомпилировать в exe файл? Я не кодер, этого не знаю. В общем подожду пока готовый экзешник появится на официальном сайте этой приблуды.
 
  • Спасибо
Реакции: nik-n

nik-n

Client
Регистрация
05.11.2016
Сообщения
242
Благодарностей
20
Баллы
18
С ютуба не качает. Пишет:


Пошёл по ссылке, куда послали. Нашёл там вот этот топик: https://github.com/ytdl-org/youtube-dl/issues/31530

В этом топике пишут, что баг солвед и решение тут: https://github.com/ytdl-org/youtube-dl/issues/31530 И далее ссылка на повиксеный релиз тут:


А как весь этот код скомпилировать в exe файл? Я не кодер, этого не знаю. В общем подожду пока готовый экзешник появится на официальном сайте этой приблуды.
тоже перестал качать.
скачал yt-dlp.exe (раньше у меня был yt-dlp_min.exe):
Windows (Win7 SP1+) standalone x64 binary (recommended for Windows)​
у меня заработало.
ссылка на релизы:
 
  • Спасибо
Реакции: Duser и _HEDELKA_

Duser

Client
Регистрация
11.08.2013
Сообщения
294
Благодарностей
201
Баллы
43
у меня заработало.
ссылка на релизы:
Предлагаю другое решение. Зенкой только грабить ссылки на ютуб и складывать их в файлик. А скачивать с ютуба строронней программой: Download Master https://westbyte.com/dm/

Так будет в разы быстрее. DM - многопоточная качалка. Поддерживает докачку. Можно выбрать качество и формат. Мне вот нужен только звук с ютуба. Эта программа умеет конвертировать в mp3. Просто импортируем в него файлик с урлами. И всё, пошёл комбайн.

Кстати, насколько я понял, DM - также использует это проклятущее расширение youtube-dl. И скорее всего, тоже может много откуда качать.
 
  • Спасибо
Реакции: Nick

nik-n

Client
Регистрация
05.11.2016
Сообщения
242
Благодарностей
20
Баллы
18
Предлагаю другое решение. Зенкой только грабить ссылки на ютуб и складывать их в файлик. А скачивать с ютуба строронней программой: Download Master https://westbyte.com/dm/

Так будет в разы быстрее. DM - многопоточная качалка. Поддерживает докачку. Можно выбрать качество и формат. Мне вот нужен только звук с ютуба. Эта программа умеет конвертировать в mp3. Просто импортируем в него файлик с урлами. И всё, пошёл комбайн.

Кстати, насколько я понял, DM - также использует это проклятущее расширение youtube-dl. И скорее всего, тоже может много откуда качать.
руками что ли еще че то делать? не кошерно )
 

Duser

Client
Регистрация
11.08.2013
Сообщения
294
Благодарностей
201
Баллы
43

zennoX

Client
Регистрация
05.04.2014
Сообщения
484
Благодарностей
134
Баллы
43

Duser

Client
Регистрация
11.08.2013
Сообщения
294
Благодарностей
201
Баллы
43
вопрос в том, как обратно в zp получить статус закачки... качается/нет, сколько % и т.п.
Мне это не нужно. Но вообще-то файлы, которые ещё не скачались полностью имеют расширение .DMF. Проверял бы зенкой выходную папку, в цикле, и забирал из неё все файлы, с нормальным расширением (.mp4, .mp3 и т.д.) и делал бы с ними задуманное.
 
  • Спасибо
Реакции: Nick

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