wmv to avi mencoder-rel

Fórumok

Szasztok!

Szeretnék egy scriptet csinálni, ami wmv fájlokat avi formátummá konvertál.
Mindezt mencoder segítségével tenném. Találtam is egy scriptet:

mencoder infile.wmv -ofps 23.976 -ovc lavc -oac copy -o outfile.avi

Ami lefut, de kihagy egy csomó frame-et így végül az elkészült videóban a hang az tökéletes lesz, de a kép az első másodpercekben mintha gyorsítva végigfutna, aztán elakad és a videó végéig ugyanaz a kép látható.

Egy kis segítséget kérnék a probléma megoldásához.

Üdv: redman

Hozzászólások

Első körben megnézném, hogy a wmv fájl milyen kódolást használ. Például úgy emlékszem, hogy variable frame rate esetén nem szokott működni a konvertálás.

-----
"Ember embernek farkasa." Ezért aztán "Holló a hollónak nem vájja ki a szemét."

mencoder inputfilm.wmv -ovc xvid -xvidencopts bitrate=700 -oac mp3lame -o outputfilm.avi

Nagyobb bitrátánál jobb lesz a film, de nagyobb is. Nekem 1024×768-as felbontásra a hétszázas bevált.
-------------
Használj GoboLinuxot: http://mek.oszk.hu/05800/05895/
Könyvem a VIM-ről: http://mek.oszk.hu/09600/09648/#
:::A #86-os sorszámú hivatalosan bejegyzett GoboLinux felhasználó


VIDEO:  [WMV2]  320x240  24bpp  1000.000 fps  298.0 kbps (36.4 kbyte/s)
[V] filefmt:6  fourcc:0x32564D57  size:320x240  fps:1000.000  ftime:=0.0010

Nekem ez az 1000.000 fps gyanús! Szerintem itt variable frame rate-ről van szó, amit a mencoder nem kezel.

-----
"Ember embernek farkasa." Ezért aztán "Holló a hollónak nem vájja ki a szemét."

Nem értem minek csinálsz rá fps konverziót, muszáj NTSC kimenetnek lennie (fps 23.976)?

mencoder INFILE.wmv -oac mp3lame -lameopts cbr:mode=2:br=128 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:cbp:trell -ffourcc XVID -o OUT.avi

Ha nem muszáj, akkor az -ofps nyugodtan lehagyható (bár 23.976 helyett 24000/1001 a helyes érték).
És azért dobálja a frameket mert te beállítottad hogy a kimeneti fps legyen 23.976 így a feleslegeseket eldobja, persze -noskip kapcsolóval nemdobál, de akkor meg A/V aszinkron lesz.

A legjobb az lenne ha felraknád valahova a videót(az eredeti wmv-t), ha nem túl nagy és akkor megtudnánk nézni hogy mi a gond, persze ha publikus a videó.

sajnos variable fps wmv-nel meg kell adni valamit, mert az avi nem tamogat ilyet. magatol meg a mencoder 1000fps-re allitan abe az avi-t amitol a legtobb player hatast dobna.

amugymeg bugreportot kell kuldeni (nem ide es foleg nem nekem) mert amikor anno megirtam akkor ez meg mukodott, gondolom diegoek elqrtak ezt is mint minden mast...

A'rpi

Hm, értem. Bár wmvkkel nem szoktam foglalkozni, és ha lehet kerülöm a wmv, wma dolgokat. Így ebbe a hibába még nem futottam bele.

Szerk.:

Remélhetőleg így már működik.

mencoder INFILE.wmv -oac mp3lame -lameopts cbr:mode=2:br=128 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:cbp:trell -ffourcc XVID -ofps 25 -vf harddup -noskip -of avi -o OUT.avi

Hagyd le a -noskip kapcsolót, persze dobálni fog felesleges frameket de a végeredményben nem látszik.

Ha azt is szeretnéd, hogy ne legyen nagyobb az avi mint az eredeti hanem közel azonos mérete legyen, akkor keress egy bitrate calculatort pl. ezt. Megadod a film infóját, hány óra, perc, másodperc, audio maradhat 128 majd egy célméretet, a DivX4/XviDben kapott bitratet kell használni.

A kódot meg ki kell egészíteni, trell:vbitrate=XXX

Amit feltöltöttél az ilyen lett.

U.I.: Ahogy látom a wmv audioja 32 kbps-el lett tömörítve így felesleges 128as mp3ba átrakni jó kevesebb is, így nyerhető egy kis bitrate a kép számára.