115 Commits

Author SHA1 Message Date
5db760d1a1 Makes video filters automatically combine to allow de-interlacing when filters are executed 2024-12-27 15:02:05 +01:00
506273cbcd Removes flac conversion for h265 2024-12-15 13:47:43 +01:00
4fdbfb28e3 Adds an audio extractor 2024-10-12 01:37:40 +02:00
87f5743a24 Adds option for overwriting original files 2024-07-18 14:07:51 +02:00
972691db76 Removes inclusion of external audio files, as ffmpeg produces audio streams with no sound 2024-07-10 19:53:03 +02:00
2145bfb8ea Improves handling of cover images 2024-07-09 19:37:05 +02:00
c0249c3b3a Adjusts the Signs/Songs RegEx 2024-07-06 01:55:02 +02:00
da67b195de Adds a converter for converting video audio to vorbis 2024-07-05 11:11:20 +02:00
5238697c70 Automatically fixes jap misspelling for Japanese streams 2024-06-10 14:36:19 +02:00
32be7d0aec Slightly alters the signs & songs RegEx 2024-06-09 03:44:09 +02:00
1ceb378757 Various smaller improvements
Improves Signs & Songs subtitle RegEx
Adds tests for the Signs & Songs subtitle RegEx
Automatically changes "enm" language to English
Makes the downscale converter select HEVC if the input is HEVC
2024-06-07 15:46:51 +02:00
1dc489a6f8 Adds a de-interlace module and stuff
Adds a module to de-interlace when converting a video. It's enabled by a new configuration option.
Fixes some bugs in the letterbox cropper
Adds mpeg4 to video formats
2024-05-29 17:06:32 +02:00
c0c8c9c054 Adds a Letterbox cropper, and fixes cover images for the anime converter
Adds a new letterbox cropper, which will use 10 samples at 30 points in a video in order to find the correct crop to remove letter-boxing.
Makes sure to always copy codec of cover images, as ffmpeg treats them as video streams.
2024-05-25 00:15:41 +02:00
c3c89fcb75 Adds a new converter for purely re-ordering and filtering streams 2024-05-20 19:33:51 +02:00
380a1b800a Improves configuration handling and stuff 2024-05-19 10:16:51 +02:00
ac25ca1986 Changes some things
Removes any forced subtitles when changing the default stream
Makes the title filter accept a list of filters, and allows using it for sorting rather than filtering
2024-05-06 01:32:19 +02:00
dae93b9f81 Adds filtering for audio description tracks 2024-05-05 03:50:07 +02:00
d46f12e690 Copies audio and other streams for the MKV to H265 reduced converter 2024-04-23 14:00:15 +02:00
92b46bdc9e Adds external audio parsing and other fixes
Trims subtitle tiles before checking if it's full
Generalizes some stream parsing
Fixes an exception when a stream tag is set, but has no value
Looks for both subtitle and audio streams adjacent to the main file
2024-04-21 19:54:45 +02:00
ded88eb5b5 Makes the anime converter map unknown streams 2024-04-20 00:43:52 +02:00
3c9fa55585 Fixes various issues
Makes it possible to turn off all types of hardware acceleration for all converters
Only encodes anime to hevc if not already hevc
Adds an option to force hevc to hevc encoding, for the anime converter
Adds an option to force encoding of audio, for the anime converter
Fixes a bug causing the codec name to not be parsed
Fixes an exception when trying to sort an empty list
Fixes order of sorting in the anime converter
Adds another signs songs filter
2024-04-19 13:05:12 +02:00
d487df0e78 Attempts to fix compilation 2024-04-17 15:57:28 +02:00
4ebd29b358 Makes it possible to enable debug mode
Debug mode is now enabled if the property `debug = true` is set in `conf/config.properties`
Changes code for reading internal configurations
Changes many primitive lists to List<>
Adds some missing annotations
Renames the main class
2024-04-17 15:35:09 +02:00
f0e75eb440 Adds a new type of anime converter and stuff
Adds a new type of anime converter that retains all streams, but converts the video to hevc, and re-orders the streams
Adds support for several types of encoding hardware acceleration that are automatically disabled if not available on the system.
Adds automatic hardware decoding acceleration.
Automatically removes empty files if ffmpeg fails.
2024-04-17 04:39:42 +02:00
461c7552b3 Adds converter modules and sorters
Converters are now the result of combining multiple modules, and running them in the selected sequence. I hope to be able to completely remove converters by replacing them with templates that simply run some modules in a sequence, before running FFmpeg. Then I want to be able to parse a command into a template, so users have full control of what a template does.

