I've been struggling with same problem, i.e. lack of S_DVBSUB support on players. In past I have used VDR, then cutting recording with ProjectX and remuxing resulting M2V, MP2 and VobSub format subtitles to MKV which has worked well. ProjectX can read DVB subtitles and export them as VobSub.
Any suggestions how to convert S_DVBSUB subtitles to format ProjectX could open? I could then convert them to VobSub and remux mkv with VobSub bitmap subtitles. I have extracted subtitles using "mkvextract tracks recording.mkv --raw 3:recording.rawsub" command. File that mkvextract dumps looks very similar to DVB subpicture files ProjectX can process ("ES Subpicture 2-bit RLE"). Obvious difference is that file extracted using mkvextract is missing header.
I don't have same recording from TVheadend and VDR to compare, but these are from same channel.
TVheadend S_DVBSUB extracted using mkvmerge:
00000000 0f 10 00 01 00 08 03 d8 00 00 00 a0 01 d4 0f 11 |.......+... .+..|
00000010 00 01 00 10 00 58 01 90 00 2a 48 01 00 00 00 00 |.....X...*H.....|
00000020 00 00 00 00 0f 12 00 01 00 62 01 50 00 41 00 00 |.........b.P.A..|
00000030 00 00 01 41 1d 80 80 91 02 41 1d 80 80 00 03 41 |...A.....A.....A|
00000040 10 80 80 00 04 41 10 80 80 00 05 41 10 80 80 00 |.....A.....A....|
VDR recorded subpicture stream extracted using ProjectX:
00000000 53 50 fa 27 78 2c 00 00 00 00 11 2d 00 00 0f 10 |SPú'x,.....-....|
00000010 00 01 00 08 04 78 00 00 00 3b 01 d2 0f 11 00 01 |.....x...;.+....|
00000020 00 10 00 08 01 90 00 2c 48 01 00 00 00 00 00 00 |.......,H.......|
00000030 00 00 0f 12 00 01 00 62 01 20 00 41 00 00 00 00 |.......b. .A....|
00000040 01 41 1d 80 80 91 02 41 1d 80 80 00 03 41 10 80 |.A.....A.....A..|
Different language subs from same VDR recording:
00000000 53 50 80 ba 77 2c 00 00 00 00 29 cf 00 00 0f 10 |SP.|w,....)+....|
00000010 00 02 00 0e 07 88 00 00 00 3b 01 9a 01 00 00 3b |.........;.....;|
00000020 01 d2 0f 11 00 02 00 10 00 c8 02 08 00 32 48 01 |.+.......+...2H.|
00000030 00 00 00 01 00 00 00 00 0f 11 00 02 00 10 01 d8 |...............+|
00000040 02 0e 00 2c 48 01 00 00 00 00 00 00 00 00 0f 12 |...,H...........|
00000050 00 02 00 62 01 70 00 41 00 00 00 00 01 41 1d 80 |...b.p.A.....A..|
00000060 80 91 02 41 1d 80 80 00 03 41 10 80 80 00 04 41 |...A.....A.....A|
I've tried appending bits from beginning of working file to beginning of demuxed S_DVBSUB, but resulting file is treated as unknown by ProjectX. Didn't really expect it to work either as there's obviously more than just signature ("SP") on those first few bytes.
-MV