automatically create dumb video edits
Go to file
2022-06-28 21:23:34 -05:00
src Speed up or slow down some clips randomly 2022-06-28 21:06:59 -05:00
.gitignore Various improvements 2022-06-28 17:45:21 -05:00
fetchassets.sh Initial Commit 2022-06-28 08:37:35 -05:00
index.js no longer log __dirname 2022-06-28 21:23:34 -05:00
LICENSE Concatenate in chunks, + other improvements 2022-06-28 11:45:52 -05:00
package-lock.json Various improvements 2022-06-28 17:45:21 -05:00
package.json Various improvements 2022-06-28 17:45:21 -05:00
README.md Rephrase README.md 2022-06-28 21:14:24 -05:00

birdgen

Create YTP-style shitposts. Powered by ffmpeg and NodeJS, inspired by YTP+

Installation

Be sure to have ffmpeg installed and in your $PATH.

then, run git clone https://git.gay/h/birdgen {PATH TO YOUR DESIRED BIRDGEN FOLDER}

cd to the birdgen folder you just created. Add sounds to the sound folder, music to the music folder, and extra clips to splice into the YTP in the video folder.

If you'd like to use the assets used by YTP+ (along with a vine boom sound effect because why not), run the included fetchassets.sh bash script (Requires git and yt-dlp).

Usage

cd into the birdgen folder. Then, run node index.js -i {Input video file path} -o {Output video file path} to edit a video.

To be able to use birdgen in any directory, run npm install -g {PATH TO YOUR BIRDGEN FOLDER}. Then, you can use the command birdgen from anywhere.

Optional arguments

  • --chaos The chaoticness of the edit from 0 to 100 (Changes how many clips birdgen will split the input file into. Higher numbers result in more edits)
  • --ffmpeg-processes Number of ffmpeg processes to run at a time (Not used for concatenation)
  • --chunk-size How big of chunks to concatenate at once (Lower numbers may take longer, but will use less memory)
  • --detect-scenes Instead of splicing out silent parts and then adding sound effects on each jump cut, add sound effects on each scene-change (When the video goes to a new camera shot). When this is enabled, chaos controls sensitivity (1 takes a lot of the frame to change before counting it as a scene change, 100 detects almost any movement at all)

For example: node index.js -i {Input file} -o {Output file} --chaos 50 --fmpeg-processes 4 --chunk-size 10 for 50% chaoticness, 4 ffmpeg processes, and 40 clips per chunk. This is the default.

Advanced features

Video category forcing

You can make sure a random music file or sound file is always played with one of your video assets.

Rename the video file to {name}.{category}.mp4. For example, dramatic.music.mp4 will always have a random music asset playing with the video.

This is useful for if you have a silent video, and would like for it to always have music attached.

To force a video clip to always have the same specific music or sound, instead of just a random one, you must add the music/sound to the video file yourself in your favorite video editor.

LICENSE

birdgen is under the Unlicensed license.