News:

Latest versions:
Server plugin: 0.5.1
MVP dongle: 0.5.2
Raspberry Pi client: 0.5.2
Windows client: 0.5.2-1

Main Menu

DVB Subtitles

Started by kml, January 01, 2006, 20:22:46

Previous topic - Next topic

svalavuo

Really Cool!!!!
Same for MediaMVP please :)
And DVB -subtitles too.
Samuli
vdr 2.0.3-3 + vompserver 0.4.0 + MediaMVP H4 + Raspberry Pi with vompclient

Lutz

Hi Marten,
is your solution related to windows or should it also directly work on the MVP???
Cheers
Lutz

MartenR

Hi,
it is written in the abstract code part, so no special dependence on windows, so it should work also on the mvp, but is not tested yet.

Marten

svalavuo

Is there any resemblance with DVB subtitles?
It's great news, that there is hope to get subtitles to MVP.
As I have mentioned earlier, in Finland they dub only programs for children. "Normal programs" are subtitled with DVB or teletext.
Samuli
vdr 2.0.3-3 + vompserver 0.4.0 + MediaMVP H4 + Raspberry Pi with vompclient

Lutz

Thats good news, Marten!

svalavuo

What is the status for subtitles?
I volunteer to betatest dongle with subtitle -support (either one).  ;D
Samuli
vdr 2.0.3-3 + vompserver 0.4.0 + MediaMVP H4 + Raspberry Pi with vompclient

MarkC

Quote from: svalavuo on November 24, 2008, 14:19:51
What is the status for subtitles?
I volunteer to betatest dongle with subtitle -support (either one).  ;D

Here you go then, but it's more alpha than beta:

http://www.zen50618.zen.co.uk/vomp/vomp-dongle-cvs20081123-subtitles-a1

You asked just at the right time! I spent most of the weekend on this.

Some notes:

1. It only works with recordings at the moment. So the recordings have to be made with vdr 1.6 (or 1.5.something). svalavuo, I see you're running 1.6, so that's not a problem for you.
Live TV shouldn't be hard to do; I just haven't bothered with it yet.

2. This dongle will always show subtitles. You can't switch them off.

3. Skipping / fast foward / fast backward aren't handled properly yet. The client shouldn't crash, but subtitles might not work properly if you skip around.

4. If the recording contains more than one subtitle service, this dongle will only show the first one it sees.

I'm particularly interested in the last point. If anyone has any recordings of programmes with more than one subtitle service (for example, more than one language), I'd like to get a sample to see how VDR deals with it.

Sorry it's taken so long! Please report any successes, crashes, comments, etc...

svalavuo

GREAT!
I'll test it today when I get home.

I'll try to find out if my recordings have more than one subtitles... I think there should be in some recordings.
If there is, they will be finnish and swedish. I hope it's not a problem to you :)

- Samuli
Samuli
vdr 2.0.3-3 + vompserver 0.4.0 + MediaMVP H4 + Raspberry Pi with vompclient

MartenR

@MarkC
Excerpt from vdr man page
QuoteAudio/Video Data
The files 001.vdr...255.vdr are the actual recorded MPEG data files. In order to keep the size of an individual file below a given limit, a recording is split into several files. The contents of these files is Packetized Elementary Stream (PES) and contains ES packets with ids 0xE0...0xEF for video (only one of these may actually occur in a file), 0xC0...0xDF for audio 1...32 (up to 32 audio tracks may occur). Dolby Digital data is stored in packets with ids 0xBD ("Private Stream 1") and substream ids 0x80...0x87. DVB subtitle data is stored in packets with ids 0xBD ("Private Stream 1") and substream ids 0x20...0x27.
and the names of the different subtitle tracks should be stored in the same way the different audio tracks are stored, except for a different id. So in Vaudioselector, recInfo->streams  should be a 3 instead of a 2 and so on. So you can recycle the audio selector code...

For me it would be interesting, how you choose to do the synching...

Marten


MarkC

Thanks, Marten. So in the case where there are multiple TS PIDs for subtitles, I guess VDR renumbers the substreams 0x20, 0x21, etc... because in the TS source they should all be 0x20. As you say, it will be very similar to the audio selection.

