asztaliDVD kompatibilis Xvid készítése

 ( prygme | 2007. november 10., szombat - 0:17 )

egy x264 videoval és mp3 audioval készített avit kellene átkonvertálnom olyan formátumra, hogy az asztali, divx/xvid kompatibilis DVDlajátszók is le tudják játszani.
régebben ez mencoderrel rutinmunka volt. de most valamiért egyik asztali DVD sem tudta lejátszani, a konvertált avikat.

először így konvertáltam

mencoder forras.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1500 -oac copy -o kimenet.avi

majd kétmenetes encoding következett

mencoder forras.avi -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o kimenet2.avi
mencoder forras.avi -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vbitrate=1200:vpass=2 -oac copy -o kimenet2.avi

az egyik asztali lejátszó a hangot ugyan lejátszotta a kimenet1.avi és kimenet2.avi esetében is, de képet az sem tudta kezelni. a másik dvd lejátszó, érvénytelen film file hibaüzeneten kívül, semmit sem produkált.
win32 környezeten az mplayer csomag mingw portolt változatát használtam. gnu/linuxon még nem tudtam kipróbálni.
hol van a hiba? hogyan lehet olyan divx avit készíteni, amit a divx kompatibilis asztali dvd lejátszók kezelni tudnak?

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ő.

FourCC = DIVX

-ffourcc XVID

A fejlesztők ezt a tag-et ajánlják a DIVX helyett. Lásd még:

http://www.mplayerhq.hu/DOCS/HTML-single/hu/MPlayer.html#id3019681

Figyelj rá, hogy ez XVID-re állítja a FourCC-t a DIVX helyett. Ez a javasolt eljárás, mivel a DIVX FourCC DivX4-et jelent, ami egy nagyon alap MPEG-4 codec, míg a DX50 és XVID mindkettő teljes MPEG-4 (ASP) támogatást jelent. Ezért ha DIVX-re változtatod a FourCC-t, néhány rossz program vagy hardveres lejátszó agyoncsaphatja a libavcodec pár fejlett tulajdonságát, amiket egyébként támogat, de a DivX nem; másrészt az Xvid közelebb áll a libavcodec-hez funkcionalitásában és minden illedelmes lejátszó támogatja.

Egyébként ha bekódoltad már enélkül az opció nélkül a filmet, nem kell újrakódolni, elég egy
mencoder -oac copy -ovc copy -ffourcc XVID -o Atkonvertalt_film_helyes_FourCCvel.avi Atkonvertalt_film.avi

Meg kell nézni az asztali lejátszó használati utasitásában, hogy pontosan milyen file-okat képes lejátszani

Pl a sony dvp-ns32 füzetében ez szerepel:
"ez a készülék nem képes lejátszani azokat a divx videofájlokat, melyek mérete nagyobb, mint 720(szélesség) x 576 (magasság) / 2GB"
"...Lehetnek olyan, 3 óránál hosszabb divx videofájlok, melyeket ez a készülék nem képes lejátszani..."
"Elképzelhetö, hogy ez a készülék nem képes lejátszani azokat a divx videofájlokat, melyeket kettö vagy több divx videofájl kombinálásával állitottak elö"
"Ez a lejátszó azonban csak az ISO 9660 1-es szint/2-es szint vagy Joliet logikai formátumú DATA Cd-lemezeket, illetve az UDF szabványnak megfelelö DATA DVD_lemezeket kéoes lejátszani"
"A lejátszó olyan adatfájlokat képes lejátszani, melyeket divx formátumban vettek fel, és AVI vagy DIVX kiterjesztésel rendelkeznek. Ez a készülék nem játsza le az AVI vagy DIVX kiterjesztésü fájlokat, ha azokat nem divx formátumban vették fel."

orion divx kompatibilis tucattermék. a másik player valami elta gyártmány, és alig nagyobb a belekerülő dvd lemeznél. eddig lejátszottak minden avit, divxeset és xvideseket is. azokat mostanában nem én csináltam mencoderrel. egyébként régebben nem volt gondom a mencoder esetében. feltehetően az ffmpegbe került új képességek kavartak be.
az orion lejátszón kellene mennie egyébként.
640x352 az eredeti avi felbontása, amin nem változtattam. ezt a felbontást mindenképp vinnie kellene.

