Как скачать видео с youtube на PHP?
как скачать видео с youtube на PHP? нужен класс (или фрагмент кода), который описывает, как это сделать. Спасибо.
- Вопрос задан более трёх лет назад
- 3959 просмотров
4 комментария
Простой 4 комментария
Гугл отключили за неуплату?

Манучехр Жалолов @kinglostov Автор вопроса
JhaoDa, Как бы искал увы только мусор либо готовые решение((

Манучехр Жалолов @kinglostov Автор вопроса
SmInc, а что-то не правильно понимаю тут нужен ООП и много чего вот спрашиваю у всех кто знает
https://jsfiddle.net/350D/uq1vvavf/
Тут можно посмотреть как они получают ссылку () и перевести в php
Решения вопроса 0
Ответы на вопрос 2
Компьютерный псих
Ответ написан более трёх лет назад
Нравится 11 8 комментариев

Манучехр Жалолов @kinglostov Автор вопроса
Андрей Буров здравствуйте, а как можно использовать youtube-dl-php БЕЗ КОМПОЗЕРА? ситуация требует этого((
Манучехр Жалолов, вручную скачать.

Манучехр Жалолов, можно, документация РНР ответит на этот вопрос.

Манучехр Жалолов @kinglostov Автор вопроса
Андрей Буров, скачаю архив, далее так
require ‘src/YoutubeDl.php’;
??

Дмитрий @slo_nik Куратор тега PHP
здравствуйте, а как можно использовать youtube-dl-php БЕЗ КОМПОЗЕРА?
Можно, но в composer.json прописаны зависимости.

Манучехр Жалолов @kinglostov Автор вопроса
slo_nik, мне что все библиотеке скачать?

Дмитрий @slo_nik Куратор тега PHP
Манучехр Жалолов, не знаю, возможно что да, не зря же они указаны в файле.
batyrmastyr @batyrmastyr
Манучехр Жалолов, если можете установить youtube-dl (без окончания php) — ставьте и качайте им, соорудить над ним обёртку дело нехитрое. Но зависимостей у него много — сейчас ютуб отдельно отдаёт видео, отдельно звук и это добро ещё нужно соединить воедино.
1 Сначала имитируем браузер через curl, причем если раньше кое как то сейчас точно.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
youtube.com/get_video_info?video_id=e0UWT0dFSQE
через print_r
2 Раньше после первого захода получали ссылку в заголовке через print_r
Там лежали ссылки на видео разных форматов, теперь надо два захода.
Сейчас нету.
В общем может кто ещё этим занимается, очень муторно воевать с ютубом.
Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- PHP
- +1 ещё
Как из разных word документов собрать все таблицы (средствами PHPOffice/PHPWord) с заданным названием и сохранить в один файл?
- 1 подписчик
- 17 минут назад
- 12 просмотров
Как спарсить видео с ютуба php
Только авторы youtube-dl вроде бы забросили разработку (по крайней мере, активно проект вроде давно не развивается), поэтому раз уж вы с нуля начинаете и у вас ещё нету массы запутанных скриптов, то лучше наверное использовать форк под названием yt-dlp.
(2) качает только видео доступные всем, доступные только по ссылке не качает
не могу найти у него нужную опцию
(5) сделать видео доступное всем, скачать и закрыть обратно?
(6)+ Или попробовать —cookies-from-browser у yt-dlp
(0) через «Творческая студия» — «Контент», далее качаешь все что хочешь.
(7) не вариант
(6) спасибо за ссылку
пока застопорился на «Make sure the cookies are properly formatted with the curl tool»
Here is what eventually worked for me.
1. Install EditThisCookie plugin for Chrome (Chromium in my case)
2. Set the cookie export format to Netscape HTTP Cookie File
Log into YouTube
3. Export the cookies into a file for the domains https://youtube.com, https://accounts.google.com and https://www.google.com
4. Make sure the cookies are properly formatted with the curl tool
5. Download your video using the —cookies flag
я так понимаю, что куку со всех трёх ULR слить в один файл?
youtube-dl.exe —cookies «D:\Downloads\youtube.com_cookies.txt» [myURL]
«Не является приложением Win32»
(12) вариант в (9) пробовали? я свое видео всё уже так скачал вчера.
(13) У меня там почему-то недоступно
(8) Прекращена работа программы «Программа сортировки»
D:\Downloads\2>yt-dlp.exe -cookies-from-browser [myURL]
[youtube:tab] ХХХХХХХХХХХХХХ: Downloading webpage
[download] Downloading playlist: ХХХХХХХХХХХХХХХХХ — Videos
[youtube:tab] playlist ХХХХХХХХХХХХ — Videos: Downloading 1 videos
[download] Downloading video 1 of 1
[youtube] ХХХХХХХХХХ: Downloading webpage
[youtube] ХХХХХХХХХХ: Downloading android player API JSON
[info] ХХХХХХХХХХ: Downloading 1 format(s): 243+251
[download] Destination: okies-from-browser.f243.webm
[download] 100% of 34.48MiB in 00:07
[download] Destination: okies-from-browser.f251.webm
[download] 100% of 30.05MiB in 00:03
[Merger] Merging formats into «okies-from-browser.webm»
Deleting original file okies-from-browser.f243.webm (pass -k to keep)
Deleting original file okies-from-browser.f251.webm (pass -k to keep)
[download] Finished downloading playlist: ХХХХХХХХХХХХХХХ — Videos
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
Youtube-dl, качаем видео с ютуба и не только.
но сделать это не так просто, как бы того хотелось, поскольку владельцы подобных площадок ограничивают и блокируют саму возможность скачивания контента как на компьютер или ноутбук, так и на мобильные устройства. обусловлена такая политика несколькими факторами, такими как требования законодательства об авторском праве и соблюдение интересов рекламодателей. но не всегда удобно смотреть двухчасовой фильм сидя за компьютером, а зрелищное спортивное состязание на экране мобильного телефона. и тут на помощь приходят специальные утилиты для скачивания видео. их не так мало, но не все они хороши, и тем более для незрячих. наиболее удобной и качественной является консольная утилита youtube-dl. эта утилита разрабатывается группой испанских энтузиастов, часто обновляется, имеет широкие возможности, а также поддерживает широкий круг видеохостингов и соцсетей, включая даже вконтакте. в этой статье мы рассмотрим наиболее полезные для повседневного использования функции программы.
Установка
Youtube-dl доступна в репозиториях большинства дистрибутивов линукс, а также доступна для windows и mac os. Для установки нужно выполнить стандартную для вашего дистрибутива команду:
sudo apt install youtube-dl sudo dnf install youtube-dl sudo pacman -s youtube-dl
также утилита доступна в python-pip. Для установки из данного источника установите стандартной для вашего дистрибутива командой python-pip и выполните команду:
sudo pip install youtube-dl.
примечание: для работы утилиты требуется интерпретатор python 2.6, 2.7 или 3.2.
Скачивание отдельных видео
для того чтобы скачать понравившееся видео, нужно в браузере скопировать на него ссылку, а затем в терминале выполнить:
youtube-dl и через пробел без всяких дополнительных символов вставить скопированную ранее ссылку.
видео будет загружено в домашнюю папку. к слову скажу, что я так и не нашёл способа изменить папку для загрузки.
Управление форматами
Как известно, многие видео на ютубе доступны в нескольких форматах с разным качеством. Для просмотра всех доступных форматов используется опция —list-formats . В данной ситуации команда принимает вид: youtube-dl —list-formats ссылка на видео . Для выбора понравившегося формата используем -f и номер данного формата, допустим: youtube-dl -f 5 ссылка на видео . С практической точки зрения для незрячего данный метод крайне неудобен, поскольку при применении —list-formats скринридер выдаёт большое колличество информации, которое крайне трудно запомнить и усвоить, приэтом произносится много лишнего, как то специальные символы и т.п. в таком случае лучше всего скачивать либо по умолчанию, либо использовать опции bestvideo или bestaudio: youtube-dl -f bestvidio ссылка на видео , youtube-dl -f bestaudio ссылка на видео .
Скачивание плей-листов
скачивание плейлистов по умолчанию осуществляется также, как и отдельных видео, но имеет гораздо больше опций. -i игнорирует ошибки и недоступные в плейлисте видео: youtube-dl -i ссылка на плейлист . -r ограничивает скорость закачки. доступна как для одиночных видео, так и для плейлистов: youtube-dl -r 500k ссылка на видео , youtube-dl -r 2m ссылка на видео . как видно на данных примерах, после -r указывается скорость ограничения загрузки: в первом случае до 500 килобайт, во втором до двух мегабайт. очень удобной опцией при скачивании плей-листов является —pleylist-items , которая позволяет выборочное скачивание роликов в плей-листе. есть два варианта использования: 1. приводим индексы выбранных видео через запятую: youtube-dl —pleylist-items 1,3,5,8 ссылка на видео . 2. если нужно скачать несколько роликов подряд, а потом несколько пропустить, то используются диапазоны: youtube-dl —pleylist-items 1-6,8,9,10-15 ссылка на видео . также есть возможность скачивать видео по определённой дате: —data , databefore , —datafter . например нам нужно скачать все видео из определённого плейлиста за дату восьмое марта 2020 года. команда в данном случае будет иметь вид: youtube-dl —data 20200308 ссылка на плейлист . —databefore скачивает все видео до указанной даты включительно, а —datafter скачивает видео после таковой, тоже включительно.
Конвертация в аудио
youtube-dl позволяет конвертировать скачиваемые видеоролики в популярные аудиоформаты. приведём пример команды для скачивания видео сразу в формате mp3, наиболее популярном среди пользователей: youtube-dl -x —audio-format mp3 ссылка на видео или плейлист. помимо mp3 доступны acc, flac и т.д. примечание: для конвертации в аудио нужны: ffmpeg или avconv и ffprobe или avprobe.
Графический фронтенд для youtube-dl
помимо консольной версии youtube-dl существует её графическая версия youtube-dlg. программа имеет графический интерфейс и большое колличество настроек, но не имеет русского языка. к тому же в официальных репозиториях этой утилиты как правило нет. если вы желаете с нею ознакомиться, то выполните следующие действия: sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt-get update sudo apt-get install youtube-dlg набор команд приведён для дебианоподобных дистрибутивов, но пользователи дистрибутивов с пакетной базой rpm, а также арчеподобных, легко интерпритируют данный набор команд под себя.
Заключение
youtube-dl- очень многогранная и гибкая утилита с огромным функционалом. в этой статье мы рассмотрели лишь самые основные и востребованные опции, применимые для среднестатистического рядового пользователя с учётом его потребностей. я искренне надеюсь что статья вам понравится, а главное будет полезной.
Как скачать видео с YouTube с помощью youtube-dl и PowerShell
Меня тут попросили помочь скачать несколько видео с YouTube. То ли онлайн-сервисы не справлялись, то ли еще что — не суть важно. Усложнять процесс дальше копирования ссылки на видео в буфер обмена было нежелательно, но в выборе инструментов меня ничто не ограничивало.
Я не раздумывая выбрал youtube-dl и PowerShell:
youtube-dl.exe $(Get-Clipboard)
PowerShell подставляет URL из буфера обмена в качестве параметра youtube-dl (о прочих параметрах чуть ниже). Путь к утилите нужно указать полностью или прописать в PATH. Команду я поместил в CMD-файл, чтобы не менять политики скриптов, а закачку можно было запускать одним щелчком.
powershell -ExecutionPolicy Bypass -noprofile -command youtube-dl.exe $(Get-Clipboard)
Все работало, но сразу проявился нюанс. Если видео проигрывается из плейлиста, то он выкачается целиком, что по условиям моей задачи было нежелательно. В этом случае URL ролика имеет примерно такой вид:
Можно разбить строку с помощью метода .NET split(), используя в качестве разделителя амперсанд.
youtube-dl.exe $(Get-Clipboard).split('&')[0]
Теперь в качестве параметра утилите передается только та часть URL, которая предваряет амперсанд. На этот вариант жалоб не поступало, и я счел задачу решенной.
Здесь я хочу передать привет Василию Гусеву. Еще в 2008 году он опубликовал в своем блоге запись про Join и Split, и она идеально подходит к этому посту в качестве дополнительного материала.
Запись не столько про скачивание видео с YouTube, сколько про PowerShell — работу с буфером обмена, разделение строки и выполнение отдельных команд PowerShell без ограничений политик. Обособленный вызов команд требуется достаточно часто, и вот недавний пример из форума в контексте запуска из планировщка.
В youtube-dl лучшее качество видео и аудио достигается раздельной загрузкой потоков и объединением их в файл, например, с помощью утилиты ffmpeg, помещенной в PATH. Это стандартное поведение youtube-dl, т.е. достаточно только указать URL.
youtube-dl URL
Читайте также комментарии — там много полезных советов.
Метки: PowerShell, ускорение Информация в статье применима к Windows 10 и новее
Об авторе
Вадим — владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.
Вас также может заинтересовать:
- PowerShell: как массово добавить к имени файлов имя их родительской папки
- PowerShell: как извлечь список уникальных ссылок с веб-страницы
- sudo и resudo в PowerShell
- PowerShell: парсинг веб-страниц и загрузка файлов с Invoke-WebRequest
- В каких случаях при запуске программы не надо указывать полный путь к ней
Я в Telegram
Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.
комментариев 29

↓
-
nett00n10.06.2019 в 09:21
К опенсорсному youtube-dl есть не менее опенсорсная обертка на питоне youtube-dl-gui
Сам пользуюсь терминальным вариантам, но родетелям и нормальным людям — рекомендую стовить гуи.
Но решение на поше красивое, да.
Ваша оценка:
0
Да, я видел обертку, но решил отложить ее на случай, если мое решение не сработает или нужно будет больше опций загрузки. А ты не смотрел, как она разруливает вопрос с URL из плейлиста? Целиком плейлист качает?
Ваша оценка:
0
Есть вот такой параметр —no-playlist
—no-playlist Download only the video, if the URL refers to a video and a playlist.
Ваша оценка:
+1
Отлично, спасибо! Я решал задачу с PowerShell, ключи утилиты не копал 🙂
Ваша оценка:
0
Проблема чаще не скачать — а получить этот прямой URL на единый видеофайл. Но это больше не к Ютубу а к vimeo и другие сервисы Иногда стоят плееры на сайтах у которых на входе берется playlist в котором 200-600 мелких файликов которые показываются этим плеером как одно видео.
Пока такие вещи хорошо цепляет Internet Download Manager — но он платный, но работает А на сайте foxford купленные курсы для детей вообще извращенно представлены. Видео идет без звука, а звук встроенный на сайте плеер отдельным потоком подмешивает.
Поэтому покупаешь не дешевые курсы и посмотреть их нигде кроме онлайна не можешь.
Так как скачивается только молчаливое видео.
Ваша оценка:
+1

- BuSH 10.06.2019 в 14:54
Ютьюб также отдельно вещает видео и аудио начиная с FHD. А мелкие файлы часть стандарта dash.
Всё это стандартно лет 6+ и любая софта для скачки имеет при себе ffmpeg для смешивания аудио и видео. В хром маркете есть много расширений для скачки dash потоков. Уверен на 99.9%, что они отлично скачают Ваши курсы.
Ваша оценка:
0
By default youtube-dl tries to download the best available quality, i.e. if you want the best quality you don’t need to pass any special options, youtube-dl will guess it for you by default.
Как правильно выбирать формат https://github.com/ytdl-org/youtube-dl#format-selection
# Download best mp4 format available or any other best if no mp4 available $ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' # Download best format available but no better than 480p $ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' # Download best video only format but no bigger than 50 MB $ youtube-dl -f 'best[filesize<50M]' # Download best format available via direct link over HTTP/HTTPS protocol $ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]' # Download the best video format and the best audio format without merging them $ youtube-dl -f 'bestvideo,bestaudio' -o '%(title)s.f%(format_id)s.%(ext)s'
Ваша оценка:
+2
Что значит неправильная? Для моей задачи -best подходил. Для своих выбирайте сами.
Ваша оценка:
0

BuSH 10.06.2019 в 14:44
Вчера я встретил комментарий к одной качалке «HDR с ютутба не качает». Уже хотел искать где у меня завалялся youtube-dl, но ещё быстрее решил вопрос с изъятием темпа у обычного проигрывателя умеющего выбирать поток.
Что если для некоторых видео не нужен «best»? Сейчас и 8к можно встретить а потом думать как его воспроизвести 🙂 З.Ы. Интересно что выберет best в этих hdr видео 🙂
Ваша оценка:
0

- BuSH 10.06.2019 в 15:05
аааа… best загружает эту 720-ку где аудио и видео ещё не разделено на отдельные потоки. best: Select the best quality format represented by a single file with video and audio. Тогда обычный JS скрипт от savefrom прямо под видео в один клик скачивает эту 720-ку. Для пользователя это гораздо проще.
Ваша оценка:
0
BuSH: Что если для некоторых видео не нужен «best»?
Не указывать этот ключ или указывать тот, который нужен, создавать разные команды и тд.
BuSH: Тогда обычный JS скрипт от savefrom прямо под видео
Ваша оценка:
0

- BuSH 10.06.2019 в 16:03
Скрипт для браузеров от портала savefrom.net. Ставится через Tampermonkey/Greasemonkey/Violentmonkey. Поддерживает огромное количество всяких хостингов. В браузере появляется кнопка скачки под видео или как поп-ап. До даша на ютьюбе был самой популярной качалкой а в вк музыку и по сей день этой штукой качают.
Сейчас в нем можно напрямую скачать только отдельные потоки: по 720 с аудио+видео, выше только поток видео без звука или отдельно звук в ac3/ogg. Так же этот скрипт запускает свою отдельную софту качалку Ummy, которая ffmpeg’ом миксует хоть FHD, хоть UHD, хоть ogg в mp3.
Но для этой 720-ки достаточно только скрипта https://i.imgur.com/3ggHRKU.png
Этих потоков там сейчас ужас сколько, вот пример с UHD HDR HFR видео https://i.imgur.com/4zyxCOr.png
Ваша оценка:
+1
Спасибо, возьму на заметку. Пригодится, если хотелки вылезут за пределы моего решения.
Ваша оценка:
0
Vadim Sterkin: создавать разные команды и тд.
C этого обычно и начинается бардак в скриптах. И это повод при случае показать, как в PS удобно реализовать запрос вариантов.
Vadim Sterkin: Для моей задачи -best подходил.
Полностью уверены?
Весь список потоков можно увидеть youtube-dl -F (ключ регистрозависимый).
Ваша оценка:
0
1. Меню в пошике делается несложно. Решение зависит от задачи и/или заказчика. Как-нибудь покажу, если практическая задача возникнет. 2. Уверен. Там не нужно было макс. качество, но нужно было видео+аудио. Можно было экспериментировать дальше, ffmpeg и тд. В любом случае, это уже вопрос ключей утилит. Я лишь показал простой прием пошика — решил задачу за 5 минут и дальше пошел.
Ваша оценка:
0

Сергей Миннигалиев10.06.2019 в 15:49
Подскажите, а как можно скачать видео с ok.ru с докачкой? Браузер с расширением savefromnet прекрасно качает, но, если закачка прерывается, то сами понимаете, приходиться качать сначала. А с помошью какой качалки/метода можно качать с докачкой? Спасибо.
Ваша оценка:
0
Я тоже про powershell — записал в виде скрипта установку локального сервера (Apacne+MySQL+PHP+phpMyAdmin)/
Споткнулся на продолжении после перезагрузки.
Единственный вариант который нашел — перед перезагрузкой создать еще один скрипт разовую задачу для его запуска и после выполнения удалить.
Умнее ничего не бывает?
Ваша оценка:
0
Нормальный вариант. Я бы создавал задание планировщика.
Ваша оценка:
0

Леонид Сохарев10.06.2019 в 21:22
Я по поводу как скачать видео с You Tube. Пользуюсь программой Download Master. Интегрируется с браузером(устанавливается расширение), поддерживает докачку, из плей- листа можно скачать любой файл. Скачать можно в любом качестве, а также только аудио без видео.
Ваша оценка:
+1

Рустам Шарафутдинов10.06.2019 в 21:42
Так и не получилось скачать видео с ютубе в максимальном качестве через связку youtube-dl и PowerShell 720p качает, при том что 1080 есть.
Ваша оценка:
0
А при чем тут PowerShell? Даже выше написали, что для максимального качества нужно тянуть отдельно лучшее видео и лучшее аудио и смешивать с помощью ffmpeg или аналога.
youtube-dl —ffmpeg-location D:\ffmpeg URL
Я дополнил статью, а то многих мой ключ смутил, я смотрю 🙂
Ваша оценка:
0
ffmpeg не нужен, youtube-dl сам всё склеивает,
Vadim Sterkin: Для моей задачи -best подходил. Для своих выбирайте сами.
с этой командой берётся лучший из готовых файлов, если нужно сразу в плеер отправлять не сохраняя, чего вы не делали.
Просто не нужно изобретать велосипед, если остальные будут за вами потом повторять.
Ваша оценка:
0
Artem Selifontov: Просто не нужно изобретать велосипед, если остальные будут за вами потом повторять.
Спасибо за наставления. Пожалуй, я недооценил тот момент, что мне интереснее PowerShell, а читателям — youtube-dl 🙂 Я убрал упоминание ключа -f best из статьи.
Artem Selifontov: ffmpeg не нужен, youtube-dl сам всё склеивает,
Да, но есть нюанс. Если не указывать ключи:
• без ffmpeg свалится к лучшему готовому файлу
• с ffmpeg достигается наилучшее качество
youtube-dl uses -f bestvideo+bestaudio/best as the default format selection (see #5447, #5456). If ffmpeg or avconv are installed this results in downloading bestvideo and bestaudio separately and muxing them together into a single file giving the best overall quality available. Otherwise it falls back to best and results in downloading the best available quality served as a single file
Ваша оценка:
+2

BuSH 11.06.2019 в 00:57
best замените на:
-f bestvideo+bestaudio
+ значит, что софта будет тянуть отдельно потоки и смешивать сторонней утилитой ffmpeg. Путь к ней обязательно добавить в PATH винды. Или путь указать как писал Вадим, но проще один раз в path добавить. параметром
-F url
можно вывести весь список доступных потоков и использовать код потока
-f 137+bestaudio
это будет самый стандартный 1080 в h264 кодеке и контейнер mp4 для смены контейнера на матроску нужен параметр
--merge-output-format mkv
В итоге получаем оптимальный набор для 1080:
youtube-dl.exe -f 137+bestaudio --merge-output-format mkv -o %(title)s.%(ext)s URL
Ваша оценка:
0
Тема про ключи этого универсального любимого многими комбайна youtube-dl сама по себе – отличная тема для обсуждения. Сколько-то лет назад узнал о данном Python-решении на Reddit и, как и многие, использую по мере необходимости. Например, вот потребовалось скачать сессии WWDC в наибольшем возможном качестве – хотя бы 1080p и битрейтом и видео, и звука побольше. Да вот незадача: на странице сессий доступен файл для скачивания в максимум 720p@5M и звуком 128k, а HLS-поток на той же странице каждой из сессий уже выдает 1080p@8.5M и звуком 99k. То есть, нужно записать видео из потока, а потом из предлагаемого Apple готового файла уже вытащить звук и его добавить в запись потока. Здесь задача простая и набор ключей небольшой:
youtube-dl --download-archive .archive --add-metadata -f 'bestvideo[ext=mp4]+bestaudio[ext=mp4]/bestvideo+bestaudio' -i --merge-output-format mp4 --external-downloader ffmpeg --external-downloader-args "-loglevel verbose" -o "%(id)s - %(title)s.%(ext)s" https://developer.apple.com/videos/play/wwdc2019/714/
Это выше у меня немного кривое, примитивное и поверхностное, хотя работающее решение части задачи, а именно: собрать с CDN в mp4-контейнер два HLS-потока для видео и аудио только одной конкретной записи, найдя в master их наилучшие версии, причем чтобы именно mp4 изначально (Apple в данном случае m4a решила обернуть в mp4, хотя это и не важно, ведь в контейнере может быть много чего и тот же Google предпочитает opus), использовать обычный ffmpeg (хотя можно и aria2c, нативный hls и что угодно еще другое) с опцией видеть лог, включенным игнорированием ошибок, именованием файла по нужному шаблону с номером сессии и ее названием.
Когда оба плейлиста (в контексте HLS, то есть про небольшие mpeg-ts, которыми поток отдается) видео и аудио скачиваются, они совмещаются по таймкодам все тем же обычным ffmpeg (для ts обычно ничего иного и не нужно, да и тем более, что мы и так им уже достаем поток в нашем теоретическом примере) в более web-дружелюбный контейнер mp4 (mkv много чем лучше и универсальнее, хотя не для web optimized, если есть теоретическое желание потом такой контент стримить для личного пользования через, допустим, Plex – mp4 объективно лучше здесь). А и да, опция с архивом. По указанному пути создает файл с заданным именем и при будущих попытках скачивания того же самого, вежливо сообщит, что ранее уже качали это (валидация по имени и ID, файл парсится при будущей попытке и должен быть в явном виде точно так же указан). [b]NB. Качать со всяких разнообразных сайтов (включая и Apple) теоретически можно, но только для собственного ознакомления. Шэрить скачанное обычно настоятельно и в явном виде запрещено.
Советов нарушения разнообразных ToC не даю и все описанное не более, чем заметки по теме, а не руководство к действию (кто знает, что и откуда кто станет качать, начитавшись готовых решений – это уже ответственность качающих, а не людей, делящихся на форуме публично доступными настройками менеджеров закачек вроде youtube-dl)[b] Про Youtube. Здесь я бы уже не general extractor вроде ffmpeg использовал в примере, а тот же aria2c – и в почти любом случае.
Aria2c позволяет использовать нужное количество потоков, буфер можно настроить (хотя есть и стандартная опция для этого тоже). Тоже прямолинейный однострочный без скриптов пример на просто опциях (я к тому, что многие используют youtube-dl в более сложных решениях или обычных скриптах на любом подходящем под задачу языке):
youtube-dl --download-archive .archive --add-metadata -f bestvideo[ext=vp9]+bestaudio[ext=opus]/bestvideo+bestaudio --external-downloader-args "-x 16 -s 16 -k 5M" --merge-output-format mkv --all-subs --embed-subs -i --external-downloader aria2c -o "%(title)s.%(ext)s" https://PLAYLIST-URL-HERE/
Здесь покороче напишу, и так все видно и понятно. Формат mkv на выходе (потому что много в mp4 без извращений не влезет столько субтитров, а мы в данном примере хватаем все доступные), задаем конкретные настройки производительности для aria2c, форматы аудио и видео нативные для Google, а больше тут и нет ничего в примере. Аналогично можно хоть весь канал Youtube скачать.
Для georestricted можно использовать прокси. Например, скачать пару записей передач с BBC iPlayer или записей спортивных соревнований с сайта телеканала, который позволяет только для своей страны качать (отдельная тема про всячину вроде HMAC, ну да ладно)
Можно и несколько дорожек сразу качать (несколько видео и несколько аудио для возможного fallback или выбора языка, допустим). Раньше здесь не писал сообщений (читаю Вадима давно, много ценного материала), а тут просто поделиться полезным решил, чем смог
Ваша оценка:
+2
Спасибо, Владимир, отлично! Никогда не знаешь, какая запись раскачает молчуна 🙂
Ваша оценка:
0
При таком количестве опций, лучше указать —config-location youtube_default.cfg, куда с комментариями положить все дополнительные настройки.
Ваша оценка:
0
BuSH: В итоге получаем оптимальный набор для 1080
Или ничего не получаем. Необходимо указывать макро-значение (best, bestvideo, worstvideo)))) по умолчанию, если целевой поток отсутствует.
Ваша оценка:
0

- BuSH 11.06.2019 в 12:55
Как это ничего не получаем если мы выбрали поток из списка доступных параметром -F?
Целью было объяснить где брать а не построить идеальный вариант на все случаи жизни!
Ваша оценка:
0
