• Stars
    star
    550
  • Rank 80,860 (Top 2 %)
  • Language
    PHP
  • License
    MIT License
  • Created over 1 year ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Generate subtitles, summaries, and chapters from videos in seconds

Subvert

Docker Semver Docker Pulls

Generate subtitles, chapters, and summaries of videos in seconds with the help of OpenAI.

🚧 This is very much a work-in-progress, please create issues for bugs if they appear 🚧

Demo gif of Subvert converting a video

Getting started

You'll need:

Subvert is self-contained in a single Docker image and can be started with a one-line command:

docker run -it -p 80:8080 -e OPENAI_API_KEY=sk-123abc aschmelyun/subvert

This will boot up a server running the application and make it available to your machine at http://localhost.

How it works

After selecting a video file to process, you have the option of choosing whether you also want to generate chapters and a summary.

Your video is sent to an API where the audio is extracted from it using FFMpeg, and then sent to OpenAI's Whisper model for transcription into the common vtt format.

If you chose to select chapters or a summary, that transcript is then sent to a ChatGPT model for processing into concise chapters of the length you wanted, and a brief summary that would fit in something like a YouTube description.

Configuration

You can adjust a few parameters in the container by passing in environment variables with your command using additional -e flags. Here are the current ones you can add:

  • OPENAI_API_KEY (required) - Sets the key responsible for communication with OpenAI's APIs. No default.
  • UPLOAD_MAX_FILESIZE - Changes PHP's UPLOAD_MAX_FILESIZE setting. Default: 256M
  • MEMORY_LIMIT - Changes PHP's MEMORY_LIMIT setting. Default: 512M

Starting from source

Alternative, if you have PHP 8.1+ and npm installed on your local machine, you can boot the application up directly from the source code instead.

First, check out this repo to your desired location. Then, navigate to the src directory and run:

./startup.sh

Alternatively, you can run the commands inside of the startup.sh script individually for the same result.

Deploying

Because this project is contained in a single Dockerfile, it can be deployed immediately to any server provisioned with Docker. Alternatively, the Subvert Docker image can be ran on cloud instances via AWS, Azure, GCP, Fly.io, etc.

Note: This image currently only exposes the insecure :80 http port.

License

The MIT License (MIT). Please see License File

More Repositories

1

docker-compose-laravel

A docker-compose workflow for local Laravel development
Dockerfile
2,305
star
2

larametrics

A self-hosted metrics and notifications platform for Laravel apps
CSS
618
star
3

cleaver

🔥🔪 A blazing-fast static site generator using Laravel's Blade templating engine
PHP
264
star
4

fleet

Run multiple Laravel Sail websites locally with custom domain names and https
PHP
234
star
5

docker-compose-wordpress

A docker-compose workflow for local WordPress development
Dockerfile
203
star
6

github-receipts

Source code that powers my GitHub issues receipt printer
PHP
182
star
7

use-the-keyboard

A collection of keyboard shortcuts for Mac apps, Windows programs, and websites.
Blade
154
star
8

laravel-job-board

A modest job board platform built with Laravel. Follow along with the videos below to get an in-depth look at its development.
PHP
122
star
9

laravel-vue-stripe-cashier

A very basic ecommerce app built with Laravel, Vue, and Cashier (Stripe)
PHP
55
star
10

simple-toggle-sites

A very basic Chrome extension to quickly block or unblock a list of websites
SCSS
53
star
11

size

Simple PHP helper to convert bytes to different sizes
PHP
47
star
12

cleaver-directory

🔥📍 A blazing-fast static site generator for local directories built with PHP and Laravel's Blade
Blade
47
star
13

laravel-links

A Linktree clone built with Laravel featuring user accounts and visitor information
PHP
39
star
14

video-laravel-docker-deployment

The source behind the Docker deployment with Laravel video
PHP
36
star
15

listpal

A synchronized to-do app built with Laravel, Vue, and laravel-websockets
PHP
36
star
16

reqon

Effortlessly intercept and inspect http requests
TypeScript
29
star
17

laravel-grafana-dashboard

A simple data dashboard built with Laravel, MySQL, and Grafana, all tied together under a Docker network
PHP
28
star
18

laravel-scheduled-tasks-docker

An example set up for using Laravel's scheduled tasks with Docker
PHP
25
star
19

docker-compose-traefik

A basic example of a reverse proxy with Docker Compose and Traefik
PHP
24
star
20

andrewber

Final source code from the "Build A Ride Share App with Laravel and Vue" tutorial
PHP
23
star
21

geolocation-google-maps-vue

The source code behind the "Adding Geolocation and Google Maps to Vue Applications" video
Vue
21
star
22

video-auth-vue-laravel-sanctum

The source code behind the "Authentication in Vue using Laravel Sanctum" video
PHP
14
star
23

video-populating-google-map-vue-laravel

The source code for the app shown in my Populating a Google Map with Vue and Laravel video
PHP
13
star
24

video-amazon-s3-storage

The source code in the "Getting started with Amazon S3 storage in Laravel" video
PHP
13
star
25

video-auth-laravel-passport

Source code behind the "Getting started with Laravel Passport and OAuth2" video
PHP
12
star
26

laraplace

A basic r/place clone built with Laravel and Vue using websockets for real-time interactivity.
PHP
9
star
27

video-5-laravel-eloquent-tips

The source code for the app shown in my 5 Tips For Supercharged Laravel Eloquent Queries video
PHP
9
star
28

mdsee

Easily view markdown files in the browser and automatically see any changes
JavaScript
9
star
29

lc-the-docker-tutorial

Source code behind the Laracasts series: The Docker Tutorial
Dockerfile
7
star
30

jstophp

A (very) basic list for JavaScript developers interested in learning PHP
EJS
6
star
31

dices-pizza

Example pizza tracking app built with Laravel, React, and Inertia.js
PHP
5
star
32

lc-image-uploading-vue-laravel

Source code behind the Laracasts Series: Image Uploading with Vue and Laravel
PHP
5
star
33

basic-feeds

📜✏️ A simple PHP library to generate RSS and Atom feeds
PHP
4
star
34

site

Source code behind aschmelyun.com, built with Cleaver
PHP
4
star
35

jira-external-links

Chrome extension that opens external Jira links in a new tab
JavaScript
4
star
36

active-links

Update link classes if their href matches the current url
JavaScript
4
star
37

rpi-home

The source for my Raspberry Pi home server powered by Docker + Laravel + Grafana + Vue
PHP
3
star
38

video-vue-converting-composition-api

The source code behind the video "Converting a Vue component to the Composition API"
Vue
3
star
39

dates.wtf

The source behind dates.wtf
JavaScript
3
star
40

cleaver-site

The source behind usecleaver.com
Blade
3
star
41

laravel-auth-videos

The source code behind the series of videos produced on Laravel's authentication options
PHP
3
star
42

quickmetrics-laravel

Making integration with quickmetrics.io easier for Laravel apps
PHP
3
star
43

gpc

General purpose containers - A handy bash file for running common Docker containers
Shell
2
star
44

parody

Create a fully-featured, pre-populated test API with authentication built in
Dockerfile
2
star
45

parody-blog

A blog style API scaffold for Parody
PHP
2
star
46

taro

A blazing-fast static site generator that uses JSON content files and the Laravel blade templating engine
PHP
2
star
47

lc-larabit-favorite-laravel-collections-methods

Source code behind the Laracasts Larabit: My Favorite Laravel Collections Methods
PHP
2
star
48

lc-larabit-mysql-json-columns

Source code behind the Laracasts Larabit: Using MySQL JSON Columns with Laravel
PHP
2
star
49

lc-larabit-first-typescript-component

Source code behind the Laracasts Larabit: Create Your First TypeScript Component
Vue
1
star
50

ffgen

A command-line wrapper for the fontfacegen package
JavaScript
1
star
51

lc-larabit-pinia-overview

Source code behind the Laracasts Larabit: Pinia Overview
Vue
1
star
52

laravel-coreui-starter-kit

A Laravel and CoreUI-powered dashboard starter kit
PHP
1
star
53

lc-larabit-manipulating-photos-intervention-image

Source code behind the Laracasts Larabit: Manipulating Photos in Laravel with Intervention Image
PHP
1
star
54

lc-offline-first-vue

Source code behind the Laracasts Series: Let's Build an Offline-First Vue App
JavaScript
1
star
55

larametrics-docs

The source behind larametrics.com
JavaScript
1
star
56

endive

Simplistic SCSS framework to assist in rapid front-end development
CSS
1
star
57

lc-larabit-whats-new-in-alpinejs

Source code behind the Laracasts Larabit: What's New in Alpine.js (Dec 2021)
CSS
1
star
58

github-actions-docker-phpunit

Example project using phpunit for the GitHub Actions Docker video
PHP
1
star
59

laravel-docker-site

The source behind the laraveldocker.com website
PHP
1
star
60

passhints

A collection of password hints and requirements for websites and mobile apps.
SCSS
1
star
61

parody-todo

A to-do list style API scaffold for Parody
PHP
1
star
62

aschmelyun.com

The source of aschmelyun.com
HTML
1
star
63

lc-larabit-db-query-gotchas

Source code behind the Laracasts Larabit: Common Database Query Gotchas
PHP
1
star
64

calcite

A front-end framework for rapid web development and prototyping
HTML
1
star
65

textrepo

📝 A super light-weight notes app powered by Vue and IndexedDB
CSS
1
star
66

lc-larabit-creating-using-custom-blade-directives

Source code behind the Laracasts Larabit: Creating and Using Custom Blade Directives
PHP
1
star
67

whatsopentc

What's Open Treasure Coast - A local directory showing restaurants that are open during COVID-19
HTML
1
star
68

lc-larabit-laravel-octane-overview

Source code behind the Laracasts Larabit: A High-Level Overview of Laravel Octane
PHP
1
star