A wrapper around FFmpeg which simplifies merging of multiple videos.
graph LR;
Video_A-->Vidmerger;
Video_B-->Vidmerger;
Vidmerger-->FFmpeg;
FFmpeg-->Video_A+B;
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"
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
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
Rust and some listed Crates inside of Cargo.toml under dependencies.
- Rust 2021
- yt-dlp or youtube-dl
- ffmpeg
- If you are on Windows and want to have the
make
command: Windows Subsystem for Linux with Ubuntu
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 π
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.
- Homebrew (MacOS & Linux): Gets automatically deployed by release.yml after pushing a git tag.
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
.
We use SemVer for versioning.
- For major tests:
make test
(requiresyt-dlp
/youtube-dl
andffmpeg
to be installed) - For linting tests:
make lint