[DVDnav-discuss] question regarding data coming from libdvdnav

Nico Sabbi nicola.sabbi at poste.it
Thu Nov 20 00:55:10 CET 2008

Il giorno gio, 20/11/2008 alle 00.22 +0100, Sergey 'Jin' Bostandzhyan ha
> Hi,
> I have a question regarding data that is coming from libdvdnav.
> The text below may seem a little off topic, but please stay with me here,
> I would appreciate any hints regarding this matter :)
> The reason behind the question is: we observed various problems when feeding
> the data to players (I'm not talking mplayer or vlc, but hardware players like
> the DSM-510, PlayStation 3 and others). In our setup the player gets the
> data from a HTTP server that is embedded into the application, the data
> comes from a ripped iso, the data is read with the help of libdvdnav.
> Some players will simply crash after a couple of minutes of play or will
> immediately refuse to play the stream. Others will play, however with an
> effect like on the old vinyl records - from time to time parts of the video 
> are being looped.
> We tried to plug in a transcoder (like vlc, ffmpeg, mencoder) and remux the
> stream to ts, this seemed to generally enable playback on devices that refused
> to play the original data, however the success rate was low: the transcoding 
> apps were not handling the on the fly remuxing too well. I only had some 
> success with mencoder, however from time to time it printed messages like:
> "1 duplicate frame(s)!" or "Skipping frame!" and the "looping effect" could
> be observed on the player.
> So, back to the original question: what kind of MPEG comes from libdvdnav?
> Is there anything "special" about it? Is it normal PS or is it PES? Do you 
> have any idea on what might be causing troubles for the decoding apps?

PS including the PSI/DSI/NAV packets (that shouldn't cause any problem)

> Of course it's difficult to guess why some player with proprietary black box
> firmware is crashing, but since MPEG2 files encoded in a "normal" way work, 
> it must be something special, related to the data coming from the DVD.

maybe those players don't like the NAV packets, but in this case they
are *really* broken. You can discard them when the event returned by
dvdnav_stream_read() is DVDNAV_NAV_PACKET

> To make sure that it is not a bug within my app I tried extracting an mpeg from
> my test iso using libdvdnav/libdvdread 4.1.3 (this is also the version that
> I am currently running), I used the "menus" example application that comes 
> with libdvdnav. After ripping the mpeg I tried streaming it with the DSM-510 
> and it also crashed.

what is DSM-510 ?

> The image is CSS-free, so decryption is not involved.
> My app is an open source UPnP media server, so you guys will make a lot of
> people happy if you help me to resolve this problem :)
> Thanks!
> Kind regards,
> Jin

can you post a title to reproduce this problem and the instructions to
generate the network stream?

More information about the DVDnav-discuss mailing list