A wrapper to ffmpeg that simplifies repetative tasks related to managing downloaded movies.
To run, first clone this repo:
git clone https://github.com/jesse-kaufman/video-edit
Then install the dependencies:
`npm ci`
npm start [command] [inputFile]
Extracts all text-based English subtitles from input file to subrip format.
- Runs
extract-subs
- Strips all non-English audio streams
- Strips all non-English subtitles
- Sets language to "eng" on all streams
- Sets audio / subtitle stream titles appropriately
- Removes all non-English audio streams
- Converts all remaining audio streams to AAC (if not already in AAC format)
- Uses
libfdk_aac
encoder if present, otherwise falls back to the defaultaac
encoder
- Uses
- Sets language metadata on audio stream to "eng"
- Converts main video stream to h265
- Runs
extract-subs
- Removes all non-English audio streams
- Removes all non-English subtitle streams
- Removes all text-based subtitle streams
- Maps and converts all remaining audio streams to AAC (if not already in that format)
- Maps and converts primary video stream to h265 (if not already in that format)
- Maps all remaining image subtitle streams
Sets metadata on streams in input file.
Prints file/stream info for input file.
* Commands marked with an asterisk are not yet implemented.
- Add
set-meta
command- Set title for all stream types
- Set language for all stream types
- Set default audio stream
- Add
info
command - Print list of input file streams and proposed output file streams before processing
- Input file stream info is the same as
info
command
- Input file stream info is the same as
- Add summary after processing