Skip to content

AlexPoint/SubtitlesParser

Repository files navigation

SubtitlesParser

Universal subtitles parser which aims at supporting parsing for all subtitle formats, and writing some. For more info on subtitles formats, see this page: http://en.wikipedia.org/wiki/Category:Subtitle_file_formats

It's available on Nuget:

Install-Package SubtitlesParser

For now, 7 different formats are supported for parsing:

And 2 formats are supported for writing:

Quickstart

You can check the Test project for subtitles files and more sample codes.

Universal parser

If you don't specify the subtitle format, the SubtitlesParser will try all the registered parsers (7 for now)

var parser = new SubtitlesParser.Classes.Parsers.SubParser();
using (var fileStream = File.OpenRead(pathToSrtFile)){
	var items = parser.ParseStream(fileStream);
}

Specific parser

You can use a specific parser if you know the format of the files you parse. For example, for parsing an srt file:

var parser = new SubtitlesParser.Classes.Parsers.SrtParser();
using (var fileStream = File.OpenRead(pathToSrtFile)){
	var items = parser.ParseStream(fileStream);
}

Specific writer

You can use a specific writer to write a List of SubtitleItems to a stream.

var writer = new SubtitlesParser.Classes.Writers.SrtWriter();
using (var fileStream = File.OpenWrite(pathToSrtFile)) {
	writer.WriteStream(fileStream, yourListOfSubtitleItems);
}

Async versions are also available (ie writer.WriteStreamAsync(fileStream, yourListOfSubtitleItems); instead).

About

Multi formats subtitles parser in C#

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published