The idea of the mediaconverter is to take a directory or directory tree of media files and reencoding everything not matching a template.
This can be used for different things:
- To create a smaller represention of a audio library which should be transfered to a small player, reducing bitrate and channels, ccause the small audioplayer lacks playback quality and memory.
- To reencode a video library, so that specific players, like jellyfin can play them back withou reencoding
- To remove unnessary data from media files, like multiple audio/video streams
currently only reencodes with new bitrate, does not change resolution
Requires Node (18) and ffmpeg installed. After checking out the repo
npm install
analyze videos, grouping them together to show resolutions and bitrates
npm start -- analyze /home/user/Videos
convert vieos that dont match the config/videos.json
template
npm start -- copy /home/user/Videos ./convertedVideos
convert some mp3 folder audiobooks to .m4b audiobooks
npm start -- audiobook /home/user/Audiobooks ./convertedBooks