[vlc] Re: More elegant handling of large VLM playlists
Warren Young
warren at etr-usa.com
Wed Nov 9 13:58:07 CET 2005
Derk-Jan Hartman wrote:
>
>> Why does it: a) open the RTSP port before it's ready to answer
>> requests; and b) bother to demux all files in the first place?
>
> a: I guess no one ever tested with this many files
Fair enough. Fixing this should be trivial.
> This is a sync failure, and CAN occur multiple times within a file.
> It is an error and should be reported whenever it occurs if you ask me.
I agree that the error should be reported. I just question how useful
it is to report it thousands of times.
Yes, thousands of times. I ran the ProjectX demuxer on one of these
problem streams (thanks for the tip, by the way) and it reported 47719
warnings and errors. If I remux the file, the error/warning count drops
into the single digits.
>> 3. The problem I referred to above seems to be an oversensitivity in
>> the PS demuxer as to what it considers "garbage".
>
> I think the problem here is that because of the loading of all the
> files in the VLM, the synchronization code becomes overloaded, causing
> data to be late and requiring the server to resync the stream. If the
> load on the server is low, you should not run into this if you don't
> run into it during normal VLC playback i think.
I'm don't understand how VLM could be overloaded in this case. The
initialization process is serial: it generates the SDP for each file,
one at a time, in the order given in the VLM configuration file. Then
to test the RTSP streaming, we're only asking it to send one ~1-4 Mbit/s
MPEG-1 or MPEG-2 stream at a time. In production, this can be higher,
but that's irrelevant for the problems I've discussed here.
> Is all your MPEG data in true PS?
They are all muxed system streams of some sort or another, yes. No
elementary streams, and no transport streams.
> You might consider streaming in muxed form, with VLM instead of in
> seperate tracks.
We are. Here's a typical VLM directive:
new 101 vod enabled
setup 101 input "/video/101.mpg"
101.mpg here is an MPEG-1 system stream. It could just as well be an
MPEG-2 program stream.
> The fact that most players don't care about this as much as VLC has
> also resulted in the fact that there are so many of those files out
> there.
Yes, the world would be a better place if all MPEG encoders output
perfect streams, but that doesn't mean it's not a good idea to do a
best-effort attempt to decode broken streams.
Keep in mind, VLC as a standalone player does play these files
correctly. And, it's relatively simple to fix them so that VLM will
stream them without errors. These files aren't irrecoverably broken.
Something in the remux process fixes these problems. The correct data
is available.
> pre-demux on load might be something that could be cached in one way or
> another.
That sounds quite reasonable. It could be optional, perhaps turned on
by a verb in VLM's configuration language. It could go in a *.sdp file
named after the associated MPEG file. As long as this stream property
file remains newer than the MPEG, assume that the data in the stream
property file remains valid.
--
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
More information about the vlc
mailing list