[Cin] Offtop: "Spp2Pgs - Converts general subtitles to HDMV PG streams"
randrianasulu at gmail.com
Tue Jul 14 09:36:44 CEST 2020
So, I was doing another pass at 'what exactly can encode those PGS streams?'
and found this little project:
Converts general subtitles to HDMV PG streams.
In other words, converts .ass files to .sup files.
The project generates a command line application and a CLR dll file.
Core of them is a static library, libspp2pgs.
An external dll, xy-VSSppf, is introduced to deal with subtitle files.
It's based on a forked version of xy-VSFilter, rendering and providing subtitles in a more easy way.
Here is a breif description for all the four parts.
An executable converts subtitles to .sup files.
Spp2Pgs -i "X:\Saya1011con.ass" -s 1080 -r 23 "X:\Saya1011con.sup"
Type Spp2Pgs -h for more help.
libspp2pgs & Spp2PgsNet*.dll
The core and its CLR library wrapper for .NET framework applications.
Three classes play the main role:
PgsEncoder, encoding and writing a pgs file.
FrameStream, reading subtitles and rendering subtitles into image.
Spp2Pgs, an entrance for all other things. Also reading images from FrameStream and sending them to PgsEncoder.
It seems to be Windows-based (at least build files are *.vcxproj), and has some x86 asm (yasm) functions,
but better than nothing, I guess ...
This specific fork was not updated in four years (since 2016), so some subtle (!) bugs may exist ....
For license it says: GPL-3.0 License
Found this one via google and this forum post from 2019:
Also found subtitler program written in C#/.Net (so it sorta run under Linux/Mono):
But I have no idea how (if at all) it can be compiled under Linux .. (Arch package basically repackages
binary file). Found via https://unix.stackexchange.com/questions/278001/open-hdmv-pgs-subtitles-in-gnu-linux
Also there was KDE5 based subtitle editor with some speech recognition,
but apparently it was archived by developer last year:
Ah, no I'm blind , it was moved into KDE!
So, some interesting findings, but making any of them to work (at least on my machine) will be ..non-trivial.
More information about the Cin