PHPackages                             maxim-kravets/youtube-to-s3 - 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. maxim-kravets/youtube-to-s3

ActiveLibrary

maxim-kravets/youtube-to-s3
===========================

This library allows download videos from youtube, transcoding them to different formats and uploads to s3 storage.

34PHP

Since Aug 28Pushed 5y ago2 watchersCompare

[ Source](https://github.com/maxim-kravets/youtube-to-s3)[ Packagist](https://packagist.org/packages/maxim-kravets/youtube-to-s3)[ RSS](/packages/maxim-kravets-youtube-to-s3/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Youtube to S3
=============

[](#youtube-to-s3)

This is library to download video from YouTube, transcode this video in different formats and upload to AWS S3 storage.

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

[](#installation)

For installation execute the following command:

```
$ composer require maxim-kravets/youtube-to-s3

```

Then create .env and fill configuration variables:

```
AWS_S3_VERSION=latest
AWS_S3_REGION=your_region
AWS_S3_KEY=YOUR_AWS_API_KEY
AWS_S3_SECRET=YOUR_AWS_API_SECRET_KEY
AWS_S3_BUCKET=your.bucket
AWS_S3_BUCKET_DIR=directory_to_upload

TRANSCODER_VIDEO_DIMENSION_WIDTH=320
TRANSCODER_VIDEO_DIMENSION_HEIGHT=240
TRANSCODER_VIDEO_FORMATS="x264, wmv, webm"
```

Usage
-----

[](#usage)

For using this library in your projects, you can just run:

```
use YoutubeToS3\Kernel;
use YoutubeToS3\Service\Facade;

require dirname(__DIR__).'/vendor/autoload.php';

$kernel = new Kernel();
$facade = $kernel->getContainer()->get(Facade::class);
$facade->processVideo();
```

or pass YouTube url directly:

```
$facade->processVideo($url);
```

You can also create service instances from the src/Service directory for more fine-tuning of the application.

License
-------

[](#license)

[![license](https://camo.githubusercontent.com/1094b19d5f50ac35a34c3d712b4dcc2f6507d1d330617a4861395659e0033cf1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6178696d2d6b7261766574732f796f75747562652d746f2d7333)](LICENSE)

This project is released under the terms of the BSD 3-Clause [license](LICENSE).

Copyright (c) 2019, Maxim Kravets

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/43747142?v=4)[Maxim Kravets](/maintainers/maxim-kravets)[@maxim-kravets](https://github.com/maxim-kravets)

---

Top Contributors

[![maxim-kravets](https://avatars.githubusercontent.com/u/43747142?v=4)](https://github.com/maxim-kravets "maxim-kravets (11 commits)")

---

Tags

aws-s3ffmpegtranscodingyoutubeyoutube-apiyoutube-downloader

### Embed Badge

![Health badge](/badges/maxim-kravets-youtube-to-s3/health.svg)

```
[![Health](https://phpackages.com/badges/maxim-kravets-youtube-to-s3/health.svg)](https://phpackages.com/packages/maxim-kravets-youtube-to-s3)
```

PHPackages © 2026

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