Já na kódování, stříhání atd. používám převážně Avidemux, ale ono ani tak nejde o ten konkrétní program a nicneříkající výpis konkrétních voleb (protože ty se liší podle konkrétního případu), důležitý je princip. Nevím, jestli stojí za to tady vypisovat věci, co jsou i v dokumentaci, ale budiž:
1. Vystřižení reklam, začátků, konců...
2. Nastavení filtrů:
a) Tady je potřeba si projít celou nahrávku a pokud jsou tam černé nebo nečisté okraje, oříznout (prohlížet ve velikosti 1:1 v okně, stačí i jednopixelová čára na okraji obrazu - ovšem používat jen sudá čísla pro ořez):
-vf crop=764:570:2:2
(to je jen příklad, záleží na konkrétním videu)
Samozřejmě u širokoúhlých filmů je to jasné - oříznout komplet černé pruhy. K tomu lze použít automatiku:
-vf cropdetectkterá vypíše doporučené hodnoty na výstup.
b) Změna velikosti - snížení rozlišení. Tady už je dobré si spočítat bitrate, respektive poměr bitů na pixely, abychom měli představu o kvalitě v daném rozlišení při očekávané velikosti souboru a podle toho zvolili finální rozlišení:
bpp=(video_bitrate*1000)/fps/(sirka*vyska)
kde video_bitrate je datový tok videa v kilobitech za sekundu, fps je snímková frekvence (25 u normy PAL) a sirka*vyska je finální rozlišení, které zkoušíme.
Bitrate získáme tak, že spočítáme velikost videa:
video_bitrate=velikost_videa/cas/1000
kde velikost_videa je cílová velikost souboru (např. 700 MB pro 1 CD) mínus velikost audio stopy (ta se u CBR MP3 audia spočítá snadno - kilobity za sekundu, ABR je podobný případ a VBR audio musíme nejdřív zakódovat a pak se uvidí jak je audio stopa veliká) a cas je čas v sekundách. Taky se musí něco odečíst pro režii AVI souboru.
Při postupu uvedeném v článku (tříprůchodové kódování) by měl MEncoder sám zobrazit bitrate.
Hodnota bpp může zhruba indikovat kvalitu, kolem 0.2 je to tak akorát - ale každé video je jinak komprimovatelné, u některých stačí k slušné kvalitě třeba 0.15, jindy ani 0.23 nemusí být dost. Hodně akční nebo zašuměné video se komprimuje hůř (a potřebuje větší hodnotu bpp) než čistý jednoduchý obraz, kde se nic moc nehýbe a nebliká.
Obecně pro 1 CD a délky mezi 80-120 minutami je při poměru stran 4:3 ideální rozlišení 512x384, u kratších se dá použít třeba 576x432, u delších 448x336 atd. U širokoúhlého videa to je samozřejmě jiné (u něj pozor na správný poměr stran - v AVI budou na rozdíl od MPEG-2 videa čtvercové pixely, 1:1, takže ten rozdíl je třeba při změně velikosti vykompenzovat, aby obraz nebyl zdeformovaný).
Takže přidat filtr pro změnu velikosti:
-vf crop=764:570:2:2,scale=512:384
Případně přidat parametr -sws 9 pro ostřejší filtr na zmenšení (lanczos).
c) U digitální nahrávky by měl být obraz čistý, ale i tam se, např. u filmů, může hodit filtr hqdn3d pro redukci šumu:
-vf hqdn3d,crop=764:570:2:2,scale=512:384jehož výchozí parametry se můžou u víc zašuměných (samozřejmě hlavně analogových) nahrávek zesílit:
-vf hqdn3d=4:5:10,crop=764:570:2:2,scale=512:384(Je lepší jej aplikovat před zmenšením.)
Takže závěrečný kompletní příklad: mám video o délce 90 minut, chci jej vypálit na 1 CD. Audio bude CBR MP3 128 kb/s.
Velikost audio stopy: 128000/8*5400/1024 = 82,4 MB.
Bitrate videa: (700-82,4)*8*1024*1024/5400/1000 = 959,4 kb/s
Od tohoto bitrate něco odečteme pro režii AVI kontejneru (udává se 24 bytů na frame - všechny, audio i video). Kodek XviD by už ale s ním měl automaticky počítat.
Kompletní příkaz pro dvojprůchodové kódování:
mencoder -vf hqdn3d,crop=764:570:2:2,scale=512:384\ -oac mp3lame -lameopts cbr:br=128\ -ovc xvid -xvidencopts pass=1:bitrate=959\ :me_quality=6:vhq=4:max_bframes=1:trellis\ :chroma_me:chroma_opt:hq_ac vstup.mpeg\ -o vystup.avi(první průchod)
mencoder -vf hqdn3d,crop=764:570:2:2,scale=512:384\ -oac mp3lame -lameopts cbr:br=128\ -ovc xvid -xvidencopts pass=1:bitrate=959\ :me_quality=6:vhq=4:max_bframes=1:trellis\ :chroma_me:chroma_opt:hq_ac vstup.mpeg\ -o vystup.avi(druhý průchod)
Volby jako VHQ, trellis a používání B-frames zlepšují poměr kvalita/velikost. Případně se při dostatečné komprimovatelnosti či vyšším bitrate, nedostatečné ostrosti atd. dá přidat quant_type=mpeg pro používání ostřejších MPEG kvantizérů místo H.263.
Ty příkazy jsem psal naslepo, aniž bych je testoval, tak se omlouvám za případné chyby v nich.