Быстро и просто качаем видео с YouTube и еще примерно 1000 популярных сайтов
В этот раз хочу рассказать как можно легко и непринужденно качать видео с многих (даже очень многих) популярных мировых видеосервисов таких как 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
Для начала будем использовать стандартный кубик запуска внешних программ.
Запустив кубик с такими параметрами в директорию шаблона скачается видео с ютаба в самом лучшем доступном качестве и с самым лучшим доступным аудио.
Тут нужно понимать, что расширение у конечного файла может быть разным ... мы же качаем все в лучшем качестве и зачастую все это качается по отдельности (видео и аудио) и youtube-dl сам решит в каком контейнере это лучше совместить для лучшего качества. То есть на выходе может получиться mp4 или mkv например. Так же обратите внимание на таймаут, мы все-таки не картинки качаем а видео, соответственно он должен быть большим!
Если мы хотим что бы у скаченного с ютуба видео точно был формат MP4, тогда можно это явно указать
Качаем видео с нашего любимого ВК. Не знаю можно ли тут выбирать качество (почти уверен что можно), но в макcимальном это делается вот так
Не забываем и про одноклассников ( я их хоть и не перевариваю, но видео-контента там тоже очень много ... качать не перекачать)
Ну и конечно все это дело не обойдется без манящей клубнички с крeпнейшего прон-сайта мира
Хотел было еще пронхаб сделать для вас, но видимо он верстку изменил на днях и ютуб-дл его сейчас не осилил, хотя он поддерживается и я сам с него качал для адалт сайтов. Но не беспокойтесь, youtube-dl ОЧЕНЬ часто обновляется, сами понимаете что с таким количеством поддерживаемых сайтов всегда найдется тот кто что-то поменял ;-)
Ладно, думаю общий принцип простого скачивания вы уже поняли. Давайте перейдем к не менее интерсным штукам, которые позволяет нам сделать youtube-dl .... здесь мы уже перейдем от стандартного кубика запуска программ к C# коду т.к нам нужно будет получать вывод на экран, а у стандартного кубика с этим есть проблемы.
Получаем информация о конкретном видео с ютуба в JSON
заглянув после выполнения этого кода в окно переменных и перйдя на вкладку JSON увидим просто КУЧУ информации об этом видео ... тут есть все - назвние, описание, количество лайков и дизлайков, заставка, тэги и категория, кодеки, прямые ссылки на скачку в разном качестве ... в общеv любителям покопаться будет чем заняться ;-)
Давайте еще какой-нибудь примерчик рассмотрим. Например получим информацию о всех видео в плэйлисте из первого видеоконкурса шаблонов на зеннолабе (https://www.youtube.com/playlist?list=PLU9NTYia8FliXxgseUqvH6bsyRRZNt2mV)
в результате в переменной result у вас будут построчные JSON-данные каждого видео из плэйлиста
В реальности же возможности youtube-dl намного больше чем я тут описал в статье , с помощью нее можно выкачивать целые каналы и плэйлисты, выкачивать по разным критериям, устанавливать прокси для скачки, ограничивать скорость скачки, качать в разных форматах и тд. В общем читайте доки, курите форумы, разбирайтесь и будет вам счастье.
Что еще хотел добавить. Наверное у некоторых из вас возник вопрос как получить название скаченного файла. Тут если несколько путей.
1) Можно вообще не качать с помощью youtube-dl , а получать JSON, брать оттуда нужную ссылку и просто качать зеннопостером. А можно воспользоваться опцией -o и задать полнуй путь сохранения (указывается вместе с названием файла) если мы точно знаем формат выходного видео.... иначе же можно каждого видео создать временную папку со случайным именем в которую и будем его качать ... в результате единственный фал что там есть и будет вашим ;-)
Вот пример как это сделать:
Ну и шаблон с этими всеми примерами прикладываю, там каждый кубик это отдельный пример ... напоминаю что в папке с шаблоном должен быть youtube-dl и ffmpeg
В этот раз хочу рассказать как можно легко и непринужденно качать видео с многих (даже очень многих) популярных мировых видеосервисов таких как 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
Для начала будем использовать стандартный кубик запуска внешних программ.
Запустив кубик с такими параметрами в директорию шаблона скачается видео с ютаба в самом лучшем доступном качестве и с самым лучшим доступным аудио.
Тут нужно понимать, что расширение у конечного файла может быть разным ... мы же качаем все в лучшем качестве и зачастую все это качается по отдельности (видео и аудио) и youtube-dl сам решит в каком контейнере это лучше совместить для лучшего качества. То есть на выходе может получиться mp4 или mkv например. Так же обратите внимание на таймаут, мы все-таки не картинки качаем а видео, соответственно он должен быть большим!
Если мы хотим что бы у скаченного с ютуба видео точно был формат MP4, тогда можно это явно указать
Качаем видео с нашего любимого ВК. Не знаю можно ли тут выбирать качество (почти уверен что можно), но в макcимальном это делается вот так
Не забываем и про одноклассников ( я их хоть и не перевариваю, но видео-контента там тоже очень много ... качать не перекачать)
Ну и конечно все это дело не обойдется без манящей клубнички с крeпнейшего прон-сайта мира
Хотел было еще пронхаб сделать для вас, но видимо он верстку изменил на днях и ютуб-дл его сейчас не осилил, хотя он поддерживается и я сам с него качал для адалт сайтов. Но не беспокойтесь, youtube-dl ОЧЕНЬ часто обновляется, сами понимаете что с таким количеством поддерживаемых сайтов всегда найдется тот кто что-то поменял ;-)
Ладно, думаю общий принцип простого скачивания вы уже поняли. Давайте перейдем к не менее интерсным штукам, которые позволяет нам сделать youtube-dl .... здесь мы уже перейдем от стандартного кубика запуска программ к C# коду т.к нам нужно будет получать вывод на экран, а у стандартного кубика с этим есть проблемы.
Получаем информация о конкретном видео с ютуба в JSON
заглянув после выполнения этого кода в окно переменных и перйдя на вкладку JSON увидим просто КУЧУ информации об этом видео ... тут есть все - назвние, описание, количество лайков и дизлайков, заставка, тэги и категория, кодеки, прямые ссылки на скачку в разном качестве ... в общеv любителям покопаться будет чем заняться ;-)
Давайте еще какой-нибудь примерчик рассмотрим. Например получим информацию о всех видео в плэйлисте из первого видеоконкурса шаблонов на зеннолабе (https://www.youtube.com/playlist?list=PLU9NTYia8FliXxgseUqvH6bsyRRZNt2mV)
в результате в переменной result у вас будут построчные JSON-данные каждого видео из плэйлиста
В реальности же возможности youtube-dl намного больше чем я тут описал в статье , с помощью нее можно выкачивать целые каналы и плэйлисты, выкачивать по разным критериям, устанавливать прокси для скачки, ограничивать скорость скачки, качать в разных форматах и тд. В общем читайте доки, курите форумы, разбирайтесь и будет вам счастье.
Что еще хотел добавить. Наверное у некоторых из вас возник вопрос как получить название скаченного файла. Тут если несколько путей.
1) Можно вообще не качать с помощью youtube-dl , а получать JSON, брать оттуда нужную ссылку и просто качать зеннопостером. А можно воспользоваться опцией -o и задать полнуй путь сохранения (указывается вместе с названием файла) если мы точно знаем формат выходного видео.... иначе же можно каждого видео создать временную папку со случайным именем в которую и будем его качать ... в результате единственный фал что там есть и будет вашим ;-)
Вот пример как это сделать:
Ну и шаблон с этими всеми примерами прикладываю, там каждый кубик это отдельный пример ... напоминаю что в папке с шаблоном должен быть youtube-dl и ffmpeg