Skip to content

bonny1992/vidmerger

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

fusion gif

Vidmerger

A wrapper around FFmpeg which simplifies merging of multiple videos.

graph LR;
Video_A-->Vidmerger;
Video_B-->Vidmerger;
Vidmerger-->FFmpeg;
FFmpeg-->Video_A+B;
Loading

fusion gif

πŸ™‰ What is this exactly?

Vidmerger is a command-line-tool which uses ffmpeg to merge multiple video-files with the same file-extension into one file, for example running vidmerger . on mp4 files would create a merged video called output.mp4 🐣

Here is the usage help of vidmerger πŸ€—

USAGE:
    vidmerger [FLAGS] [OPTIONS] <DIR>

ARGS:
    <DIR>    Sets the input file to use

FLAGS:
    -h, --help        Prints help information
    -p, --preview     Prints previews of the merge-orders without merging them
        --shutdown    For doing a shutdown at the end (needs sudo)
    -V, --version     Prints version information

OPTIONS:
    -f, --format <format>    Specifies which formats should be merged individually, the default is
                             πŸ‘‰ avchd,avi,flv,mkv,mov,mp4,webm,wmv
    -s, --scale <scale>      Scales all videos up before merging, a valid value would be "320:240"

✨ Installing / Getting started

You can install it on all the three major operating systems πŸ€—

Platform Packager Command
🍎 MacOS 🍺 Homwbrew brew tap tgotwig/vidmerger
brew install vidmerger
🐧 Linux 🍺 Homwbrew brew tap tgotwig/linux-vidmerger
brew install vidmerger
πŸ³οΈβ€πŸŒˆ Windows 🍫 Chocolatey choco install ffmpeg # prerequisite
choco install vidmerger

Alternatively you can install it over Wget on Linux:

sudo wget -c https://github.com/TGotwig/vidmerger/releases/latest/download/vidmerger-linux.tar.gz -O - | sudo tar -xz -C /usr/local/bin

🐳 Run it without installing

You can also use Docker to run vidmerger without installing anything except Docker, hosted on Dockerhub.

docker container run -v <ABSOLUTE-PATH-TO-YOUR-VIDEOS>:/data tgotwig/vidmerger

Example with Bash:

docker container run -v `pwd`/data:/data tgotwig/vidmerger

βš™οΈ Developing

Built With

Rust and some listed Crates inside of Cargo.toml under dependencies.

Prerequisites

Setting up Dev

Once you are done with installing the prerequisites, you should run make to see if everything runs smooth:

git clone git@github.com:TGotwig/vidmerger.git
cd vidmerger
make

Also click on fork from the top right corner of this repository and run:

git remote add <your-github-name> git@github.com:<your-github-name>/vidmerger.git

Here is a little tutorial about working with forks along with GitKraken πŸ™

Building

Run make build to build for Mac, Linux and Windows. You can find the compressed Mac & Linux .tar.gz-archives for Github under target/tars, the .exe file for Windows under tools.

Deploying / Publishing

Automated steps

  • Homebrew (MacOS & Linux): Gets automatically deployed by release.yml after pushing a git tag.

Manual steps

Increasing all versions by find and replace, then after make build:

  • Chocolatey (Windows): Edit the hash inside of tools/VERIFICATION.txt and run make publish-choco.
  • Dockerhub: Run make publish-dockerhub.

πŸ“¦ Versioning

We use SemVer for versioning.

πŸ§ͺ Tests

  • For major tests: make test (requires yt-dlp / youtube-dl and ffmpeg to be installed)
  • For linting tests: make lint

🌟 Style guide

πŸ“œ Licensing

MIT License with β€œCommons Clause”.

About

πŸ“Ό Merge videos from command line

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 82.3%
  • Makefile 16.9%
  • Dockerfile 0.8%