src/seconv/README.md
A modern command-line utility for batch converting subtitle files between various formats.
Build the project:
dotnet build src/seconv/SeConv.csproj
Or build from the solution root:
dotnet build
The executable will be named seconv (or seconv.exe on Windows).
seconv <pattern> <format> [options]
Convert all SRT files to SAMI format:
seconv *.srt sami
Convert with specific encoding:
seconv *.srt subrip --encoding:windows-1252
List all available formats:
seconv formats
--inputfolder:<path> - Input folder path--outputfolder:<path> - Output folder path--outputfilename:<name> - Output file name (for single file only)--overwrite - Overwrite existing files--encoding:<name> - Character encoding (e.g., utf-8, windows-1252)--fps:<rate> - Frame rate for conversion--targetfps:<rate> - Target frame rate--adjustduration:<ms> - Adjust duration in milliseconds--assa-style-file:<file> - ASSA style file name--ebuheaderfile:<file> - EBU header file name--forcedonly - Process forced subtitles only--multiplereplace - Use default replace rules--multiplereplace:<files> - Comma separated file name list--ocrengine:<engine> - OCR engine (tesseract/nOCR)--offset:hh:mm:ss:ms - Time offset--pac-codepage:<page> - PAC code page--profile:<name> - Profile name--renumber:<number> - Renumber subtitles from this number--resolution:<width>x<height> - Video resolution (e.g., 1920x1080)--teletextonly - Process teletext only--teletextonlypage:<page> - Teletext page number--track-number:<tracks> - Comma separated track number listOperations are applied in the order specified on the command line:
--ApplyDurationLimits - Apply duration limits--BalanceLines - Balance line lengths--BeautifyTimeCodes - Beautify time codes--FixCommonErrors - Fix common subtitle errors--MergeSameTexts - Merge entries with same text--MergeSameTimeCodes - Merge entries with same time codes--RemoveFormatting - Remove formatting tags--RemoveTextForHI - Remove text for hearing impaired--SplitLongLines - Split long linesAnd many more...
Some popular formats include:
Run seconv formats to see the complete list of 300+ supported formats.
seconv --help
seconv /?
src/seconv/
├── Commands/
│ ├── ConvertCommand.cs # Main conversion command
│ └── FormatsCommand.cs # List available formats
├── Core/
│ ├── SubtitleConverter.cs # Core conversion logic
│ └── LibSEIntegration.cs # LibSE integration
├── Helpers/
│ └── HelpDisplay.cs # Help text display
├── OldCommandLineConverter.cs # Legacy converter support
└── Program.cs # Application entry point
The project uses .NET 10.0 and targets modern .NET features.
The executable is named seconv (configured via <AssemblyName>seconv</AssemblyName> in the .csproj file).
The tool supports legacy /parameter syntax from older versions of SubtitleEdit, automatically converting it to the modern --parameter syntax.
To add new features:
Core/SubtitleConverter.csCommands/ folderProgram.csPart of the Subtitle Edit Avalonia project.