Mencoder fájl méret probléma

Sziasztok,

Felirat beégetése miatt újrakódolnék egy filmet, a problémám csak az, hogy a kimeneti fájl mérete mindig kisebb lesz mint amekkorának a bitrate alapján lennie kellene(1,4Gb-ra szeretném).

Az eredeti fájl adatai:

General
Complete name                    : film.avi
Format                           : AVI
Format/Info                      : Audio Video Interleave
Format profile                   : OpenDML
File size                        : 1.36 GiB
Duration                         : 1h 35mn
Overall bit rate                 : 2 041 Kbps
Writing application              : AVI-Mux GUI 1.17.7, Aug  8 2006  20:59:17

Video
Format                           : MPEG-4 Visual
Format profile                   : Streaming Video@L1
Format settings, BVOP            : Yes
Format settings, QPel            : No
Format settings, GMC             : No warppoints
Format settings, Matrix          : Default
Codec ID                         : XVID
Codec ID/Hint                    : XviD
Duration                         : 1h 35mn
Bit rate                         : 1 844 Kbps
Width                            : 704 pixels
Height                           : 368 pixels
Display aspect ratio             : 1.913
Frame rate                       : 23.976 fps
Resolution                       : 24 bits
Colorimetry                      : 4:2:0
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.297
Stream size                      : 1.23 GiB (90%)
Writing library                  : XviD 50

Audio
Format                           : AC-3
Format/Info                      : Audio Coding 3
Codec ID                         : 2000
Bit rate mode                    : Constant
Bit rate                         : 192 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Surround: L R, LFE
Sampling rate                    : 48.0 KHz
Stream size                      : 131 MiB (9%)
Alignment                        : Aligned on interleaves
Interleave, duration             : 64 ms (1.53 video frames)
Interleave, preload duration     : 192 ms

A bitrate-et elsőnek a video bitrate alapján állítottam be(1844) és ilyenekkel próbálkoztam:

mencoder film.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1845:vpass=1 -o feliratos.avi -sub film.srt -subfont-text-scale 3 -subcp iso-8859-2 -ffactor 1
mencoder film.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1845:vpass=2 -o feliratos.avi -sub film.srt -subfont-text-scale 3 -subcp iso-8859-2 -ffactor 1
mencoder film.avi -mc 0 -noskip -skiplimit 0 -o feliratos.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:mbd=2:vbitrate=1845:vmax_b_frames=1:v4mv:vb_strategy=0:vlelim=0:vcelim=0:cmp=2:subcmp=2:precmp=2:predia=1:dia=1:vme=4 -sub film.srt -subfont-text-scale 3 -subcp iso-8859-2 -ffactor 1
mencoder film.avi -mc 0 -noskip -skiplimit 0 -o feliratos.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:mbd=2:vbitrate=1845:vmax_b_frames=1:v4mv:vb_strategy=0:vlelim=0:vcelim=0:cmp=2:subcmp=2:precmp=2:predia=1:dia=1:vme=4 -sub film.srt -subfont-text-scale 3 -subcp iso-8859-2 -ffactor 1

A méret mindig olyan 12xxMb környékén lett.

Aztán próbálkoztam az xvidenc scripttel is, ami alapból nagyon jól használható, csak annál is kisebb lett a fájl mérete, olvastam, hogy 2 menetes kódolásnál szokott ilyen gond lenni, ezért kipróbáltam 1 menettel:

mencoder "film.avi" -o "feliratos.avi" -sub "film.srt" -subfont-text-scale 3 -subcp iso-8859-2 -ffactor 1 -ffourcc DX50 -vf softskip,harddup -noodml -oac copy -ovc xvid -xvidencopts bitrate=-1400000:me_quality=6:vhq=4:threads=2:max_bframes=2:bvhq=1:nopacked:quant_type=h263:noqpel:nogmc:trellis:chroma_me:chroma_opt:hq_ac:profile=dxnhtpal:nolumi_mask:rc_reaction_delay_factor=0:rc_averaging_period=100:closed_gop:autoaspect

