[MPlayer-users] Capture: video buffer full - dropping frame
Heine Laursen
maillist at gozar.dynu.com
Sat Oct 9 19:54:43 CEST 2004
eyagerlist at chartermi.net wrote:
>> I used the following command to encode:
>> nice -n -19 mencoder -endpos 01:40:00 -tv
>> driver=v4l2:input=2:mjpeg:normid=0:decimation=1:adevice=/dev/dsp0:amode=1:fps=25
>>
>> -ovc lavc -lavcopts vcodec=huffyuv:vstrict=-1 -oac copy -o capture.avi
>> tv://
>>
>> Are there any thing wrong with my mebcoder options?
>
>
> First, you've set your capture card to use hardware MJPEG compression.
> Most video codecs use a raw uncompressed video stream on their input.
> Mplayer has to convert the MJPEG video stream back into a raw stream for
> use with other video codecs which is wasting CPU time. If you don't
> intend on creating an AVI on-the-fly with an MJPEG encoded video stream,
> set the video capture card to output a raw uncompressed format instead.
>
> Second, forget about using the huffyuv codec. The huffyuv is a lossless
> compression. Since you've already performed a lossy compression by
> setting your capture card to output an MJPEG video stream, using any
> lossless video codec is completely useless and entirely
> counterproductive. All it will do is create a larger file.
Thanks, for clearing alot of stuff up I did'ent know.
If my capture card don't support mjpeg it is then okay to use huffyuv?
I have just noticed another thing. My capture card is capturing
interlaced. Is there any way I can get it to stop that, or is it out of
my control?
I fixed it useing -vf pp=ci when i futher encode the video to divx
> I don't have a capture card that does MJPEG compression, so I can't test
> this. You should try to use "-ovc copy" instead of "-ovc lavc" which
> should (maybe), create an AVI with an MJPEG video stream. For what you
> appear to be trying to accomplish leaving the MJPEG stream alone and
> copying it into the AVI is closest you are going to get to "lossless
> compression".
Just did a test useing -ovc copy, and I don't think my cheep Terratec
Cinergy 600 TV suport it eather.
The command i used!
mencoder -endpos 00:05:00 -tv
driver=v4l2:input=2:mjpeg:normid=0:decimation=1:adevice=/dev/dsp0:amode=1:fps=25
-ovc copy -oac copy -o test.avi tv://
This is the output of the test useing mplayer -identify
D_FILENAME=test.avi
ID_VIDEO_FORMAT=YV12
ID_VIDEO_BITRATE=7069128
ID_VIDEO_WIDTH=704
ID_VIDEO_HEIGHT=576
ID_VIDEO_FPS=25,000
ID_VIDEO_ASPECT=0,0000
ID_AUDIO_CODEC=pcm
ID_AUDIO_FORMAT=1
ID_AUDIO_BITRATE=1411200
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=2
ID_LENGTH=300
>>
>> What happend?
>>
>> What does "video buffer full - dropping frame" mean?
>
>
> It means that your computer can't encode the video fast enough to keep
> up with the video capture card. If it can't keep up, it will simply
> start throwing pieces of the video away to catch up. When you play the
> video back you will notice many freezes in video and jerky motion. Also
> huffyuv is very slow and possibly even broken. Even on a very fast
> computer I
> wouldn't expect it to work.
I have been playing around with mplayer, and I have managed to capture
useing the divx codec. I know I know. It's a bad idea to use divx in
capture. And I'm just playing around here.
mencoder -endpos 00:10:00 -tv
driver=v4l2:input=2:mjpeg:normid=0:decimation=1:adevice=/dev/dsp0:amode=1:fps=25
-ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o test.avi tv://
With 1 or 2 frames droped.
So my computer is soposeley fast enuf to capture live Divx
However with my little knowleage of capturing I don't know if that is
the hole truth!
My specs is as follows:
ECS KT600-A motherboard
BARTON 2500+ Amd Cpu
80 GB SATA Harddisk (Dedicated only to capture)
Terratec Cinergy 600 TV Capture card
Thanks for all your help.
More information about the MPlayer-users
mailing list