mp4 file atkodolasa aviba

 ( colos | 2006. november 29., szerda - 21:08 )

van egy videolanclient (vlc) altal win alatt felvett mp4 formatumu fileom, ezt szeretnem atkodolni aviba (xvid, ac3 hanggal). ha mplayerrel lejatszom az eredeti filet akkor nincs semmi gondom, oda-vissza tekerhetek benne, hang nem csuszik. kodolaskor a kovetkezo hibat irja:

1 duplicate frame(s)!
Pos: 1.3s 32f ( 0%) 0.00fps Trem: 0min 0mb A-V:-0.084 [5898:127]

ez nagyon sokszor ismetlodik, a kesz fileban nagyon csuszik a hang

a video tipusra a kovetkezot irja az mplayer/mencoder:
VIDEO: [mjpa] 352x288 24bpp 1.955 fps 0.0 kbps ( 0.0 kbyte/s)

kezzel megadtam neki, hogy 25fps-el menjen a film, ekkor kevesebbszer irja a duplicate frame hibat, de a hang tovabbra is csuszik, de mar csak kb 2 masodpercet a film vege fele. ha sima lejatszaskor az mplayer be tudja tartani a kep-hang szinkront akkor a mencoder miert nem? hogyan lehetne megadni hogy kevesbe csusszon

udv Zoli

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Az mp4 csak egy konténer, újrakódolás nélkül is át lehet rakni avi-ba, csak a codec számít.

Ez a duplicate frame tudtommal akkor szokott előjönni, ha az eredeti file-nak más fps-e van mint amivel szeretnéd kódolni. Biztos az is 25?

masik hasonloan kodolt filenal mukodott a 25, hangcsuszas nem volt eszreveheto. az biztos hogy a vlct nem hasznalom megegyszer tv felvetelre...

udv Zoli

Azért próbaképp megérné más fps-el is megpróbálni. (pl. 24000/1001, 30000/1001, stb..)

vlc nem tud másba kódolni? Ha már ezzel lett kódolva, talán jobban tudja kezelni.

a vlc nem kezeli kimenetkent az avi kontenert (legalabbis a guiban nem valaszthato)

udv Zoli

A codecra gondoltam. Ha csak a konténer számít azt újrakódolás nélkül "mencoder -ovc copy -oac copy -o file.avi file.mp4" parancsal próbáld meg.

a mplayerrel csinalj egy dumpot, ha a mencoderrel csuszik, uttánna csomagold aviba, az ac3 hang az eredetiben is benne volt ac3 kent,mert ha nem jobban jarsz ha hag mp3, sokkal tobb bitrata marad a videora

probaltam dumpal trukozzni de akkor is csuszik a hang

udv Zoli

Próbáltad már külön kódolni a hangot és a videót, aztán később összerakni?

AHAH persze, 2* annyi munkaora..
raaadasul csak kontenert akar cserelni

Mért lenne 2* annyi idő? Egyszer kódolja le a videót és egyszer a hangot, csak külön-külön. Sőt.. talán így még gyorsabb is, mert nem egy időben(több szálon) történik a videó és audió kódolás.
Abban meg nem vagyok teljesen biztos, hogy egyedül csak konténert akar cserélni, mert írta xvid-et is, ez meg mjpeg.
Amúgy ha visszaolvasol, láthatod, hogy írtam én is a konténercserét.

Az mplayer kiírja lejátszott videó fps-t, meg még sok egyebet az -identify opcióval.

A duplikált frame-k okozhatnak AV szinkron hibát, de az is lehet, hogy meg kell duplázni képkockákat a helyes AV szinkronhoz. Erre vannak különböző szűrők (pl: -vf harddup)

De lehet hogy a -noencodedups, vagy a -noskip paraméterek is segíthetnek.

vlc attudja rakni magatol is, tud transcodeot.

de ahogy fent irtka, mp4 az egy nyomorult kontener, semmi mas.
ffmpeg -vc copy -ac copy -f avi?
vagy valami ilyesmi a parameterezes, nezz utana.
azzal jo lesz.