Eine einfache PHP -Bibliothek zum Herunterladen von Videos von YouTube, Instagram, X und mehr. Angetrieben von Kobalt
Angetrieben von Kobalt
Diese Bibliothek basiert auf Cobalts kostenlose API.
Um die pira/ytdl -Bibliothek zu installieren, müssen Sie einen Komponisten verwenden. Führen Sie den folgenden Befehl aus:
composer require pira/ytdlNach der Installation der Bibliothek können Sie sie in Ihrem PHP -Projekt verwenden. Hier ist ein grundlegendes Beispiel:
<?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) Initialisiert die YTDL -Klasse mit einer URL.
$url (Zeichenfolge): Die URL soll in Anfragen verwendet werden.setQuality(string $quality): voidLegt die Videoqualität für Downloads fest.
$quality (String): Die gewünschte Videoqualität (zB 144 , 720 , max ).Exception , wenn die bereitgestellte Qualität nicht gültig ist.setFilenamePattern(string $pattern): voidLegt das Dateiname -Muster für heruntergeladene Dateien fest.
$pattern (Zeichenfolge): Das gewünschte Dateiname -Muster. Verfügbare Muster: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 , wenn das bereitgestellte Muster nicht gültig ist.setVCodec(string $codec): voidLegt die Video -Codec für Downloads fest.
$codec (String): Der gewünschte Video -Codec (z. B. h264 , av1 , vp9 ).Exception , wenn der bereitgestellte Codec nicht gültig ist.setAFormat(string $format): voidLegt das Audio -Format für Downloads fest.
$format (String): Das gewünschte Audio -Format (z. B. mp3 , ogg , wav ).Exception , wenn das angegebene Format nicht gültig ist.enableAudioOnly(): voidErmöglicht das Herunterladen von nur Audio.
enableTTFullAudio(): voidErmöglicht das Herunterladen des Original -Sounds von einem Tiktok -Video.
enableAudioMuted(): voidErmöglicht die Veränderung des Audio -Tracks in Video -Downloads.
enableDubLang(): voidErmöglicht die Verwendung der Akzeptanz-Sprache-Header für YouTube-Video-Audio-Tracks.
enableDisableMetadata(): voidErmöglicht die Deaktivierung von Dateimetadaten.
enableTwitterGif(): voidErmöglicht das Konvertieren von Twitter -GIFs in das .gif -Format.
enableTiktokH265(): voidErmöglicht die Bevorzugung von 1080p H265 -Videos für Tiktok.
setAcceptLanguage(string $language): voidLegt den kundenspezifischen Kopfzeilenwert für Anforderungen fest.
$language (String): Der benutzerdefinierte Header-Wert von Akzeptieren.sendRequest(): arraySendet die konfigurierte Anforderung an die API und gibt die Antwort zurück.
Rückgaben:
Würfe:
Exception , wenn beim Senden der Anfrage ein Fehler vorliegt. | Schlüssel | Typ | Variablen |
|---|---|---|
status | string | error / redirect / stream / success / rate-limit / picker |
text | string | Verschiedene Text, die hauptsächlich für Fehler verwendet werden |
url | string | Direkter Link zu einer Datei oder einem Link zu Cobalts Live -Render |
pickerType | string | various / images |
picker | array | Auswahl von Picker -Artikeln |
audio | string | Direkter Link zu einer Datei oder einem Link zu Cobalts Live -Render |
Quelle: Cobalt API -Dokumentation - Antwortkörpervariablen
Elementtyp: object
| Schlüssel | Typ | Variablen | Beschreibung |
|---|---|---|---|
type | string | video / photo / gif | Nur verwendet, wenn pickerType various ist |
url | string | Direkter Link zu einer Datei oder einem Link zu Cobalts Live -Render | |
thumb | string | Item Thumbnail, das im Picker angezeigt wird | Wird für video und gif -Typen verwendet |
Quelle: Cobalt API -Dokumentation - Auswahl der Elementvariablen
Diese Liste ist nicht endgültig und wächst im Laufe der Zeit weiter.
| Service | Video + Audio | Nur Audio | Nur Video | Metadaten | Reiche Dateinamen |
|---|---|---|---|---|---|
| bilibili.com & bilibili.tv | ✅ | ✅ | ✅ | ➖ | ➖ |
| Dailymotion | ✅ | ✅ | ✅ | ✅ | ✅ |
| Instagram -Beiträge & Rollen | ✅ | ✅ | ✅ | ➖ | ➖ |
| Facebook -Videos | ✅ | ➖ | ➖ | ||
| Webstuhl | ✅ | ✅ | ✅ | ➖ | |
| OK Video | ✅ | ✅ | ✅ | ✅ | |
| ✅ | ✅ | ✅ | ➖ | ➖ | |
| ✅ | ✅ | ✅ | |||
| Rutube | ✅ | ✅ | ✅ | ✅ | ✅ |
| Snapchat Stories & Scheinwerfer | ✅ | ✅ | ✅ | ➖ | ➖ |
| Soundcloud | ➖ | ✅ | ➖ | ✅ | ✅ |
| streamabel | ✅ | ✅ | ✅ | ➖ | ➖ |
| Tiktok | ✅ | ✅ | ✅ | ||
| Tumblr | ✅ | ✅ | ✅ | ➖ | ➖ |
| Twitch Clips | ✅ | ✅ | ✅ | ✅ | ✅ |
| Twitter/x | ✅ | ✅ | ✅ | ➖ | ➖ |
| Vimeo | ✅ | ✅ | ✅ | ✅ | ✅ |
| Rebarchiv | ✅ | ✅ | ✅ | ➖ | ➖ |
| VK -Videos & Clips | ✅ | ✅ | ✅ | ✅ | |
| YouTube -Videos, Shorts & Musik | ✅ | ✅ | ✅ | ✅ | ✅ |
| Emoji | Bedeutung |
|---|---|
| ✅ | unterstützt |
| ➖ | unmöglich/unvernünftig |
| nicht unterstützt |
Quelle: Cobalt - unterstützte Dienste
| Service | Notizen oder Funktionen |
|---|---|
| Unterstützt Rollen, Fotos und Videos. Sie können auswählen, was Sie von Multimedia-Posts speichern sollen. | |
| Unterstützt nur öffentlich zugängliche Videosinhalte. | |
| Unterstützt Fotos, GIFs, Videos und Geschichten. | |
| Unterstützt GIFs und Videos. | |
| Snapchat | Unterstützt Scheinwerfer und Geschichten. Lassen Sie sich auswählen, was Sie vor Geschichten speichern möchten. |
| Rutube | Unterstützt Yappy & Private Links. |
| Soundcloud | Unterstützt private Links. |
| Tiktok | Unterstützt Videos mit oder ohne Wasserzeichen, Bilder aus Diashow ohne Wasserzeichen und vollständige (originelle) Audios. |
| Twitter/x | Sie können auswählen, was Sie von Multimedia-Posts speichern sollen. Möglicherweise ist aufgrund des aktuellen Managements möglicherweise nicht 100% zuverlässig. |
| Vimeo | Audio -Downloads sind nur für Dash verfügbar. |
| YouTube | Unterstützt Videos, Musik und Shorts. 8K-, 4K-, HDR-, VR- und High -FPS -Videos. Reiche Metadaten & Dubs. H264/AV1/VP9 -Codecs. |
Quelle: Cobalt - Zusätzliche Notizen oder Funktionen pro Service
Wenn die Unterstützung eines gewünschten Dienstes fehlt, erstellen Sie ein Problem (oder eine Pull -Anfrage?) Auf Cobalts Github -Repository.
Diese Bibliothek ist unter der MIT -Lizenz lizenziert. Weitere Informationen finden Sie in der Lizenzdatei.
Bei Fragen oder Problemen wenden Sie sich bitte an: