I used https://github.com/magiruuvelvet/jimaku-editor/blob/master/pgs-encoder/main.... plus pngnq-1.1 (you might want to add #include "zlib.h" if one of its few files failed to compile) https://master.dl.sourceforge.net/project/pngnq/pngnq/1.1/pngnq-1.1.tar.gz?v... Next I just followed instructions, turning pgssup's example output into real xml with one line, then encoding into output.pgs, then using tsmuxer + provided meta file for muxing. (tsmuxer warned me about setting hdmv-descriptors option in meta file) It seems to be there! [mpegts @ 0xe5d04600] max resync size reached, could not find sync byte Last message repeated 33 times Input #0, mpegts, from 'udf.iso': Duration: 00:00:02.55, start: 4200.033367, bitrate: 11111 kb/s Program 1 Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, bottom first), 720x480 [SAR 1:1 DAR 3:2], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080 subtitle and vid sizes does not match because I selected SD size in CinGG while making this test render) Sadly, recent update broke xfwm4 on my tablet and Cin does not want to fly without window manager....