Ekkor valami 760Mb körüli lett volna, ki sem vártam a végét.

mencoder "film.avi" -o "feliratos.avi" -sub "film.srt" -subfont-text-scale 3 -subcp iso-8859-2 -ffactor 1 -ffourcc DX50 -vf softskip,harddup -noodml -oac copy -ovc xvid -xvidencopts bitrate=1845:me_quality=6:vhq=4:threads=2:max_bframes=2:bvhq=1:nopacked:quant_type=h263:noqpel:nogmc:trellis:chroma_me:chroma_opt:hq_ac:profile=dxnhtpal:nolumi_mask:rc_reaction_delay_factor=0:rc_averaging_period=100:closed_gop:autoaspect

A jelenség ugyanaz, 12xxMb körüli végtermék, ezen fájl adatai:

General
Complete name                    : feliratos.avi
Format                           : AVI
Format/Info                      : Audio Video Interleave
File size                        : 1.23 GiB
Duration                         : 1h 35mn
Overall bit rate                 : 1 847 Kbps
Writing application              : MEncoder SVN-r29789
Writing library                  : MPlayer

Video
Format                           : MPEG-4 Visual
Format profile                   : Streaming Video@L1
Format settings, BVOP            : Yes
Format settings, QPel            : No
Format settings, GMC             : No warppoints
Format settings, Matrix          : Default
Muxing mode                      : Packed bitstream
Codec ID                         : DX50
Codec ID/Hint                    : DivX 5
Duration                         : 1h 35mn
Bit rate                         : 1 649 Kbps
Width                            : 704 pixels
Height                           : 368 pixels
Display aspect ratio             : 1.913
Frame rate                       : 23.976 fps
Resolution                       : 24 bits
Colorimetry                      : 4:2:0
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.266
Stream size                      : 1.10 GiB (89%)
Writing library                  : XviD 50

Audio
Format                           : AC-3
Format/Info                      : Audio Coding 3
Codec ID                         : 2000
Duration                         : 1h 35mn
Bit rate mode                    : Constant
Bit rate                         : 192 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Surround: L R, LFE
Sampling rate                    : 48.0 KHz
Stream size                      : 131 MiB (10%)
Alignment                        : Split accross interleaves
Interleave, duration             : 500 ms (11.99 video frames)
Interleave, preload duration     : 500 ms

Aztán kipróbáltam mi van ha az "overall bitrate" értéket adom meg(2041), hátha egybe számolja a video és audio bitrate-et, de így is ugyanolyan siralmas lett az eredmény.

Próbáltam Avidemux-al is, hátha a mencoder szórakozik, de ugyanez lett a végeredménye.
Ha x264 kodeket használok akkor tökéletes lesz a méret és a minőség is, de azt nem eszi meg az asztali lejátszó.
Hogyan lehetne jó minőségű, megfelelő méretű és asztalai lejátszó kompatibilis fájlt készíteni?

A rendszer Debian testing.

ii  libxvidcore4                  2:1.2.2-0.0                   High quality ISO MPEG4 codec library
ii  mencoder                      1:1.0.rc2svn20091021-0.0      MPlayer's Movie Encoder

Hozzászólások

Ez azért van, mert a codecnek nincs szüksége ezzel a felbontással az általad megadott bitrátára. Ez nem hiba. Valószínűleg a film amit kódolsz sok sötétben játszódó jelenetet és kevés mozgást tartalamaz. Ha mindenáron nagyobb fájlt akarsz, akkor a felbontást is növeld meg...

Egy akció filmről van szó, úgyhogy rengeteg gyors mozgást tartalmaz és a sötétség se feltétlenül jellemző rá.
Én csak azt nem értem ha az eredeti fájl 1.36Gb-os lehetett, ugyanúgy xvid kodekkel, ugyanekkore felbontással, akkor én miért nem tudom akkorára csinálni?
Plusz x264-el miért csinálja megfelelő méretűre?
Plusz honnan tudhatom majd más filmeknél, hogy milyen bitrate-el dolgozzak egy adott mérethez?
Az ilyen 1.2Gb-os méreteket meg nem szeretem, mert dvd-re íráskor nehézkes az összeválogatásuk.
Hogyan lehetne ráerőltetni az adott bitrate értéket?

