birdgen/README.md
2022-06-28 21:14:24 -05:00

44 lines
2.4 KiB
Markdown

# 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.