PHPackages                             jackal/video-downloader - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jackal/video-downloader

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

jackal/video-downloader
=======================

v0.5.2(6y ago)15494MITPHPPHP &gt;=7.1

Since Mar 20Pushed 6y agoCompare

[ Source](https://github.com/lucajackal85/VideoDownloader)[ Packagist](https://packagist.org/packages/jackal/video-downloader)[ RSS](/packages/jackal-video-downloader/feed)WikiDiscussions master Synced today

READMEChangelog (5)Dependencies (5)Versions (19)Used By (4)

VideoDownloader
===============

[](#videodownloader)

[![Latest Stable Version](https://camo.githubusercontent.com/2d3654ad1d9a0abadcfa1f7bdb74d8c6e01f064ca64fdbfa5b1389b93c2fe658/68747470733a2f2f706f7365722e707567782e6f72672f6a61636b616c2f766964656f2d646f776e6c6f616465722f762f737461626c65)](https://packagist.org/packages/jackal/video-downloader)[![Total Downloads](https://camo.githubusercontent.com/11f09e8a804c2ae708b285de523528410e6e8cfd13893a79eda044b5091a8eea/68747470733a2f2f706f7365722e707567782e6f72672f6a61636b616c2f766964656f2d646f776e6c6f616465722f646f776e6c6f616473)](https://packagist.org/packages/jackal/video-downloader)[![Latest Unstable Version](https://camo.githubusercontent.com/62504acd8f9df324fd4bc27650b9bfcea747e1a8b49c29891631f05e07ecdd47/68747470733a2f2f706f7365722e707567782e6f72672f6a61636b616c2f766964656f2d646f776e6c6f616465722f762f756e737461626c65)](https://packagist.org/packages/jackal/video-downloader)[![License](https://camo.githubusercontent.com/8acea379a11aa7a774e13017831ae145ea1dc8c4930aa36f532875c338e3c0f4/68747470733a2f2f706f7365722e707567782e6f72672f6a61636b616c2f766964656f2d646f776e6c6f616465722f6c6963656e7365)](https://packagist.org/packages/jackal/video-downloader)[![Build Status](https://camo.githubusercontent.com/d0fb47d0c219ffa3f62b6148704438966435653e05830c11c754eac859f1f71f/68747470733a2f2f7472617669732d63692e6f72672f6c7563616a61636b616c38352f566964656f446f776e6c6f616465722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/lucajackal85/VideoDownloader)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/e1c58e5f8829193404de01f84a6b6b6b4798517839fb7a9711f696d63b01ab7d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6c7563616a61636b616c38352f566964656f446f776e6c6f616465722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/lucajackal85/VideoDownloader/?branch=master)

This is the base project for actual downloader projects:
--------------------------------------------------------

[](#this-is-the-base-project-for-actual-downloader-projects)

- [jackal/video-downloader-ext-vimeo](https://github.com/lucajackal85/VideoDownloaderVimeoExtension)
- [jackal/video-downloader-ext-youtube](https://github.com/lucajackal85/VideoDownloaderYoutubeExtension)

Installation
------------

[](#installation)

```
    composer require jackal/video-downloader:^0.5

```

### Write your own downloader:

[](#write-your-own-downloader)

```
class MyDownloader extends AbstractDownloader
{
    public function getURL(): string
    {
       $videoId = $this->getVideoId();

       //$videoLocation = [...code to retreive URL ...]

       return $videoLocation;
    }

    //it needs to identify video ID from public URLS (this example: http://www.sample-site.com/video/1234/)
    public static function getPublicUrlRegex(): string
    {
        return '/www\.sample-site\.com\/video\/([\d]+)\//';
    }

    public static function getType(): string
    {
        return 'my_downloader';
    }
}

```

### Download it!

[](#download-it)

```
$myVideoIdOrReference = '123456';

$vd = new \Jackal\Downloader\VideoDownloader();
$vd->registerDownloader(MyDownloader::class);

$downloader = $vd->getDownloader('my_downloader', $myVideoIdOrReference, [
    //[...additional custom options...]
]);

$downloader->download(__DIR__ . '/output.avi');

```

### Download from URL

[](#download-from-url)

```
$myVideoIdOrReference = '123456';

$vd = new \Jackal\Downloader\VideoDownloader();
$vd->registerDownloader(MyDownloader::class);

$downloader = $vd->getDownloaderByPublicUrl('http://www.sample-site.com/video/1234/', [
    //[...additional custom options...]
]);

$downloader->download(__DIR__ . '/output.avi');

```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Recently: every ~9 days

Total

17

Last Release

2192d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/13db4a2702d54af2cbbce04c934f80cddd423fc7a8ad12124cae6459b39e3a05?d=identicon)[lucajackal85](/maintainers/lucajackal85)

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/jackal-video-downloader/health.svg)

```
[![Health](https://phpackages.com/badges/jackal-video-downloader/health.svg)](https://phpackages.com/packages/jackal-video-downloader)
```

###  Alternatives

[friendsofphp/php-cs-fixer

A tool to automatically fix PHP code style

13.5k234.7M20.6k](/packages/friendsofphp-php-cs-fixer)[symfony/rate-limiter

Provides a Token Bucket implementation to rate limit input and output in your application

26847.2M147](/packages/symfony-rate-limiter)[symfony/ldap

Provides a LDAP client for PHP on top of PHP's ldap extension

1407.5M46](/packages/symfony-ldap)[php-soap/ext-soap-engine

An ext-soap engine implementation

443.2M7](/packages/php-soap-ext-soap-engine)[phpbench/container

Simple, configurable, service container.

1512.9M6](/packages/phpbench-container)[symfony/ux-toggle-password

Toggle visibility of password inputs for Symfony Forms

26508.0k5](/packages/symfony-ux-toggle-password)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
