Skip to content

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 admin for channels/assignments.

License

Notifications You must be signed in to change notification settings

N3XT0R/dashclip-delivery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,614 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI Maintainability Code Coverage Security Rating Latest Stable Version Latest Unstable Version License

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 metadata info.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

This project is tested with BrowserStack.

Local unit and feature tests:

composer test

License

This project is dual-licensed:

See the respective license files for details.

Contact for commercial licensing: [email protected]

Copyright

Copyright (c) 2025 Ilya Beliaev This project includes code licensed under AGPL-3.0.

About

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 admin for channels/assignments.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •