DVB sub-pictures wrongly displayed

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

DVB sub-pictures wrongly displayed

jfauffret
Hi GStreamer team,

I experienced issues while decoding DVB subtitles contained in mpegTS files:
Here is a sample of the rendering

I used the 'dvbsuboverlay' element in following pipeline like
// gst-launch -v filesrc location=video.mpg  ! mpegtsdemux name=d !
//               queue ! mp3parse ! mad ! audioconvert ! autoaudiosink d. !
//               queue !  ffdec_h264 ! ffmpegcolorspace ! r. d. !
//               queue ! "subpicture/x-dvb" ! dvbsuboverlay name=r ! ffmpegcolorspace ! autovideosink


It may be related or not, but I got this logs from the parser:
WARNING **: Parsing 2bit color DVB sub-picture. This is not tested at all. If you see this message, please provide the developers with sample media with these subtitles, if possible.
If you are interested, I'll be able to provide a sample media with these subtitles.

Furthermore, I notice that ffmpeg provide also a plugin 'ffdec_dvbsub' but I didn't succeed to decode the same file with this decoder.
Because this ffmpeg dvbsub decoder correctly decode these subtitles in VLC, I'll probably compare/merge the 2 plugins dvbsuboverlay/ffdec_dvbsub to make it work.
Here is the expected behavior:


Regards,

Reply | Threaded
Open this post in threaded view
|

Re: DVB sub-pictures wrongly displayed

Mart Raudsepp
Hello,

On N, 2011-12-08 at 05:49 -0800, TruBzzz wrote:

> Hi GStreamer team,
>
> I experienced issues while decoding DVB subtitles contained in mpegTS files:
> Here is a sample of the rendering
> http://gstreamer-devel.966125.n4.nabble.com/file/n4172790/dvbsub1.png 
> I used the 'dvbsuboverlay' element in following pipeline like
> /// gst-launch -v filesrc location=video.mpg  ! mpegtsdemux name=d !
> //               queue ! mp3parse ! mad ! audioconvert ! autoaudiosink d. !
> //               queue !  ffdec_h264 ! ffmpegcolorspace ! r. d. !
> //               queue ! "subpicture/x-dvb" ! dvbsuboverlay name=r !
> ffmpegcolorspace ! autovideosink
> /
>
> It may be related or not, but I got this logs from the parser:
> */WARNING **: Parsing 2bit color DVB sub-picture. This is not tested at all.
> If you see this message, please provide the developers with sample media
> with these subtitles, if possible./*
> If you are interested, I'll be able to provide a sample media with these
> subtitles.

Yes, that must be it. I never found any 2bit or 8bit samples to actually
test the code with. All channels in Estonia and Finland used 4bit; I
believe also some samples from UK/Spain were 4bit.
So some sample media would be most appreciated. Not sure how to get it,
but I believe if it can be public, there are some place on freedesktop
server we can store it once someone with access has it. Maybe they are
small enough as a bugzilla attachment, especially if just the subtitle
elementary stream?

> Furthermore, I notice that ffmpeg provide also a plugin 'ffdec_dvbsub' but I
> didn't succeed to decode the same file with this decoder.

The dvb-sub.c code from dvbsuboverlay plugin originates from libdvbsub I
wrote for a DVB box back in the day, this code is at
https://github.com/leio/libdvbsub
From there you can see it in turn is based on that ffmpeg LGPL decoder,
as a port to glib/gstreamer utilities (the gstreamer bitreader, etc),
with other changes in there - commit log available on github. During
that porting work I noticed various problems in the decoder that I fixed
in the libdvbsub code. Though later some of those turned out to be my
porting errors instead. There are a few FIXME-FFMPEG comments iirc, that
show some potential problems in ffmpeg original code to look at by those
that care. Eventually I did see ffmpeg itself render some samples fine
though with its own unmodified code, iirc.

> Because this ffmpeg dvbsub decoder correctly decode these subtitles in VLC,
> I'll probably compare/merge the 2 plugins dvbsuboverlay/ffdec_dvbsub to make
> it work.

VLC has its own DVB subtitle decoding code, it doesn't use the one from
ffmpeg. It's GPL, so I didn't care for that for my needs then.
On hindsight I think I should have written it from scratch, to fit the
spec with objects better and avoid various porting errors and inherited
bugs - the spec is simple and straightforward enough. Maybe on a rainy
day when we can convert it from an overlay to something that just
provides subpicture regions for the videosink - then it may be more
useful to hang on to the dvbsub spec objects in a different way, etc.

> Here is the expected behavior:
> http://gstreamer-devel.966125.n4.nabble.com/file/n4172790/dvbsub2.png 

It's probably just some porting error in the bitreader code, or also a
bug in the original ffmpeg code. Shouldn't be too hard to fix with a
sample.
I suggest to record the problem on gstreamer bugzilla for tracking, and
somehow provide a sample. The dvbsub spec is available publicly and free
of charge if you want to take a stab at it yourself. With a sample I can
take a quick look too.


Regards,
Mart Raudsepp

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: DVB sub-pictures wrongly displayed

jfauffret
Hi Mart,

Sorry for answering late, I had to request agreement from my company to provide a sample, because the corresponding medias are copyright.
I'll track the bug tomorrow in bugzilla and for your convenience attach a sample from a trailer with 2 subtitles PID encapsulated in mpeg-ts (chinese and arabic If I remember well)

While testing other movies, I also noticed some subtitles are not displayed enough time, It must be a separate issue but this movie contain also 2-bit color dvbsub.

I didn't not yet observed 8bit subtitles, I'll keep you updated if it's the case in the future.

Regards,
J-F
Reply | Threaded
Open this post in threaded view
|

Re: DVB sub-pictures wrongly displayed

jfauffret
Hi,

FYI bug is now tracked with ID 666352

Two samples are available here
http://dl.free.fr/kPrIJ2roZ (chinese characters not correctly displayed)
http://dl.free.fr/cWzQqDilv (russian and others language characters to quickly displayed)

Regards,
J-F