Jump to content

DVB subtitles and time code


jkeskir

Recommended Posts

First: DVBViewer and subtitles work quite well. But timing of subtiles is difficult to get right using delay variable.

Sometimes subtitles are too early and sometimes too late. And that is annoing me. :blush:

As far as I know subtitle stream has own timecode, that define when show subtitle row and when quit showing it.

So could DVBViewer use timecodes when showing DVB subtitles?

Link to comment

Yes, I "second" that timing-thing. Now I have to use VLC-player (it is working ok) to get the subtitles in time, but it would be really nice thing to get them working in DVBViewer too, if easily possible - it is an important feature here in the northern countries.

 

Further more, is it possible to get the subtitles working in TS-player too?

Edited by Ludwig2
Link to comment
  • 1 month later...

With the latest version DVBViewer (3.9.0.0) timing error is getting worse and now there is no means to correct problem using delay variable as older version (3.8). This is at least for me biggest issue in this release. I'm not sure if this is a Bug report or feature request ;)

post-11665-1191863949_thumb.png

post-11665-1191864093_thumb.png

Link to comment

The delay can be set in the setup.xml manually (have a look into the tweaks.txt). We removed the delay settings in the options, because nobody really complained it before and i did not found any problems with all tested satellite transmissions.

The smallest part inside the DVBViewer deals with Directshow which is used for the tv/radio display and we try to keep teletext, epg, recordings, osd etc. away from it. The reason is that we collected years of experience and our resume is that even if directshow is cool, it is the weakest part of everything. The less it is used the the less problems you get. To synchronize video and subtitles you need those timestamps, to combine both you have to create yet another filter which gets sync'ed by directshow. If you do not use directshow you need those manual delays which are not really reliable, because if you change the mpeg decoder filter or the broadcaster is changing something you have to adjust the delay again.

 

Christian

PS: I wonder why YLE is the only provider who is causing this problems.

Link to comment

Thanks!

I'll try to modify my setup.xml. And it seems that I need to settle down my viewer settings. No more fooling aroud with all setting.

Or maybe I'll do my own parallel experiment installation to try all my settings.

 

Maybe I'm wrong person to awnser to Yle subtitle problems but it has given me some headache

 

- Juha -

Link to comment
How is the timing of the DVBViewer compared to the VLC (via netstream plugin) ?

 

It is nice to have delay setting back.

 

I haven't tried with netstream plugin, but recordings in TS format have allmost perfect timing with VLC. I'll try netstream plugin after work.

 

Edit: I just tried VLC via netstream plugin and subtile timiming is perfect.

Edited by jkeskir
Link to comment
The smallest part inside the DVBViewer deals with Directshow which is used for the tv/radio display and we try to keep teletext, epg, recordings, osd etc. away from it. The reason is that we collected years of experience and our resume is that even if directshow is cool, it is the weakest part of everything. The less it is used the the less problems you get. To synchronize video and subtitles you need those timestamps, to combine both you have to create yet another filter which gets sync'ed by directshow. If you do not use directshow you need those manual delays which are not really reliable, because if you change the mpeg decoder filter or the broadcaster is changing something you have to adjust the delay again.

 

How are you rendering the subtitles? In a direct show filter or rendering it on top of the image produced by the VMR? All you need to know in order to decide when to display the subtitle is its PTS and the PCR.

 

PS: I wonder why YLE is the only provider who is causing this problems.

 

They arent. Its just very obvious on those channels because they transmit the subtitles far before they are supposed to be displayed. But the DVB standard allows this, i dont remember the maximum time before display for dvb subs, but its very different from Teletext pages (and subtitles) which are not allowed to wait more than 40ms at the decoder.

Displaying the subtitles immediately when they are received is really bad. On my cable channels the channels have a different 'delay'.

Link to comment

As i mentioned earlier we try to keep the most things away from directshow in order to avoid as much problems as possible. Only Audio and Video rendering is done and synchronized by Directshow. The rest is handled inside the DVBViewer. This has luckily more pro's than con's and the only contra i remember is the one with those dvb subtitles. Everything which is not the video stream is rendered in our own engine (right now based on gdi+, but in the next versions there will be some textures in a Direct3D environment).

 

Christian

Link to comment
As i mentioned earlier we try to keep the most things away from directshow in order to avoid as much problems as possible. Only Audio and Video rendering is done and synchronized by Directshow. The rest is handled inside the DVBViewer. This has luckily more pro's than con's and the only contra i remember is the one with those dvb subtitles. Everything which is not the video stream is rendered in our own engine (right now based on gdi+, but in the next versions there will be some textures in a Direct3D environment).

 

But if you render it in your own engine, then you must be passing the subtitle data from somewhere in the DirectShow filter to the engine, right? If you just additionally pass the PTS and PCR then you can render them correctly. without syncing anything in the DirectShow filter. The delay from the filter graph will still have some effect, but this delay is much closer to being constant, and at least you wont sometimes be rendering subs 30 seconds ahead of time.

 

Im a developer on MediaPortal and i use DVBViewer alot for testing our own subtitle rendering (ie checking to see if we render the same text at the same time, especially for teletext), so thats why i know how to implement it (not that ours work perfect yet) ;)

Edited by ziphnor
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...