Convert your media library in the background!
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Didier 3c6b609026 Merge branch 'fix-code' into 'main'
Fix code: logging and verification period

See merge request didier/ffmpeg-mc!19
6 months ago
.idea Initial Commit 7 months ago
bin Docker and bin 7 months ago
docker fix+feat: added development docker build and fixed docker issue 7 months ago
src Merge branch 'fix-code' into 'main' 6 months ago
.dockerignore fixed code, added logs, fixed build scripts, imports 7 months ago
.gitattributes Docker and bin 7 months ago
.gitignore fix: ubuntufy dockerfile as ffmpeg is not working on alpine. 7 months ago
Cargo.lock fixed code, added logs, fixed build scripts, imports 7 months ago
Cargo.toml fixed code, added logs, fixed build scripts, imports 7 months ago
README.md Merge branch 'main' into 'docs-emit-new-vars' 6 months ago
build feat: help command 6 months ago

README.md

What is this?

This is a simple script that converts your media library to open source formats which are supported by most devices.
Written in rust, it uses ffmpeg to convert the files.

How to compile?

I've made a nifty script that will create a docker image.
Use: ./build -d

Or if you like to make things difficult there is also a script that will compile bare metal.
Use: ./build (-t)
The -t flag will tarball the dist folder when done.

Troubleshooting

SUM MISMATCH: ...

When you get this error it means that the sum of the file doesn't match the one that was provided at compile time.
You can change the sum by editing the run file in the dist folder.
If you compiled with strict mode and want to run it nonetheless, you can set the STRICT environment variable to no.

Environment Variables

VAR Explanation Default Allowed Values
EXTENSIONS Which extensions to convert e.g. mkv mp4 webm none file extensions, seperated by spaces
MEDIA_DIR This will define where the script starts searching /library An existing path
LOG_DIR This will create a log file in the specified directory /data/logs An existing path
CRF This will set the FFMPEG CRF parameter 30 A number
FFMPEG_BIN This will set which ffmpeg binary will be used. /app/ffmpeg A path to a binary
KEEP_ORIGINAL This will determine if the script will rename the original file to e.g. original.mp4.bak no yes or no
DRY_RUN Wheter to run dry no yes or no
VIDEO_CODEC Which video codec to use libsvtav1 any supported codecs by the ffmpeg bin
AUDIO_CODEC Which audio codec to use libopus any supported codecs by the ffmpeg bin