n3xt0r / dashclip-delivery
video distribution: ingests (local/Dropbox), SHA-256 dedupes, auto-assigns to channels (weighted quotas), delivers signed time-limited offer links for single/ZIP downloads (with info.csv), tracks downloads/returns, generates ffmpeg previews—plus real-time ZIP progress over WebSockets and a Filament
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 13
Type:project
pkg:composer/n3xt0r/dashclip-delivery
Requires
- php: ^8.4
- ext-intl: *
- ext-zip: *
- bezhansalleh/filament-shield: ^4.0
- filament/filament: ^4.0
- gboquizosanchez/filament-log-viewer: ^2.0.0
- laravel/framework: ^12.0
- laravel/reverb: ^1.0
- laravel/tinker: ^2.10.1
- maennchen/zipstream-php: ^3.2
- pbmedia/laravel-ffmpeg: ^8.0
- spatie/flysystem-dropbox: ^3.0
- spatie/laravel-activitylog: ^4.10
- webklex/laravel-imap: ^6.2
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/pail: ^1.2.2
- laravel/pint: ^1.13
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- phpunit/phpunit: ^12.3.12
- dev-master
- 3.x-dev
- 3.0.0
- 3.0.0-beta.3
- 3.0.0-beta.2
- 3.0.0-beta.1
- 3.0.0-alpha.3
- 3.0.0-alpha.2
- 3.0.0-alpha
- 2.x-dev
- 2.5.0
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.2
- 2.0.1
- 2.0.0
- 1.2.1
- 1.2.0
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.1
- dev-develop
- dev-feature/user-channels
- dev-feature/159-einführung-des-zweiten-filament-panels-user-mandantenfähige-selbstverwaltung
- dev-feature/159-standard-panel
- dev-codex/create-video-resource-for-end-user-panel
- dev-feature/121-aufteilung-des-globalen-pools-in-einsender-pools
- dev-hotfix
- dev-fix/ffmpeg
- dev-feature/tests
- dev-refactor/remove-deprecated
- dev-feature/video-upload
- dev-codex/add-video-duration-handling-in-form-submission
- dev-feature/upload-js
- dev-codex/add-video-upload-with-slider-for-selection
- dev-feature/upload
- dev-feature/126-einführung-eines-rollen--und-rechtesystems-für-registrierte-user
- dev-codex/add-integration-tests-for-maillogresource
- dev-codex/add-integration-tests-for-mail-classes
- dev-codex/add-unittests-and-integration-tests-for-branch-2.x
- dev-feature/stats
- dev-codex/replace-app-version-with-githubversion
- dev-codex/update-statistics-view-with-filters
- dev-codex/add-statistics-page-to-backend-hqolyh
- dev-codex/add-statistics-page-to-backend
- dev-optimize/optimize
This package is auto-updated.
Last update: 2025-11-23 22:28:59 UTC
README
Dashclip-Delivery
Project Description
Dashclip-Delivery is a neutral, multi-channel submission and distribution system for dashcam and other
user-generated video content.
It is designed for people who regularly submit the same videos to multiple YouTube channels and need a reliable,
automated workflow for managing, tracking, and distributing their content.
Instead of acting as an upload portal for a single channel, Dashclip-Delivery provides an independent, automated delivery pipeline that serves both submitters and channel operators:
- Videos are ingested from a local folder or Dropbox and automatically deduplicated.
- All clips are processed, previewed, and stored on a configurable storage backend.
- Content is then fairly distributed to participating channels based on quotas, weighting, and availability.
- Channels receive signed, time-limited offer links and can download clips individually or as ZIP bundles.
- All downloads, returns, expirations, and interactions are logged for full transparency.
Dashclip-Delivery is ideal for multi-channel submitters, YouTube channel operators, and anyone who needs a
structured, automated, and privacy-conscious distribution workflow.
A public API is planned to enable external automations and custom integrations.
Features
-
Ingest & Deduplication
Recursive scanning (local or Dropbox) with SHA-256 hashing to prevent duplicate video entries. -
Fair Distribution Engine
Weighted round-robin assignment with optional weekly quotas to ensure balanced distribution across all channels. -
Offer & Notification System
Automatic emails with signed offer links, reminder notifications, and detailed logging of all mail events. -
Offer Page & Downloads
Channels can preview clips, download individual videos, or generate ZIP packages including a metadatainfo.csv. -
Preview Generation
Automatic MP4 preview creation via FFmpeg with configurable compression and scaling. -
Dropbox Integration
OAuth-based linking with automatic token refresh and support for large uploads. -
Return Workflow
Channels can decline or return unwanted clips; the system logs all decisions and redistributes clips if necessary. -
Full Audit Logging
Every action—from ingest to distribution, downloads, returns, and mail events—is recorded for complete transparency.
Prerequisites
- PHP 8.4
- Composer
- Node.js & npm (for building assets)
- ffmpeg
- A Laravel-supported database (e.g., SQLite)
- Optional: Dropbox app with Client ID and Secret
Installation
cp .env.example .env composer install npm install php artisan key:generate php artisan migrate
Useful Commands
| Command | Description |
|---|---|
php artisan ingest:unzip |
Extracts ZIP files from a directory. |
php artisan ingest:scan |
Scans the upload folder and stores new videos. |
php artisan info:import |
Imports clip information from an info.csv. |
php artisan assign:distribute |
Distributes videos to channels. |
php artisan notify:offers |
Sends offer links via email. |
php artisan notify:reminders |
Notifies channels about pending offers before expiration. |
php artisan assign:expire |
Marks expired assignments and temporarily blocks channels. |
php artisan dropbox:refresh-token |
Refreshes the Dropbox token. |
php artisan weekly:run |
Executes Expire → Distribute → Notify in sequence. |
php artisan video:cleanup |
Deletes downloaded videos whose expiration has exceeded the specified number of weeks. |
Documentation
Detailed explanations of structure and usage can be found in the docs directory:
Tests
composer test
License
This project is dual-licensed:
- AGPL-3.0-or-later - Free for open source use
- Commercial License - For proprietary use
See the respective license files for details.
Contact for commercial licensing: info@php-dev.info
Copyright
Copyright (c) 2025 Ilya Beliaev This project includes code licensed under AGPL-3.0. Commercial licensing available separately.