Skip to content
Projects

muxinc/truckload has 39 GitHub stars and 3 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 05:38 UTC. Last push 2026-09-29.

How these counts are measured

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

Migrate your videos to any supported service

Creative & Media

README.md

Original
Truckload

Truckload

Migrate your video collection to a new platform with ease.

Getting started

First, clone the repository and install dependencies:

git clone https://github.com/muxinc/truckload.git
cd truckload
npm install

Next, create a .env.local file in the root directory with your API keys and other configuration settings:

cp .env.example .env.local

Finally, start the app:

npm run start:dev

This will start server instances for the Next.js app and PartyKit.

Truckload stack

About Workflow

Truckload uses the Vercel Workflow SDK to orchestrate video migration jobs. Workflows and steps are defined using 'use workflow' and 'use step' directives. In development, workflows run locally via the built-in workflow runtime.

About the PartyKit server

PartyKit is a comprehensive solution for real-time sync within your application.

In this app, we're using it to receive status updates from the video migration background jobs. Truckload uses a local PartyKit server on port 1999 to receive these notifications and pipe them back to the front-end for status updates.

How it works

Truckload uses a simple workflow to migrate videos from one platform to another. Here's a high-level overview of the process:

Truckload map

Authentication requirements

When using this app to migrate videos to a new platform, you'll need to authenticate with both the source and destination services to ensure that you have the necessary permissions to perform the desired actions (e.g. fetching video metadata, creating master files, uploading videos, etc.)

Here's a list of the authentication requirements for each service:

Provider Requirements Resources
Amazon S3 Access Key and Secret, bucket name, region AWS SDK v3 API docs
Api.video API Key API docs
Cloudflare Stream API Token, Account ID API docs
Vimeo Access Token API docs
Mux Token ID and Secret API docs

How asset status is tracked

After transferring a video to Mux, the workflow polls the Mux API until the asset status is ready (or errored). This eliminates the need for webhooks and ngrok tunnels during local development.