Skip to content

A PHP library for downloading YouTube videos and extracting metadata.

Notifications You must be signed in to change notification settings

Refaltor77/PHPYoutubeDownloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

YouTube Downloader Package

A PHP library for downloading YouTube videos and extracting metadata with ease.

Installation

To use this package, you'll need the following prerequisites:

  1. PHP 8.0 or higher
  2. youtube-dl or yt-dlp installed and accessible from the command line.
  3. FFmpeg installed and accessible from the command line.

Install the package via Composer

Run the following command to add the package to your project:

composer require refaltor/youtube-downloader

Getting Started

Basic Usage

Below is an example of how to use the package to download a YouTube video:

<?php

require 'vendor/autoload.php';

use Refaltor\YoutubeDownloader\Youtube;

try {
// Initialize the YouTube downloader
$downloader = new Youtube(
outputPath: '/absolute/path/to/store/videos/', // Directory to save the video
videoUrl: 'https://www.youtube.com/watch?v=example' // URL of the YouTube video
);

    // Start the download
    $downloadedFile = $downloader->download();

    echo "Video downloaded successfully: " . $downloadedFile;
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}

Customizing Paths

You can customize the paths for FFmpeg and youtube-dl (or yt-dlp) during initialization:

<?php

require 'vendor/autoload.php';

use Refaltor\YoutubeDownloader\Youtube;

try {
$downloader = new Youtube(
outputPath: '/absolute/path/to/store/videos/',
ffmpegPath: '/custom/path/to/ffmpeg',
youtubeDlPath: '/custom/path/to/youtube-dl'
);

    // Set the video URL dynamically
    $downloader->setVideoUrl('https://www.youtube.com/watch?v=example');
    
    $downloadedFile = $downloader->download();

    echo "Video downloaded successfully: " . $downloadedFile;
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}

Exception Handling

The download method will throw an exception in the following cases:

  • The video URL is not provided.
  • The output directory is invalid or cannot be created.
  • The download process fails.

Make sure to catch exceptions and handle errors appropriately:

<?php

require 'vendor/autoload.php';

use Refaltor\YoutubeDownloader\Youtube;

try {
$downloader = new Youtube(
outputPath: '/absolute/path/to/store/videos/'
);

    $downloader->setVideoUrl('https://www.youtube.com/watch?v=example');
    $downloadedFile = $downloader->download();

    echo "Video downloaded successfully: " . $downloadedFile;
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}

About

A PHP library for downloading YouTube videos and extracting metadata.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages