Perpustakaan PHP sederhana untuk mengunduh video dari YouTube, Instagram, X, dan banyak lagi. Didukung oleh Cobalt
Didukung oleh Cobalt
Perpustakaan ini bergantung pada API gratis Cobalt.
Untuk menginstal pustaka pira/ytdl , Anda perlu menggunakan komposer. Jalankan perintah berikut:
composer require pira/ytdlSetelah menginstal perpustakaan, Anda dapat mulai menggunakannya di proyek PHP Anda. Inilah contoh dasar:
<?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) Menginisialisasi kelas YTDL dengan URL.
$url (string): URL yang akan digunakan dalam permintaan.setQuality(string $quality): voidMenetapkan kualitas video untuk unduhan.
$quality (string): Kualitas video yang diinginkan (mis., 144 , 720 , max ).Exception jika kualitas yang disediakan tidak valid.setFilenamePattern(string $pattern): voidMengatur pola nama file untuk file yang diunduh.
$pattern (String): Pola nama file yang diinginkan. Pola yang tersedia: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 jika pola yang disediakan tidak valid.setVCodec(string $codec): voidMenetapkan codec video untuk diunduh.
$codec (string): Video codec yang diinginkan (misalnya, h264 , av1 , vp9 ).Exception jika codec yang disediakan tidak valid.setAFormat(string $format): voidMengatur format audio untuk diunduh.
$format (string): Format audio yang diinginkan (misalnya, mp3 , ogg , wav ).Exception Jika format yang disediakan tidak valid.enableAudioOnly(): voidMengaktifkan hanya mengunduh audio.
enableTTFullAudio(): voidMengaktifkan mengunduh suara asli dari video Tiktok.
enableAudioMuted(): voidMengaktifkan membisukan trek audio dalam unduhan video.
enableDubLang(): voidMengaktifkan menggunakan header penerimaan-bahasa untuk trek audio video YouTube.
enableDisableMetadata(): voidMengaktifkan Metadata File Menonaktifkan.
enableTwitterGif(): voidMengaktifkan Konversi GIF Twitter ke format .GIF.
enableTiktokH265(): voidMengaktifkan video 1080p H265 untuk Tiktok.
setAcceptLanguage(string $language): voidMenetapkan nilai header penerimaan-bahasa khusus untuk permintaan.
$language (string): Nilai header bahasa menerima kustom.sendRequest(): arrayMengirimkan permintaan yang dikonfigurasi ke API dan mengembalikan respons.
Kembali:
Lemparan:
Exception Jika ada kesalahan dalam mengirim permintaan. | kunci | jenis | variabel |
|---|---|---|
status | string | error / redirect / stream / success / rate-limit / picker |
text | string | Berbagai teks, sebagian besar digunakan untuk kesalahan |
url | string | tautan langsung ke file atau tautan ke render langsung Cobalt |
pickerType | string | various / images |
picker | array | array item pemetik |
audio | string | tautan langsung ke file atau tautan ke render langsung Cobalt |
Sumber: Dokumentasi API Cobalt - Variabel Badan Respons
Jenis Item: object
| kunci | jenis | variabel | keterangan |
|---|---|---|---|
type | string | video / photo / gif | hanya digunakan jika pickerType various |
url | string | tautan langsung ke file atau tautan ke render langsung Cobalt | |
thumb | string | thumbnail item yang ditampilkan di pemilih | digunakan untuk jenis video dan gif |
Sumber: Dokumentasi API Cobalt - Variabel Item Picker
Daftar ini tidak final dan terus berkembang seiring waktu.
| melayani | Video + Audio | hanya audio | Hanya video | metadata | Nama file yang kaya |
|---|---|---|---|---|---|
| bilibili.com & bilibili.tv | ✅ | ✅ | ✅ | ➖ | ➖ |
| dailymotion | ✅ | ✅ | ✅ | ✅ | ✅ |
| Posting & gulungan Instagram | ✅ | ✅ | ✅ | ➖ | ➖ |
| Video Facebook | ✅ | ➖ | ➖ | ||
| mesin tenun | ✅ | ✅ | ✅ | ➖ | |
| OK Video | ✅ | ✅ | ✅ | ✅ | |
| ✅ | ✅ | ✅ | ➖ | ➖ | |
| ✅ | ✅ | ✅ | |||
| Rutube | ✅ | ✅ | ✅ | ✅ | ✅ |
| Snapchat Stories & Spotlights | ✅ | ✅ | ✅ | ➖ | ➖ |
| Soundcloud | ➖ | ✅ | ➖ | ✅ | ✅ |
| dapat dialirkan | ✅ | ✅ | ✅ | ➖ | ➖ |
| Tiktok | ✅ | ✅ | ✅ | ||
| Tumblr | ✅ | ✅ | ✅ | ➖ | ➖ |
| klip kedutan | ✅ | ✅ | ✅ | ✅ | ✅ |
| Twitter/x | ✅ | ✅ | ✅ | ➖ | ➖ |
| Vimeo | ✅ | ✅ | ✅ | ✅ | ✅ |
| Vine Archive | ✅ | ✅ | ✅ | ➖ | ➖ |
| Video & klip VK | ✅ | ✅ | ✅ | ✅ | |
| Video, celana pendek & musik YouTube | ✅ | ✅ | ✅ | ✅ | ✅ |
| emoji | arti |
|---|---|
| ✅ | didukung |
| ➖ | mustahil/tidak masuk akal |
| tidak didukung |
Sumber: Cobalt - Layanan yang Didukung
| melayani | catatan atau fitur |
|---|---|
| Mendukung gulungan, foto, dan video. Memungkinkan Anda memilih apa yang harus disimpan dari posting multi-media. | |
| Mendukung konten video yang dapat diakses publik saja. | |
| Mendukung foto, gif, video, dan cerita. | |
| Mendukung GIF dan video. | |
| Snapchat | Mendukung lampu sorot dan cerita. Memungkinkan Anda memilih apa yang harus disimpan dari cerita. |
| Rutube | Mendukung tautan Yappy & Private. |
| Soundcloud | Mendukung tautan pribadi. |
| Tiktok | Mendukung video dengan atau tanpa tanda air, gambar dari tayangan slide tanpa tanda air, dan audio penuh (asli). |
| Twitter/x | Memungkinkan Anda memilih apa yang harus disimpan dari posting multi-media. Mungkin tidak 100% dapat diandalkan karena manajemen saat ini. |
| Vimeo | Unduhan audio hanya tersedia untuk Dash. |
| YouTube | Mendukung video, musik, dan celana pendek. 8K, 4K, HDR, VR, dan video FPS tinggi. Metadata & Dubs yang kaya. Codec H264/AV1/VP9. |
Sumber: Cobalt - Catatan atau fitur tambahan per layanan
Jika dukungan untuk layanan yang Anda inginkan tidak ada, buat masalah (atau permintaan tarik?) Di repositori GitHub Cobalt.
Perpustakaan ini dilisensikan di bawah lisensi MIT. Lihat file lisensi untuk lebih jelasnya.
Untuk pertanyaan atau masalah apa pun, silakan hubungi: