Простая библиотека PHP для загрузки видео с YouTube, Instagram, X и других. Питается кобальтом
Питается кобальтом
Эта библиотека опирается на бесплатный API Кобальта.
Чтобы установить библиотеку pira/ytdl , вам необходимо использовать композитор. Запустите следующую команду:
composer require pira/ytdlПосле установки библиотеки вы можете начать использовать ее в своем проекте PHP. Вот основной пример:
<?php
use pira YTDL ;
require_once ' vendor/autoload.php ' ;
try {
$ ytdl = new YTDL ( ' https://www.youtube.com/watch?v=OAr6AIvH9VY ' );
$ ytdl -> setQuality ( ' 480 ' );
$ response = $ ytdl -> sendRequest ();
print_r ( $ response );
} catch ( Exception $ e ) {
echo $ e -> getMessage ();
}__construct(string $url) Инициализирует класс YTDL с помощью URL.
$url (строка): URL, который будет использоваться в запросах.setQuality(string $quality): voidУстанавливает качество видео для загрузки.
$quality (String): желаемое качество видео (например, 144 , 720 , max ).Exception , если предоставленное качество не является действительным.setFilenamePattern(string $pattern): voidУстанавливает шаблон имени файла для загруженных файлов.
$pattern (строка): желаемый шаблон имени файла. Доступные шаблоны:youtube_dQw4w9WgXcQ_640x360_h264.mp4youtube_dQw4w9WgXcQ_audio.mp3Video Title (360p, h264).mp4Audio Title - Audio Author.mp3Video Title (360p, h264, youtube).mp4Audio Title - Audio Author (soundcloud).mp3Video Title (360p, h264, youtube, dQw4w9WgXcQ).mp4Audio Title - Audio Author (soundcloud, 1242868615).mp3Exception если предоставленный шаблон недопустим.setVCodec(string $codec): voidУстанавливает видеокодек для загрузки.
$codec (String): желаемый видеокодек (например, h264 , av1 , vp9 ).Exception , если предоставленный кодек не является действительным.setAFormat(string $format): voidУстанавливает аудиоформат для загрузки.
$format (String): желаемый аудио -формат (например, mp3 , ogg , wav ).Exception , если предоставленный формат не является действительным.enableAudioOnly(): voidПозволяет загружать только аудио.
enableTTFullAudio(): voidПозволяет загрузить оригинальный звук из видео Tiktok.
enableAudioMuted(): voidПозволяет приглушить аудио -трек в загрузке видео.
enableDubLang(): voidВключает использование заголовка Accept Language для видео аудио-аудио YouTube.
enableDisableMetadata(): voidПозволяет отключить метаданные файла.
enableTwitterGif(): voidПозволяет конвертировать GIF -файлы в формате .gif.
enableTiktokH265(): voidВключите предпочтение 1080p H265 видео для Tiktok.
setAcceptLanguage(string $language): voidУстанавливает пользовательское значение заголовка на уровне приема для запросов.
$language (String): пользовательская стоимость заголовка на индивидуальном языке.sendRequest(): arrayОтправляет настроенный запрос в API и возвращает ответ.
Возвращает:
Бросает:
Exception , если есть ошибка при отправке запроса. | ключ | тип | переменные |
|---|---|---|
status | string | error / redirect / stream / success / rate-limit / picker |
text | string | Различный текст, в основном используется для ошибок |
url | string | Прямая ссылка на файл или ссылка на живое рендеринг Cobalt |
pickerType | string | various / images |
picker | array | множество предметов |
audio | string | Прямая ссылка на файл или ссылка на живое рендеринг Cobalt |
Источник: документация по API кобальта - переменные тела ответа
Тип элемента: object
| ключ | тип | переменные | описание |
|---|---|---|---|
type | string | video / photo / gif | Используется только в том случае, если pickerType various |
url | string | Прямая ссылка на файл или ссылка на живое рендеринг Cobalt | |
thumb | string | Миниатюра предмета, отображаемая в сборщике | используется для video и типов gif |
Источник: документация по API Cobalt - переменные элемента сбора
Этот список не является окончательным и продолжает расширяться с течением времени.
| услуга | Видео + аудио | только аудио | только видео | метаданные | богатые имена файлов |
|---|---|---|---|---|---|
| bilibili.com & bilibili.tv | ✅ | ✅ | ✅ | ➖ | ➖ |
| Dailymotion | ✅ | ✅ | ✅ | ✅ | ✅ |
| Instagram посты и барабаны | ✅ | ✅ | ✅ | ➖ | ➖ |
| Видео в Facebook | ✅ | ➖ | ➖ | ||
| ткацкий станок | ✅ | ✅ | ✅ | ➖ | |
| ОК | ✅ | ✅ | ✅ | ✅ | |
| ✅ | ✅ | ✅ | ➖ | ➖ | |
| ✅ | ✅ | ✅ | |||
| Рутуб | ✅ | ✅ | ✅ | ✅ | ✅ |
| Snapchat Stories & Spotlights | ✅ | ✅ | ✅ | ➖ | ➖ |
| SoundCloud | ➖ | ✅ | ➖ | ✅ | ✅ |
| потоковой | ✅ | ✅ | ✅ | ➖ | ➖ |
| Тикток | ✅ | ✅ | ✅ | ||
| Tumblr | ✅ | ✅ | ✅ | ➖ | ➖ |
| Twitch Clips | ✅ | ✅ | ✅ | ✅ | ✅ |
| Twitter/x | ✅ | ✅ | ✅ | ➖ | ➖ |
| Vimeo | ✅ | ✅ | ✅ | ✅ | ✅ |
| Vine Archive | ✅ | ✅ | ✅ | ➖ | ➖ |
| VK видео и клипы | ✅ | ✅ | ✅ | ✅ | |
| Видео, шорты и музыка на YouTube | ✅ | ✅ | ✅ | ✅ | ✅ |
| эмодзи | значение |
|---|---|
| ✅ | Поддерживается |
| ➖ | невозможно/неразумно |
| не поддерживается |
Источник: Cobalt - поддерживаемые услуги
| услуга | примечания или функции |
|---|---|
| Поддерживает барабаны, фотографии и видео. Позволяет выбрать, что сохранить из мультимедийных постов. | |
| Поддерживает только общедоступные доступные видео контент. | |
| Поддерживает фотографии, GIF, видео и истории. | |
| Поддерживает GIF и видео. | |
| Snapchat | Поддерживает прожекторы и истории. Позволяет выбрать, что спасти из историй. |
| Рутуб | Поддерживает Yappy & Private ссылки. |
| SoundCloud | Поддерживает частные ссылки. |
| Тикток | Поддерживает видео с водяным знаком или без водяного знака, изображений из слайд -шоу без водяного знака и полных (оригинальных) звуков. |
| Twitter/x | Позволяет выбрать, что сохранить из мультимедийных постов. Не может быть на 100% надежным из -за текущего управления. |
| Vimeo | Аудио загрузки доступны только для DASH. |
| YouTube | Поддерживает видео, музыку и шорты. 8K, 4K, HDR, VR и High FPS. Богатые метаданные и дубинг. H264/AV1/VP9 Кодеки. |
Источник: кобальт - дополнительные заметки или функции на услугу
Если поддержка желаемой услуги отсутствует, создайте проблему (или запрос на притяжение?) В репозитории Github Cobalt.
Эта библиотека лицензирована по лицензии MIT. Смотрите файл лицензии для получения более подробной информации.
По любым вопросам или проблемам, пожалуйста, свяжитесь: