https://github.com/zevaverbach/viraloverlay
Timed Text Overlaid on Videos!
https://github.com/zevaverbach/viraloverlay
Last synced: 3 months ago
JSON representation
Timed Text Overlaid on Videos!
- Host: GitHub
- URL: https://github.com/zevaverbach/viraloverlay
- Owner: zevaverbach
- Created: 2019-02-04T17:47:10.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-09T03:09:55.000Z (over 7 years ago)
- Last Synced: 2025-11-21T20:11:38.218Z (8 months ago)
- Language: Python
- Size: 73.5 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ViralOverlay™
Add styled, timed text to videos 'n GIFs! Kinda like this:

# Usage
vo [OPTIONS] FILEPATH OVERLAY_DATA
OVERLAY_DATA: a JSON file path OR a JSON-formatted string containing an
array of overlays, each containing key-value pairs of at least "text",
"start", and "stop". optional keys: "font_size", "font_color",
"text_position_x", and "text_position_y"
Options:
-g, --gif output to GIF instead of MP4
-f, --font-path TEXT path to the font you'd like to use.
--help Show this message and exit.
## Example
$ vo [--gif --font]
(lots of ffmpeg output...)
Okay, I overlaid your text on .
## JSON Transcript Format
The `json_transcript` string or file should look like this:
[
{
"start": 1.03,
"stop": 1.21,
"text": "I"
},
{
"start": 1.21,
"stop": 1.44,
"text": "am"
},
{
"start": 1.45,
"stop": 1.84,
"text": "saying"
},
{
"start": 1.85,
"stop": 2.25,
"text": "some"
},
{
"start": 2.25,
"stop": 2.97,
"text": "words"
}
]
See sibling projects [Transcribe all the Things](https://github.com/zevaverbach/tatt) and [tpro](https://github.com/zevaverbach/tpro) for easy, automatic generation of such transcripts.
# Installation
pip install viraloverlay
brew install ffmpeg # (if you don't have ffmpeg already)