Frissitsd a firmware-t a lejátszón. Hátha segit.

ehhez az orionhoz még nem láttam firmware updatet. sajnos az orion egyébként sem yamada/chili. és nem szeretném használhatatlanra flashelni a barátnőm lejátszóját, így inkább a mencoder oldaláról kísérletezek. úgy max egy 60Ftos Dvdr lemez bánja a dolgot, meg persze van dvdrw is a kisérletezésekre.

Én így szoktam:

mencoder in_x264.mkv -ovc frameno -o frameno.avi -oac mp3lame -lameopts cbr:preset=128

mencoder in_x264.mkv -o /dev/null -ovc xvid -xvidencopts bitrate=994:pass=1 -nosound -vf scale=640:352

mencoder in_x264.mkv -o out_xvid.avi -ovc xvid -xvidencopts bitrate=994:pass=2:vhq=4 -nosound -vf scale=640:352

A hangot utólag az avidemux segítségével szoktam összehozni a képpel.
Többnyire 100-150ms csúsztatással kerül a kép a hanggal szinkronba.

ezt ki fogon próbálni. a hang újratömörítését is valóban érdemes kipróbálni. bár mp3 van az eredeti aviban is, de abban is lehet asztali playerekkel inkompatibilis optimalizáció. az ovc xvid remélem menni fog a win32 mplayer csomag esetében is.
a kép hang csúszásról viszont eddig nem hallottam. pont az volt az mplayer/mencoder fő előnye a többi hasonló programmal szemben, hogy jól tudták tartani a kép és hang szinkronját. más esetben is szokott csúszni nálad a hang? pl DVDvideo forrás esetében is? vagy csak mkv input fileoknál?

DVD-nél is lehet ilyen probléma. De ez még a mencoder aktuális verziójától is függ. Ki kell próbálni.

En is inkabb -ovc xvid, az -ovc lavc nem szokott menni asztali lejatszon.

megy az is, csak tovább kell paraméterezni. ffourcc dx50 vagy xvid.

Oke, olvastam itt fentebb, de _eddig_ nem tudtam, ezrt egyszerubb volt az XVid codec hasznalata.

Jelfeldolgozási szempontból a lavc kodeket jobbnak tartom az xvid-nél. Az xvid számomra picit bétaszerűnek tűnik, mintha egy fattyúhajtás lenne az MPEG4 és az x264 között. Hangsúlyozom, ez csak az én véleményem.

Tarthatod bétaszerűnek az xvid-et, de az lavc meg se közelíti képminőségben...

erre lehetne egy tesztet csinálni. azonos fileméret mellett összehasonlítani egyes kiválasztott képkockákat.

Egyforma bitrátával enkódoltam egy filmet, és bizony az xvid tényleg jobb képminőséget produkált szvsz, az asztali lejátszón, ezt sem mellékes megjegyezni (nekem is orion van, legnagyobb erénye az olcsósága volt). De mindkét codec-nek van előnye és hátránya is, talán mindig az aktuális helyzet adja meg hogy melyiket használjam. Szeretném én is megköszönni az itt olvasható hasznos információkat, hiszen a tegnapi napig úgy nézett ki, hogy ócskavas ez az orion csodám, használhatatlan. Persze ettól még az, de mindegy...

Csináltam ilyen teszteket. Azonos bitráta mellett, nem meglepő módon a következő a sorrend, x264, xvid, lavc.
Mellékesen megjegyezném, hogy az xvidet és az x264-et alap paraméterekkel kódoltam, míg az lavc-t mindenféle extra paraméterrel is megpróbáltam feljavítani. Ekkor már a tömörítési sebesség is lelassult az xvid szintjére. Az eredmény ennek ellenére is siralams volt. Az lavc gyors mozgásoknál még viszonylag nagy bitráta mellett is erősen hajlamos a blokkosodásra.
Az xvid nem sokkal rosszabb, mint az x264, de az lavc nagyon távol áll ezektől. Szerintem hanyagolni lehet.
Xvidet is cak akkor érdemes csinálni, ha a lejátszó nem viszi az x264-et, mivel a tömörítés sebessége is az x264-nek jobb. Különösen két vagy több magos rendszereken előnyös kódolni vele, mert azon kevés programhoz tartozik aminek korrekt a többszálúsítása. Ugyanez az xvidről nem mondható el.

