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...
Mkv-t sem viszi az asztali lejátszó.
Akkor azt el tudnád magyarázni, hogy x264-es kodeknél miért tudja megcsinálni akkora méretűre?
Csak szeretném megérteni.
Plusz ezek szerint ha egy 700Mb-os fájlra akarok feliratot égetni akkor az is kisebb lesz mint 700Mb?
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
nem
(kicsit fura ez a társalgás de mindegy)
nagyon egyszerű példa: legyen a codec zip
veszteségmentesen betömörített zip átcsomagolás után lehet kisebb/nagyobb/ugyanaz/etc:)
Bocs, elírtam: Ha egy veszteségmentes kódolású videót ("A") ...
Helyesen: Ha egy veszteséges kódolású videót ("A") ...
Bár ez kiderül abból a hozzászólásból is, amire válaszoltam.
----
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
Értem, köszönöm.
Az x264 valószínűleg kevésbé próbál takarékos lenni, mint az xvid. Vagy egyszerűen csak erőltetve elhasználja a felesleges bitrátát is. Nics túl sok értelme a két codec összehasonlításának, mivel nem ugyanarra lettek tervezve.
2 menetes modban kodolj (pass opcio)
udv Zoli
Úgy kezdtem, az első példában látni is.
a tobbit neztem az felett pont atsiklottam. en mar talakoztam olyan dvd jatekossal ami az srt, sub es az egyeb szoveges formatumot nem ismerte, de vobsub-ot igen. probald atkonvertalni
szerk: ha lavc-al kodolsz akkor vpass az opcio, ha xvid-el akkor pass ;-)
udv Zoli
Vobsub-ot nem ismeri, de köszi a tippet.
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
Tud, csak némelyiket lejátsza, némelyiket nem és lövésem sincs, hogy mi alapján válogat, nemrég kezdte el ezt játszani.
Amúgy egy Pioneer DV-300-asról van szó.