Most esett le, hogy te a forrásnak egy 1.36GB-os avit használsz és abból szeretnél ugyanakkora, csak beégetett feliratú filmet csinálni. Nem jó ötlet. Hiába akciódús a filmed, mégis kisebb fog lenni az erdetinél a te kódolásod. Ez csak akkor fog változni, ha az eredti dvd-t, vagy más nagyobb felbontású forrást használsz kindulási alapnak. Vagy törődj bele a kisebb fájlméretbe.
Esetleg, ha nem probléma számodra, akkor mkv konténerbe is bele rakhahatod az eredeti videót, hanggal és felirattal együtt. Akkor még átkódolnod se kell...

Van egy veszteséges tömörítéssel előállított XviD fájlod. Ezt átkódolod DivX 5-be, ami szintén veszteséges tömörítés. A ilyen átkódolások mindig információ (és minőség) vesztéssel járnak, tehát jogos a kisebb méret.

De az alap problémát nem értem: Ha 1,4 GByte méretű a fájl, akkor 3 db-ot tudsz felírni egy DVD-re. Eddig világos. Ha átkódolás után 1,2 GByte méretű lesz a fájl, akkor szintén 3 db-ot tudsz felírni egy DVD-re. Eddig is hármat tudtál felírni, és az átkódolás után is hármat tudsz felírni. Mi a probléma?

-----
Dropbox tárhely igénylése: https://www.getdropbox.com/referrals/NTI2MzM2MjA5

Jogos. :)
Igazából egyszerűen csak idegesít, főleg az, hogy nem értettem/értem miért csinálja.
x264-nél akkor meg azért lesz megfelelő a méret, mert annak van veszteségmentes kódolási opciója, igaz?

Most nézegettem a mencoder manját, elvileg ha lavc kodeket használnék és a vcodec opciónál ffv1-et, akkor szintén veszteségmentes lenne, csak kérdés, hogy letudná-e játszani az asztali gép?

Ha egy veszteségmentes kódolású videót ("A") átkódolsz veszteségmentesre ("B"), akkor a minősége pont ugyan olyan lesz mint az "A" videóé volt, de a mérete sokkal nagyobb, mert a lejátszódó folyamat így néz ki:
Az "A" videó dekódolása -> kódolatlan (de már veszteséges) videó, melynek mérete jóval nagyobb az "A" videó méreténél -> veszteségmentes kódolás, ami sokkal nagyobb méretet eredményez mint egy veszteséges kódolás -> "B" videó, amely nagyobb méretű, mint az "A". Persze ez nem lépésenként megy végbe, hanem mikor dekódolta a videó néhány kockáját, után már kódolja is, tehát a közbenső, kódolatlan videó csak a memóriában jön létre, és mindig csak egy rövid részlete.

Ráadásul a "B" videó csak az "A"-hoz képest veszteségmentes.

-----
Dropbox tárhely igénylése: https://www.getdropbox.com/referrals/NTI2MzM2MjA5

épp szerkesztettem:)

ps: visszaolvasva az első veszteségmentes szavadat veszteségesre cserélve értelmet nyer a dolog, de elméletben legalábbis akkori hibádzik, pl észreveheti a kódoló hogy mi volt a veszteségmentes "algoritmus" és legenerálja ugyanazt, gyakorlatban pedig főleg az xvid persze nem "bit"veszteségmentesen de gyakorlatilag "minőség"veszteségmentesen ezt eljátsza

2 menetes modban kodolj (pass opcio)

udv Zoli

ami dvd játékossal eddig találkoztam annak ellenére hogy mind nagyon gagyi volt, ráadásul elég rég, mind tudott feliratfájlt (dokumentálatlanul), persze több feliratformátummal kell próbálkozni és fájlnévkonvencióval

persze ha nem ez a gond vagy tényleg nem tud akkor tárgytalan