hugegull grabs random sections of variable durations from streaming videos and stitches them together into a single, cohesive highlight video.
It supports local files, YouTube links, Twitch streams, and direct .m3u8 URLs.
The easiest way to install hugegull is globally via pipx or uv:
pipx install git+https://github.com/madprops/hugegull --forceOr
uv tool install --python python git+https://github.com/madprops/hugegull.gitAlternatively, you can clone the repository and set up a shell alias:
git clone https://github.com/madprops/hugegull ~/code/hugegull
"./install.sh"
alias hgg="~/code/hugegull/run.sh"You can pass URLs directly to the program. The output name will be randomly generated unless specified.
Basic Usage:
hugegull "https://something.m3u8"Multiple Sources:
hugegull "https://something.m3u8" "https://otherthing.m3u8"
# OR
hugegull --url "https://something.m3u8" --url "https://otherthing.m3u8"With Options:
hugegull "https://something.m3u8" --name "nice video" --openUsing Environment Variables:
export HUGE_URL="https://something.m3u8" "https://otherthing.m3u8"
export HUGE_NAME="nice video"
hugegullhugegull can be configured via Command Line Arguments, Environment Variables, or a TOML configuration file.
The default configuration file is located at ~/.config/hugegull/config.toml. It is created automatically on your first run.
path = "/home/memphis/toilet"
duration = 35.0
fps = 30
crf = 30
gpu = "amd"
amount = 1
fade = 0.03Run hugegull --help
To make running hugegull even faster, you can add these snippets to your shell configuration.
alias hgg="hugegull"
# Or if installed manually: alias hgg="python ~/code/hugegull/main.py"
function egull
set -x HUGE_URL $argv[1]
endThen you can do:
egull "https://something.m3u8" "https://otherthing.m3u8"
hggThere is a graphical user interface that can be spawned with --gui.
The GUI has some tricks, like clicking URL List to paste urls.
Middle clicking to restore defaults.
Middle clicking the - and + buttons to dec or inc 0.5 instead of 1.