But it is also possible to carry several languages in a single TS PID, by using more than one subtitle page ID. I need to read again about where in the TS stream the page information is transmitted, but it doesn't look like VDR stores it anywhere, not in recordings at least.

It might be that broadcasters don't use this feature anyway, and prefer to use separate PIDs, which is much easier. Both methods are mentioned in the DVB subtitles standard.

For synching, the demuxer adds each subtitle to a list, with its PTS value, and signals a separate subtitle display thread. This thread checks the work list, uses Video::getCurrentTimeStamp() to calculate how long to wait for, and then sends the graphics to the display (via a new OSD interface implemented by VVideoRec). If there is no work to do, it just waits for another signal from the demuxer.

I can probably commit all this to CVS as soon as I've implemented some way of switching subtitles on and off.

svalavuo

hmmmm
MVP loads dongle, but screen stays black :(
Samuli
vdr 2.0.3-3 + vompserver 0.4.0 + MediaMVP H4 + Raspberry Pi with vompclient

svalavuo

Here is what happens:
17:07:36.846771 [debug]  TftpClient - Client handler started
17:07:36.846946 [debug]  Tftpd - Starting wait
17:07:36.847017 [debug]  TftpClient - RRQ received for dongle.bin.ver
17:07:36.847070 [info]   TftpClient - File: '/tftpboot/dongle.bin.ver'
17:07:36.849637 [debug]  Tftpd - Wait finished
17:07:36.849727 [debug]  TftpClient - Client handler started
17:07:36.849873 [debug]  Tftpd - Starting wait
17:07:36.849945 [debug]  TftpClient - RRQ received for dongle.bin
17:07:36.849998 [info]   TftpClient - File: '/tftpboot/dongle.bin'
17:07:39.046868 [debug]  TftpClient - Retransmitting buffer
17:07:40.146707 [debug]  TftpClient - Retransmitting buffer
17:07:41.246541 [debug]  TftpClient - Retransmitting buffer
17:07:41.790463 [debug]  TftpClient - Retransmitting buffer
17:07:42.346376 [debug]  TftpClient - Retransmitting buffer
17:07:42.890322 [debug]  TftpClient - Retransmitting buffer
17:07:43.446209 [debug]  TftpClient - Retransmitting buffer
17:07:43.990129 [debug]  TftpClient - Retransmitting buffer
17:07:44.546047 [debug]  TftpClient - Retransmitting buffer
17:07:45.089964 [debug]  TftpClient - Retransmitting buffer
17:07:45.645881 [debug]  TftpClient - Retransmitting buffer
17:07:46.189798 [debug]  TftpClient - Retransmitting buffer
17:07:46.745712 [debug]  TftpClient - Retransmitting buffer
17:07:47.289630 [debug]  TftpClient - Retransmitting buffer
17:07:47.845637 [debug]  TftpClient - Retransmitting buffer
17:07:47.845835 [debug]  TftpClient - Lost connection, exiting
17:07:48.389461 [debug]  TftpClient - Retransmitting buffer
17:07:49.489297 [debug]  TftpClient - Retransmitting buffer
17:07:49.489669 [debug]  TftpClient - Lost connection, exiting
17:07:50.718152 [debug]  BOOTPD - Wait finished
17:07:50.718292 [debug]  BOOTPD - Got request
Samuli
vdr 2.0.3-3 + vompserver 0.4.0 + MediaMVP H4 + Raspberry Pi with vompclient

MarkC

Sorry, I'm an idiot. I uploaded my test dongle, where the client doesn't start automatically.

I've replaced the dongle, so please try the download again. Or you can telnet to the MVP and run /vompclient

svalavuo

\o/ IT WORKS!!!!!

Now the same for live TV please :)

I didn't have any recordings with more than one subtitle. :(
And pre 1.6 recordings didn't show subtitles, but that's not so bad.

Great work. Wife will be a bit happier :)
Samuli
vdr 2.0.3-3 + vompserver 0.4.0 + MediaMVP H4 + Raspberry Pi with vompclient

MarkC

Excellent news! Before I do live TV I want to get everything working properly with recordings, so I can get the code into CVS. Apart from multiple language selection... that can come later.

Recordings made with VDR before 1.6 don't actually contain any subtitle data, so there's nothing VOMP can do about those.