Is there any Java API for SRT subtitles ?
相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
There is another basic (and open source) API that can deal with SRT and ASS subtitle here
Parsing SRT :
The actual SRT parsing is performed through regular expressions, which Java is able to manipulate.
The actual regexp is:
group 2, 3, 4, and 5 is start time group 6, 7, 8, and 9 is finish time group 11 is subtitle text
I have produced a java logic with which to parse and read different subtitle formats, among them is the popular srt: you can find the code licensed under MIT open source license (free to use for whatever) in my GiT repository:
https://github.com/JDaren/subtitleConverter
You probably just need the basic classes and the SRTFormat class, and with that you can read srt files from an InputStream or get full String[] files once you've finished editing them.
If you do find this useful or I can help you with anything please contact me.
PS: (other supported formats, either partially or fully are .ASS .SSA .STL .SCC and .XML (from W3C's TTAF-DFXP also known as TTML 1.0)
EDIT:
you can find the logic at work in www.subtitleconverter.net
Actually the modified regex from
@Panayotis
that supports multi-line subtitle text is like this:Replace
([^\\|]*?)
with any character which have less probability to come as subtitle text. I have currently used "|" character negation rule.