Sorters each sort a list of streams after a single criteria. They can be chained in order to create complex chained sorters.
2024-04-12 15:31:34 +02:00
376d5655f2 Improves FFMpeg command generation
Adds an object for storing FFmpeg variables. This allows any argument type to be added at any time, removing the limitation of having to add to the command in a specific order.
Makes stream objects store the index of the input file they belong to.
Saves the result of probes to a record that's easy to pass around.
Always passes all probed files to the input files of ffmpeg.
Makes it easier to enable h26x encoding/decoding when necessary.
Removes the hard-coded behavior for external subtitles, and allows any stream to be an external stream.
2024-04-08 20:00:09 +02:00
be88845731 Makes getting any stream info much easier
Adds some methods for parsing Strings as other objects without resulting in exceptions.
Adds a class for representing all possible stream info tags.
Makes streams parse data themselves, after receiving all tags set for the stream.
Changes Java version to Java 16
2024-04-08 00:47:48 +02:00
2c75d91cce Adds a converter to embed subtitles 2024-03-27 12:36:11 +01:00
2962114601 Simplifies pom.xml somewhat 2024-03-15 03:44:55 +01:00
692d9e79d2 Fixes some warnings 2024-03-15 02:09:46 +01:00
6c614b2f17 Adds a video downscaler 2024-03-15 01:20:26 +01:00
346a5e0606 Adds another signs and songs match 2024-02-25 22:20:58 +01:00
2346e651ef Adds new converters
Adds a MKV to HEVC converter which aims to reduce file-sizes
Adds a MKV to MP4 transcoder which allows selection of each type of stream
2023-11-14 17:10:45 +01:00
f81a21b9e9 Makes extension check case insensitive 2023-08-31 03:03:59 +02:00
56f5e31934 Fixes subtitle mapping for video with only external subtitles 2023-08-12 22:14:46 +02:00
5d94cabca0 Adds a MKV to h264 MKV converter 2023-07-27 17:39:18 +02:00
a9ea1f796a Makes sure to catch a signs misspelling when looking for signs & songs 2023-07-15 16:42:31 +02:00
32ec50ba7d Fixes incorrect video stream index
This fixes the absolute video stream index being used instead of the relative video stream index when converting a video with image (PGS) subtitles.
2022-12-23 02:09:29 +01:00
3c298f623e Adds ability to filter subtitle streams based on the title 2022-10-11 23:13:45 +02:00
1323513e46 Adds ability to force-select specific audio and subtitle streams for the anime converter 2022-10-09 23:53:39 +02:00
388563574f Fixes case of a songs/signs check 2022-09-30 21:48:20 +02:00
750498810c Adds a new Songs and Signs check 2022-09-30 03:55:32 +02:00
c9bd648437 Fixes only getting a partial regex match when deciding whether a subtitle is partial/forced or not 2021-01-26 18:12:34 +01:00
9c189b5dff Adds tests for the parser 2021-01-21 13:49:20 +01:00
6eec3d7969 Splits the parse function into more readable functions 2021-01-21 13:48:55 +01:00
8b0e394ac8 Finishes the parser. It should theoretically work now 2021-01-21 03:57:03 +01:00
8fb32402c7 Adds a check to make sure an expected comma separated list can be parsed to a list 2021-01-21 03:55:44 +01:00
4674f1276c Writes a lot of the code necessary for the parse function to work, though it's still not finished 2021-01-21 02:12:50 +01:00
87f2591d3b Adds missing comments for the converter argument class and adds a shorthand parameter 2021-01-21 02:11:25 +01:00
6cab649b1c Replaces the converter argument value SINGLE_VALUE with string as it makes more sense 2021-01-21 02:10:40 +01:00