[vlc-devel] Re: [Patch] Allow DV sources to skip frames

Paul Corke paul.corke at datatote.co.uk
Tue Apr 24 15:12:19 CEST 2007


On 22 April 2007 10:24, Jean-Paul Saman wrote:

> Did you try --sout-transcode-hurry-up ? it drops frames if the CPU
> can't keep up. Also add --cr-average=1000.
> 
> Does your problem persist?

Here is my command line based on your suggestions:

dvgrab -fmt dv1 --buffers 4 - | \
vlc -vvv --intf dummy --no-sub-autodetect-file - :demux=rawdv \
--sout-transcode-hurry-up --cr-average=1000 \
--sout '#transcode{vcodec=mp2v,vb=6000,acodec=mp2a,ab=192,venc=ffmpeg}:\
standard{access=http,mux=asf,dst=:5182}'

It soon goes back to the old behaviour of:

[00000357] stream_out_transcode private debug: late picture skipped
(177860)
[00000366] main private warning: late buffer for mux input (115597)
[00000357] stream_out_transcode private debug: late picture skipped
(168370)
[00000366] main private warning: late buffer for mux input (123542)
[00000357] stream_out_transcode private debug: late picture skipped
(160336)
[00000366] main private warning: late buffer for mux input (138058)
[00000357] stream_out_transcode private debug: late picture skipped
(182837)
[00000366] main private warning: late buffer for mux input (120597)
[00000357] stream_out_transcode private debug: late picture skipped
(173382)
[00000366] main private warning: late buffer for mux input (128572)
[00000357] stream_out_transcode private debug: late picture skipped
(165338)
[00000366] main private warning: late buffer for mux input (143068)

which is what I would expect.

The problem is not that the CPU is dropping frames because it can't
keep up, it's that the external DV codec box isn't sending 25 frames
per second, so the demux isn't able to supply enough frames to keep
the transcode happy.

mdate()     received from DV    sent to transcode       sent to
transcode
                                original vlc-svn        with patch
1           1                   1                       1
2           2                   2                       2
3           (nothing) 
4           4                   3                       4
5           5                   4                       5

In the existing vlc, the "sent to transcode" starts to get
behind "mdate()" the system drops the frame because it thinks it
has arrived too late.

After the patch (and once activated with :rawdv-realtime), the source
can
drop frames but the timestamp is always new enough to get through.

Regards,

Paul.

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html



More information about the vlc-devel mailing list