On 05/20/2011 02:35 PM, Peder Hedlund wrote:
Quoting Luka Prin?i? // Nova deViator
<nova(a)deviator.si>si>:
hi,
i have been doing videostreaming now number of times and somehow i
always run into the same peculiar problem.
whenever there is more action on camera, especially zoomins and a lot
of audio (like bass and distorted vocals for example), the stream starts
to continously skip chunks of video stream of about 0.5-1 second,
every 0.5-1 second.
The obvious guess would be that your CPU is too slow and can't keep up
with recoding the video stream.
The other guess is that the camera and/or the interface can't push that
amount of data in real time to the PC.
Hi Luka,
The problem is likely the former (the DV input is a bitstream with
constant bps and usually no problem): Panning and zooming puts
addidtional some strain on the encoder (motion compensation calc) and
also produces bandwidth spikes.
AT LAC, we were able to kick out some remote-participants with quick
camera panning due to bandwith spikes so we tried to avoid those :) BTW,
we were able to max-out CPU a 2.8GHz quad-core with two ffmpeg2theora
instances.
You can check if decreasing the quality (`-v 3`) helps and give
`--speedlevel 2` a try: it uses less CPU, for increased output bandwidth.
Down-scaling the video decreases CPU usage of the encoder, but requires
a few CPU cycles to perform the scaling, in particular if scaling to non
multiples of 16: try `-x 384 -y 288 -aspect 4:3` instead of
` -x 393 -y 288` (it /should/ not make a difference since Theora
requires the geometry to be multiples of 8 (or 16?), but ffmpeg2theora
may just be scaling/cropping/expanding twice?!).
HTH,
robin