Ez nekem is jól jön!

Hi!

Nagymertekben fugg a lejatszotol. Ha a gyari DivX codec-kel kodolod, akkor szinte garantalt, hogy mukodik.

Amugy ket okbol nem tudja lejatszani:
-Az MEncoder (illetve a megfelelo ffmpeg codec) jopar olyan feature-t tud, amit a gyari DivX codec nem, bar a szabvany resze.
-Az ujabb MEncoder-ek "FMP4" fourcc-t hasznalnak a regi DIVX helyett. Az asztali lejatszok altalaban a DIVX, divx, xvid, DX50, 3ivx fourcc-t szeretik. Persze ezek elvileg mind MPEG4 szabvanyu videok, ezek a jelolesek kb. azt jelentik, hogy az egyes hazi szabvanyokban a rendes szabvanynak mely reszei vannak megvalositva. Amugy az MEncoder-ben is ki-be lehet kapcsolni egy csomo mindent, lehet probalkozni.

Amugy attol a par kapcsolotol, amit megadtal, ne varj egetvero minoseget.

By(t)e
TBS::Antiemes

off

és amúgy figyelj már
én is szeretnék annyit tudni a fent említett témáról mint te

Hogyan lehetséges ez?

--
Jó rendben.

Minél több exta kapcsolót állítasz be, annál nagyobb az esélyed arra hogy nem viszi az asztali lejátszód. Van amelyik már a "GMC"-től se működik, de veszélyes lehet még a "Packed Bitstream" és a "Quarter Pixel" használata is.

Hi!

Nem tudom. Doksik, forumok, MEncoder manias szobatars, stb.

By(t)e
TBS::Antiemes

Szerintem ha a mencoder man page-ét és az mplayerhq-n található dokumentáció idevágó fejezeteit gondosan áttanulmányozod, a lényeggel tisztában leszel.

a minőség annyira nem fontos, csak az, hogy este lehessen nézni kényelmesen az ágyból. veszteséges codecből másik veszteségesbe való konvertálás egyébként is ront a minőségen. az mpeg4:mbd=2:trell alapból valóban eléggé ocsmány minőséget produkált, ezért került be melléjük a vbitrate=1200 is. igy már megfelelő volt a minőség, csak hát PCn kívül nem lehetett lejátszani egyik esetben sem.

imho kevés kapcsoló kevesebb gondot szokott okozni. a 3 soros opciók megadása általában észrevehetően tud javítani a képminőségen, de a kompatibilitáson általában csak rontani szokott.
régebben korábbi mencoder kiadásoknál ugyanez a pár alap kapcsoló elegendő volt ahhoz, hogy asztali playerek számára is megfelelő avit csináljak.

ha még mindig nem menne..............
mencoder -ffourcc DX50 -ovc lavc -lavcopts vbitrate=700 -oac lavc forrás.mpg -o kész.avi

nu megy?

így mennie kell!

Bár lehet, hogy a gui miatt nem tetszik az ötlet, de én avidemux segítségével szoktam filmeket avi-ba konvertálni, és nekem a sima "noname"(Millenium) asztali divix-es dvd vinni szokta a divix-xvid filmeket. Ha jól tudom, mencoder-t használ, esetleg kilesheted a szükséges beállításokat, ha a gui nem jön be.

---------------------------------------------------------------------------------
Az emberek 66 százaléka nem tud számolni! Gondoljatok bele, ez majdnem a fele!!

Megtudtad csinálni?

igen. a -ffourcc DX50 kapcsolóval, már miden ok azon a problémás asztalidvd lejátszón is. fent írták, hogy a -ffourcc xvid szerencsésebb. nekem már nincs türelmem próbálgatni. abba az asztalidvdbe úgyis csak másodpéldányok mennek, ezért annyira nem érdekelnek a kisebb minőségbeli különbségek.