mencoder video buffer full dropping frame

ilyen hibüzenetet a mencoder úgy 32Mb TVtunerről való felvétel után,


video buffer full - dropping frame

video buffer full - dropping frame

video buffer full - dropping frame
Pos: 235.3s 5882f ( 0%) 23.09fps Trem: 0min 0mb A-V:0.000 [1206:128]
video buffer full - dropping frame

video buffer full - dropping frame
Pos: 235.4s 5883f ( 0%) 23.08fps Trem: 0min 0mb A-V:0.000 [1206:128]
video buffer full - dropping frame

a probléma az, hogy hosszabb, úgy 2 órás TV felvétel után, elcsúszik a hank a képhez képest. bár ez a hiba nem 32MBnyi filmanyag megnézése után jelentkezik, de feltételezem köze van a dologhoz.

a használt két script,


#!/bin/bash
sudo /usr/local/bin/FastCpu
sudo /usr/bin/nice -n -19 sudo -u bella /home/bella/temp/mplayer/MPlayer-1.0rc2/
mencoder -tv driver=v4l2:device=/dev/video0:width=768:height=576:saturation=100:
adevice=/dev/dsp2:amode=1:audiorate=32000:forceaudio:volume=100:immediatemode=0:
norm=PAL -oac mp3lame -lameopts cbr:br=192 -ovc lavc -lavcopts vcodec=mpeg4:vbit
rate=3500:mbd=2:v4mv -vf crop=720:544,pp=default/ac/tmpnoise:1:2:3/ci -o /home/b
ella/Video/`date '+%H%M%d%m%Y'_tvrec.avi` tv://

a másik kisebb CPU igényű script,

mencoder -tv driver=v4l2:width=768:height=576:saturation=100:buffersize=192:devi
ce=/dev/video0:adevice=/dev/dsp2:amode=1:audiorate=32000:forceaudio:volume=100:i
mmediatemode=0:norm=PAL -oac mp3lame -lameopts cbr:br=128 -ovc lavc -lavcopts vc
odec=mpeg4:vbitrate=1200:mbd=2:v4mv -vf crop=720:544,scale=512:384,pp=default/ac
/tmpnoise:1:2:3/ci -o `date '+%H%M%d%m%Y'_tvrec.avi` tv://

mindkét script esetében ugyanaz a probléma, kép hang csúszása úgy 1.5óra után. ezért nem a CPU számítása kapacitásának esetleges hiánya van a háttérben. a második script stabilan 50% alatti cpuidővel megy. az első átlagban 70%, néha felmegy 100% körüli értékre.

Egyikben van buffersize=64, beállítva a másikban nincs, azaz default dinamikus. mi akkor a probléma oka?

Hozzászólások

a video buffer full szerintem biztosan a cpu elgtelen volta miatt van, leven, hogy 23.08 fps-t ir, pedig a tv adas 25 fps - magyarul folyamatosan marad le a kodolassal es betelt a puffer 4 perc alatt.
ha a video buffer full par percenkent megismetlodik es mindig csak nehany kepet dob el (talan mert idolegesen valami masik process rovid ideig mindig elkezdi zabalni a cpu-t), akkor megvan a magyarazata a hosszabb ido utani hang-kep elcsuszasnak.

- Use the Source Luke ! -

az a kimenet a nagyobb felbontású videot készítő első script által indított mencodertől való. érdekes, hogy a cpuhasználat 23.08fps ellenére sem érte el a 100%ot, ekkor úgy 70% körül volt. a második script 24.9x fps közelében szokott lenni, ettől függetlenül ugyanúgy csúszás van a hangban. analóg TVtuneres felvétel közben nálam még soha nem érte el a 25fpst. akkor sem ha dualcore 3Ghzes rendszer futtatta, ettől függetlenül máshol normális videókat készít ezeknek a scripteknek egy másik változata.
furcsa, hogy máshol még akkor sem szokott szétcsúszni kép hang szinkron, amikor pl egy számításigényes program váratlan indulása miatt nem jut elég procidő a mencodernek egy ideig. ilyenkor a mencoder nullás képkockákat rak be, duplikate frame üzenetekkel. az az érdekes, hogy pont a kép hang szinkron tűzön vízen és szűkös procidőn át tartása az egyik erőssége a mencodernek.
egyébként ez nem az én rendszerem, egy notebookon lakik, és pcmcia hangkártyát használ a tv adás rögzítésére. hangot közvetlenül a tvkártya /dev/dspX hangeszközéből kapja a mencoder. máshol, desktop computereken egy jack átkötőkábellel jut el a hang a hangkártya line bemenetére és onnan rögzíti a mencoder. volt már ezzel korábban probléma. lehet most is innen fúj a szél.