Skip to content
forked from dnbn/submerge

Watch movies with 2 subtitles at the same time

License

Notifications You must be signed in to change notification settings

linjonh/submerge

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

submerge

Submerge is a tool that aims to merge two subtitles into one ASS displaying both: one at the top of the screen, the other at the bottom. It can also be used to convert SRT to ASS or ASS to SRT, or to change the encoding of a file.

The project is made up of three sub-project :

  • submerge-api : a library to manage SRT and ASS subtitles
  • submerge-web : the website available at www.submerge.ovh
  • submerge-cli : a command line application with the exact same features as the website, see how to use it here

Basic use of submerge-api

<dependency>
  <groupId>com.github.dnbn.submerge</groupId>
  <artifactId>submerge-api</artifactId>
  <version>1.9.2</version>
</dependency>

Parsing ASS subtitles:

File file = new File("subtitle.ass");

ASSParser parser = new ASSParser();
ASSSub subtitle = parser.parse(file);

System.out.println(subtitle.toString());

Parsing SRT subtitles:

File file = new File("subtitle.srt");
SRTParser parser = new SRTParser();

SRTSub subtitle = parser.parse(file);

System.out.println(subtitle.toString());

Using interfaces:

File file = new File("subtitle.srt");
String extension = FilenameUtils.getExtension(file.getName());

SubtitleParser parser = ParserFactory.getParser(extension);
TimedTextFile subtitle = parser.parse(file);

System.out.println(subtitle.toString());

ASS to SRT:

File file = new File("subtitle.ass");

ASSParser parser = new ASSParser();
ASSSub ass = parser.parse(file);

SubmergeAPI api= new SubmergeAPI();
SRTSub srt = convert.toSRT(ass);

System.out.println(srt.toString());

SRT (or ASS) to ASS:

File file = new File("subtitle.srt");
String extension = FilenameUtils.getExtension(file.getName());

SubtitleParser parser = ParserFactory.getParser(extension);
TimedTextFile subtitle = parser.parse(file);

SimpleSubConfig config = new SimpleSubConfig();
config.setSub(subtitle);

ASSSub ass = new SubmergeAPI().toASS(config);

System.out.println(ass.toString());

About

Watch movies with 2 subtitles at the same time

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 77.1%
  • HTML 18.1%
  • CSS 3.9%
  • JavaScript 0.9%