Download the PHP package ekstremedia/laravel-youtube without Composer
On this page you can find all versions of the php package ekstremedia/laravel-youtube. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-youtube
Laravel YouTube Package
A comprehensive Laravel package for YouTube API v3 integration with OAuth2 authentication, automatic token refresh, upload management, and extensive API coverage. Perfect for content creators, video platforms, and automated video upload systems.
๐ Features
Core Features
- ๐ OAuth2 Authentication - Secure authentication with automatic token refresh
- ๐น Video Management - Complete CRUD operations for videos
- ๐ค Advanced Upload - Chunked uploads with progress tracking & 15+ metadata fields
- ๐บ Channel Management - Designed for single-user/single-channel applications
- ๐จ Thumbnail Management - Custom thumbnail upload support
- ๐ฌ Playlist Operations - Create, manage, and organize video playlists
- ๐ฌ Caption/Subtitle Support - Upload, manage, and download captions in multiple formats
- ๐ Location & Recording Details - Geotag videos with coordinates and recording dates
- ๐ Queue Support - Background video uploads via Laravel jobs
- ๐ฏ Rate Limiting - Built-in rate limiting to respect API quotas
- ๐ Statistics Tracking - View counts, likes, and engagement metrics
- ๐ Webhook Support - Upload completion notifications
- ๐ Scheduled Publishing - Schedule videos for future publication
Special Features
- ๐ฅง Raspberry Pi Integration - Optimized for automated uploads from IoT devices
- ๐ Auto Token Refresh - Never worry about expired tokens
- ๐พ Database Storage - Track all uploads and video metadata
- ๐ Encrypted Token Storage - Secure storage of OAuth tokens
- ๐ Comprehensive Logging - Detailed logging for debugging
- ๐งช Test Coverage - Extensive test suite with Pest
๐ Requirements
- PHP 8.2 or higher
- Laravel 11.0 or 12.0
- Google API credentials (OAuth 2.0 Client ID)
- Composer
- Database (MySQL, PostgreSQL, SQLite)
๐ฆ Installation
Step 1: Install via Composer
Step 2: Publish Configuration and Migrations
Step 3: Configure Environment Variables
Add the following to your .env file:
Step 4: Obtain Google API Credentials
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the YouTube Data API v3
- Create OAuth 2.0 credentials:
- Application type: Web application
- Add authorized redirect URI:
https://yourdomain.com/youtube/callback
- Copy the Client ID and Client Secret to your
.envfile
Step 5: Run Migrations
๐ฏ Quick Start
Basic Usage
Raspberry Pi Integration
Perfect for automated timelapse or security camera uploads. The package is designed for single-user/single-channel applications.
Using the Service Without User Context
Complete Raspberry Pi Example
From Raspberry Pi (Shell Script)
One-Time Google OAuth Setup
Visit the authorization page to connect your YouTube channel:
The page will:
- Check if credentials are configured
- Show your connected channel (if any)
- Allow you to authorize/re-authorize with Google
- Automatically refresh expired tokens
After authorization, all uploads will use this token automatically.
๐ Comprehensive Documentation
Authentication Page
The package includes a simple authentication page for connecting your YouTube channel:
Access the page: https://yourdomain.com/youtube-authorize (configurable)
Features:
- Check if credentials are configured
- View connected YouTube channel
- One-click authorize/re-authorize
- Automatic token refresh
- Clean, simple interface
- Protected by authentication - Requires logged-in user by default
Security:
By default, the authorization page is protected with the auth middleware. Only logged-in users can access it.
To customize the middleware protection, publish and edit the config file:
Configuration:
Usage in your app:
The page shows:
- Configuration status (credentials check)
- Connected channel information
- Authorization button
- Token expiration and refresh status
Authentication & Token Management
OAuth Flow
Token Storage & Management
Video Management
Upload Videos
Manage Videos
Channel Management
Playlist Management
Caption/Subtitle Management
Background Jobs & Queues
You can implement your own background job processing. Here's an example:
Advanced Features
Live Streaming
Comments Management
Analytics Integration
๐งช Testing
The package includes comprehensive test coverage:
Test categories:
- Unit tests for configuration and models
- Feature tests for services and API endpoints
- Integration tests for OAuth flow
- Upload tests including chunked uploads
- Token management and refresh tests
- Rate limiting and authentication tests
๐ง Configuration
Full configuration options in config/youtube.php:
๐ ๏ธ Console Commands
๐ Scheduled Tasks
Add to your app/Console/Kernel.php:
๐จ Error Handling
The package provides specific exception types:
๐ Security
- OAuth tokens are encrypted using Laravel's encryption
- CSRF protection on OAuth flow
- Rate limiting on API endpoints
- Scoped access control
- Automatic token rotation
- Secure webhook signatures
๐ Events
The package dispatches Laravel events:
๐ค Contributing
Please see CONTRIBUTING for details.
๐งช Testing
๐ Changelog
Please see CHANGELOG for more information on what has changed recently.
๐ Security
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
๐ License
The MIT License (MIT). Please see License File for more information.
๐ฅ Credits
- Terje Nesthus
- All Contributors
๐ Acknowledgments
- Thanks to Google for the YouTube Data API
- Laravel framework for the excellent foundation
- The open-source community for inspiration
๐ Support
- ๐ง Email: [email protected]
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ Documentation: Full Docs
Made with โค๏ธ by Ekstre Media
All versions of laravel-youtube with dependencies
illuminate/support Version ^11.0|^12.0
illuminate/http Version ^11.0|^12.0
illuminate/database Version ^11.0|^12.0
illuminate/view Version ^11.0|^12.0
google/apiclient Version ^2.15
google/apiclient-services Version ^0.350 || ^0.420