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 ! -
ja, a desync valoszinu emiatt van:
"-oac mp3lame -lameopts abr/vbr causes desync in videos"
nezd meg az mplayer doksikban, hatha benne van.
szerk: ja te cbr-rel csinalod, akkor vissza az eredeti verziohoz:)
- Use the Source Luke ! -
ja, meg lehet ilyenekkel is probalkozni
-skiplimit 0 -noskip
vagy -mc 0
mert neha az mencoder ugy dont, hogy ugyanolyan ket frame, es hajlamos eldobni akkor az ujabbat
szerk: ilyenkor elvileg szol, hogy "Skipping frame"
- 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.