mpv/DOCS/pl/encoding.html

308 lines
14 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Kodowanie - MEncoder - Koder film<6C>w dla Linuksa</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
</HEAD>
<BODY>
<H1><A NAME="encoding">7. Kodowanie z MEncoderem</A></H1>
<P>Po kompletn<74> list<73> dost<73>pnych opcji i przyk<79>ad<61>w MEncoder, prosz<73> zobaczy<7A>
stron<6F> manuala. Po serie r<>cznych przyk<79>ad<61>w i detali u<>ywania r<><72>nych
parametr<74>w kodowania, czytaj
<A HREF="../tech/encoding-tips.txt">sztuczki-kodowania</A> gdzie zgromadzone s<>
ro<72>ne w<>tki mailowe
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">mplayer-users</A>.
Szukaj w <A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">archiwach</A>
zbiorach dyskusyjnych o wszystkich aspektach problem<65>w dotycz<63>cych kodowania
MEncoderem.</P>
<H2><A NAME="2pass">7.1 Kodowanie 2 lub 3-krokowe MPEG-4 ("DivX")</A></H2>
<P><U><B>Kodowanie 2-krokowe:</B></U> jak sama nazwa wskazuje, metoda ta koduje
plik <I>dwukrotnie</I>. Krok pierwszy (<I>krok zdybinguj<75>cy</I>)
tworzy pliki podr<64>czne (*.log) z rozmiarem kilku megabajt<6A>w, nie kasuje ich
jeszcze (mo<6D>esz usun<75><6E> AVI). W drugim kroku, plik 2-kroku (sic!) jest tworzony
u<>ywaj<61>c bitreatu danych z pliku podr<64>cznego. Plik wynikowy b<>dzie mia<69> lepsz<73>
jako<6B><6F> obrazu. Je<4A>li spotka<6B>e<EFBFBD> si<73> z tym po raz pierwszy powiniene<6E> zasi<73>gn<67><6E>
rad dost<73>pnych w Internecie.
<P>Przyk<EFBFBD>ady te pokazuj<75> jak kodowa<77> DVD do 2-krokowego MPEG-4 ("DIVX") AVI. Tylko
dwie komendy s<> potrzebne:<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;rm frameno.avi</CODE> - usu<73> plik, kt<6B>ry mo<6D>e
pochodzi<7A> z poprzedniego 3-krokowego kodowania (mo<6D>e kolidowa<77> z obecnym)<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc lavc -lavcopts
vcodec=mpeg4:vpass=1 -oac copy -o movie.avi<BR>
&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc lavc -lavcopts
vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE></P>
<P><U><B>Kodowanie 3-krokowe:</B></U> to przed<65>u<EFBFBD>enie 2-krokowego kodowania,
gdzie kodowanie audio zajmuje miejsce w osobnym kroku. Tam metoda w<><77>cza
ocen<65> sugerowania bitreatu wideo dla dopasowania do CD. Tak<61>e audio kodowane
jest tylko tak, nie tak jak w trybie 2-krokowym. Schematy:</P>
<OL>
<LI>Usu<EFBFBD> konfliktowy plik podr<64>czny:
<P><CODE>rm frameno.avi</CODE></P></LI>
<LI>Pierwszy krok:
<P><CODE>mencoder &lt;file/DVD&gt; -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi</CODE></P>
<P>Zostanie utworzony plik avi zawieraj<61>cy tylko audio, <B>tylko</B> z po<70><6F>danym strumieniem audio.
Nie zapomnij o <CODE>-lameopts</CODE>, je<6A>li chcesz je ustawi<77>.
je<6A>li kodowa<77>e<EFBFBD> d<>ugi film, MEncoder wy<77>wietla sugerowane warto<74>ci bitrate dla 650Mb,
700Mb, i 800Mb rozmiar<61>w docelowych po uko<6B>czeniu kroku pierwszego.</P></LI>
<LI>Drugi krok:
<P><CODE>mencoder &lt;file/DVD&gt; -oac copy
-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=&lt;bitrate&gt;</CODE></P>
<P>To pierwszy krok kodowania wideo.
Opcjonalnie okre<72>lony bitreate wideo MEncoder wy<77>wietli<6C> na ko<6B>cu poprzedniego
kroku.</P></LI>
<LI>Trzeci krok:
<P><CODE>mencoder &lt;file/DVD&gt; -oac copy
-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=&lt;bitrate&gt;</CODE></P>
<P>Jest to drugi krok kodwania wideo.
Okre<72>l ten sam bitreat, co w poprzednim kroku, chyba, <20>e naprawd<77> wiesz, co
robisz. W tym kroku audio z <CODE>frameno.avi</CODE> zostanie
wsuni<6E>te do docelowego pliku... i wszytko jest gotowe!</P></LI>
</OL>
<H4>Przyk<EFBFBD>ady kodowania 3-krokowego:</H4>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;rm frameno.avi</CODE> - usu<73> plik, kt<6B>ry mo<6D>e
pochodzi<7A> z poprzedniego 3-krokowego kodowania (mo<6D>e kolidowa<77> z obecnym)<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc frameno
-o frameno.avi -oac mp3lame -lameopts vbr=3<BR>
&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc lavc
-lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi<BR>
&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc lavc
-lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE></P>
<H2><A NAME="mpeg">7.2 Kodowanie do formatu MPEG</A></H2>
<P>MEncoder mo<6D>e stworzy<7A> wyj<79>ciowy plik z formatem MPEG (MPEG-PS). Jes to prawdopodobnie
u<>yteczne tylko z kodekiem libavcodeca <I>mpeg1video</I>, poniewa<77> odtwarzacze
- poza MPlayer - poza wideo MPEG1, i MPEG1 warstwa 2 (MP2) strumieniuj<75> audio
w plikach MPEG.</P>
<P>Cecha ta jest niezbyt u<>yteczna w tej chwili, na marginesie prawdopodobnie
zawiera pe<70>no b<><62>d<EFBFBD>w, ale wa<77>na poniewa<77> MEncoder obecnie nie potrafi kodowa<77> audio
MPEG1 warstwy 2 (MP2), kt<6B>rego wszytskie inne odtwarzacze oczekuj<75> w plikach MPEG.</P>
<P>Aby zmieni<6E> format plik<69>w wynikowych MEncodera, u<>yj opcji <CODE>-of mpeg</CODE>.</P>
<P>Przyk<EFBFBD>ad:<BR>
&nbsp;&nbsp;<CODE>mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video
-oac copy &lt;other options&gt; media.avi -o output.mpg</CODE></P>
<H2><A NAME="rescaling">7.3 Skalowanie film<6C>w</A></H2>
<P>Cz<EFBFBD>sto potrzebna jest zmiana rozmiar<61>w obraz<61>w filmu. Powod<6F>w mo<6D>e by<62> wiele,
na przyk<79>ad dopasowywanie rozmiar<61>w pliku wyj<79>ciowego, szeroko<6B>c pasma sieci, itp.
Wiele ludzi cz<63>sto skaluje filmy kiedy konwertuj<75> DVD lub SVCD do DivX AVI. <B>Jes to b<><62>dne.</B>
Zamiast tego czytaj sekcj<63> <A HREF="#aspect">Zachowuj<EFBFBD>c aspekt stosunku</A>.</P>
<P>Proces skalowanie nadzorowany jest przez filter wideo <I>'scale'</I>:
<CODE>-vf scale=szeroko<6B><6F>:wysoko<6B><6F></CODE>. Jego jako<6B><6F> mo<6D>e zosta<74> ustawiona
przez opcj<63> <CODE>-sws</CODE>. Je<4A>li nie zostanie okre<72>lona, MEncoder u<>yje 0:
fast bilinear.</P>
<H4>U<EFBFBD>ycje:</H4>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder input.mpg -ovc lavc -lavcopts
vcodec=mpeg4 -vf scale=640:480 -oac copy -o
output.avi</CODE></P>
<H2><A NAME="copying">7.4 Kopiowanie strumieniowe</A></H2>
<P>MEncoder potrafi przechwyci<63> strumie<69> wej<65>ciowy na dwa sposoby: <B>koduj<EFBFBD>c</B> lub
<B>kopiuj<EFBFBD>c</B> go. Ta sekcja jest o <B>kopiowaniu</B>.</P>
<UL>
<LI><B>Strumieniowanie wideo</B> (opcja <CODE>-ovc copy</CODE>): niez<65>a robota
mo<6D>e zosta<74> wykonana :)<BR>
Co<43> jak wk<77>adanie (nie konwertowanie) wideo FLI, VIVO lub MPEG1 do
plik<69>w AVI. Oczywi<77>cie tylko MPlayer mo<6D>e odtwarza<7A> takie pliki :)
I prwadopodobnie nie posiada prawdziwych warto<74>ci dla wszytkich.
Z rozs<7A>dkiem: kopiowanie strumieni wideo mo<6D>e by<62> u<>yteczne na przyk<79>ad,
kiedy tylko strumie<69> audio by<62> do kodowania (co<63> w stylu odkopmresowanego
pliku PCM do MP3).</LI>
<LI><B>Strumieniowaqnie audio</B> (opcja <CODE>-oac copy</CODE>): chyba jasne.
Mo<4D>liwe jest przej<65>cie zewn<77>trznego pliku audio (MP3, Vorbis) i jego zapis
do strumienia zewn<77>trznego. U<>yj do tego opcji
<CODE>-audiofile &lt;filename&gt;</CODE>.</LI>
</UL>
<H2><A NAME="fixing">7.5 Naprawianie AVI z uszkodzonymi indeksami lub przeplataniem</A></H2>
<P><P>Prosto kopiujemy strumienie audio i wideo, a <B>MEncoder</B> generuje indeks.
Oczywi<77>cie nie naprawi to b<><62>d<EFBFBD>w strumieni wideo i/lub audio. Naprawia
to tak<61>e pliki z uszkodzonym przeplataniem, tak wi<77>c opcja <CODE>-ni</CODE>
b<>dzi<7A> potrzebna tak, czy inaczej.</P>
<P>Polecenie: <CODE>mencoder -idx input.avi -ovc copy -oac copy -o output.avi</CODE></P>
<H3><A NAME="appending">7.5.1 <20><>czenie wielkorotnych plik<69>w AVI</A></H3>
<P>Taki efekt uboczny, finkcja naprawiaj<61>ca uszkodzone AVI w<><77>cza MPlayera do <20><>czenia
2 (lub wi<77>cej) plik<69>w AVI:</P>
<P>Polecenie: <CODE>cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -</CODE></P>
<P><B>Inforamcja:</B> Oczekuje to <CODE>1.avi</CODE> i <CODE>2.avi</CODE> aby u<>yc tego samego kodeka,
rozdzielczo<7A>ci, stosunku strumieniowania itp, i co najmniej 1.avi nie m<>e by<62> uszkodzony.
Mo<4D>e musisz najpierw naprawi<77> tw<74>j wchodz<64>cy AVI, jak opisano <A HREF="#fixing">wy<EFBFBD>ej</A>.</P>
<H2><A NAME="libavcodec">7.6 Kodowanie z rodzin<69> kodek<65>w libavcodec</A></H2>
<P><A HREF="codecs.html#libavcodec">libavcodec</A> zapewnia proste kodowanie do r<><72>nych interesuj<75>cych
format<EFBFBD>w wideo i audio (obecnie kodeki audio s<> niedost<73>pne). Mo<4D>esz kodowa<77> do nast<73>puj<75>cch kodek<65>w:</P>
<UL>
<LI>mjpeg - Ruchome JPEG</LI>
<LI>h263 - H263</LI>
<LI>h263p - H263 Plus</LI>
<LI>mpeg4 - ISO standard MPEG-4 (kompatybilne DivX 5, XVID)</LI>
<LI>msmpeg4 - pre-standard MPEG-4 wariant MS, v3 (aka DivX3)</LI>
<LI>msmpeg4v2 - pre-standard MPEG-4 MSu, v2 (u<>ywany w starych plikach asf)</LI>
<LI>wmv1 - Windows Media Video, wersja 1 (aka WMV7)</LI>
<LI>rv10 - stary kodek RealVideo</LI>
<LI>mpeg1video - wideo MPEG1 :)</LI>
<LI>huffyuv - bezstratna kompresja</LI>
</UL>
<P>Pierwsza kolumna zawiera nazwy kodek<65>w, kt<6B>re powinny by<62> podane po konfiguracji
<CODE>vcodec</CODE>, czyli: <CODE>-lavcopts vcodec=msmpeg4</CODE></P>
<P>Przyk<EFBFBD>ad z kompresj<73> MJPEG:<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -o title2.avi -ovc lavc
-lavcopts vcodec=mjpeg -oac copy</CODE></P>
<H2><A NAME="image_files">7.7 Kodowanie z wielokrotnych plik<69>w obraz<61>w (JPEGi, PNGsy lub TGAsy)</A></H2>
<P>MEncoder jest w stanie utworzy<7A> filmy z jednego lub wi<77>cej plik<69>w JPEG, PNG lub TGA.
Z prostym kopiowaniem klatek potrafi utworzy<7A> MJPEG (Ruchome JPEG), MPNG
(Ruchome PNG) lub MTGA (Ruchome TGA) files.</P>
Obje<EFBFBD>nienie procesu:
<OL>
<LI>MEncoder <I>dekoduje</I> wej<65>ciowy(e) obraz(y) z <CODE>libjpeg</CODE>
(kieedy dekoduje PNGsy, u<>yje <B>libpng</B>).</LI>
<LI>MEncoder nast<73>pnie przekazuje dekodowane obrazy do wybranego kompresora wideo
(DivX4, Xvid, ffmpeg msmpeg4, itp...).</LI>
</OL>
<H4>Przyk<EFBFBD>ady</H4>
<P>Wyja<EFBFBD>nienie opcji <CODE>-mf</CODE>, kt<6B>re mo<6D>esz znale<6C><65> ni<6E>ej opisane
s<EFBFBD> w manualu.</P>
<P><I>Tworzenie pliku DivX4 ze wszytskich plik<69>w JPEG w obecnym katalogu:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc divx4
-o output.avi \*.jpg</CODE></P>
<P><I>Tworzenie pliku DivX4 z niekt<6B>rych plik<69>w JPEG w obecnym katalogu:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25
-ovc divx4 -o output.avi frame001.jpg,frame002.jpg</CODE></P>
<P><I>Tworzenie pliku Rychomego JPEG (MJPEG) ze wszystkich plik<69>w JPEG w obecnym katalogu:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc copy
-o output.avi \*.jpg</CODE></P>
<P><I>Tworzenie pliku nieskompresowanego ze wszytskich plik<69>w PNG w obecnym katalogu:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc rawrgb
-o output.avi \*.png</CODE></P>
<P><B>Informacja:</B> Szeroko<6B><6F> musi by<62> ca<63>kowit<69> wielokrotno<6E>ci<63> 4, to limity formatu
RAW RGB AVI.</P>
<P><I>Tworzenie Ruchomego PNG (MPNG) ze wszytskich plik<69>w w obecnym katalogu:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy
-o output.avi \*.png</CODE></P>
<P><I>Tworzenie Ruchomego TGA (MTGA) ze wszystkich plik<69>w TGA w obecnym katalogu:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy
-o output.avi \*.tga</CODE></P>
<H2><A NAME="vobsub">7.8 Wyci<63>ganie napis<69>w DVD do pliku Vobsub</A></H2>
<P>MEncoder potrafi wyci<63>gn<67>c napisy z DVD do pliku o formacie Vobsub.
Polegaj<61> one na parach kodowanych plik<69>w w
<CODE>.idx</CODE> i <CODE>.sub</CODE> i zazwyczaj pakowane s<> w pojedyncze archiwum
<CODE>.rar</CODE>. MPlayer potrafi je odtwarza<7A> z opcjami
<CODE>-vobsub</CODE> i <CODE>-vobsubid</CODE>.</P>
<P>Ty okre<72>lasz nazw<7A> g<><67>wn<77> (tj. bez rozszerzenia <CODE>.idx</CODE> lub
<CODE>.sub</CODE>) pliku wyj<79>ciowego z <CODE>-vobsubout</CODE>
i indeks dla tych napis<69>w w pliku wynikowym z <CODE>-vobsuboutindex</CODE>.</P>
<P>Je<EFBFBD>li plik wej<65>cowy nie pochodzi z DVD powinienie<69> u<>y<EFBFBD> <CODE>-ifo</CODE>, aby
wskaza<7A> plik <CODE>.ifo</CODE> wymagany do konstrukcji pliku wynikowego
<CODE>.idx</CODE>.</P>
<P>Je<EFBFBD>li plik wej<65>ciowy nie pochodzi z DVD, a ty nie masz pliku <CODE>.ifo</CODE>
b<>dziesz musia<69> u<>y<EFBFBD> opcji <CODE>-vobsubid</CODE>aby poinformowa<77>, kt<6B>ry id j<>zyka
nale<6C>y w<>o<EFBFBD>y<EFBFBD> do pliku <CODE>.idx</CODE>.</P>
<P>Ka<EFBFBD>de uruchomienie b<>dzie dodawa<77> uruchamiane napisy je<6A>li pliki <CODE>.idx</CODE> i
<CODE>.sub</CODE> ju<6A> istniej<65>. Powiniene<6E> wi<77>c usun<75><6E> jakie<69> przed startem.</P>
<H4>Przyk<EFBFBD>ady:</H4>
<P><I>Kopiowanie dw<64>ch napis<69>w z DVD podczas kodowania 3-krokowego</I><BR>
&nbsp;&nbsp;<CODE>rm subtitles.idx subtitles.sub</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder -dvd 1 -vobsubout subtitles -vobsuboutindex 0
-sid 2 -o frameno.avi -ovc frameno -oac mp3lame -lameopts vbr=3</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder -dvd 1 -oac copy -ovc divx4 -divx4opts pass=1</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder -dvd 1 -oac copy -ovc divx4 -divx4opts pass=2 -vobsubout
subtitles -vobsuboutindex 1 -sid 5</CODE></P>
<P><I>Kopiowanie francuskich napis<69>w z pliku MPEG</I><BR>
&nbsp;&nbsp;<CODE>rm subtitles.idx subtitles.sub</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles
-vobsuboutindex 0 -vobsuboutid fr -sid 1</CODE></P>
<H2><A NAME="aspect">7.9 Zachowanie stosunku</A></H2>
<P>Pliki DVD i SVCD (tj. MPEG1/2) zawieraj<61> warto<74><6F> stosunku, kt<6B>ra opisuje, jak
odtwarzacze powinny skalowa<77> strumie<69> wideo (np.: 480x480 + 4:3 = 640x480).
Jednak, kiedy kodujesz do plik<69>w AVI (DivX), powiniene<6E> wiedzie<69>,
<20>e nag<61><67>wki AVI nie zapami<6D>tuj<75> takiej warto<74>ci.
W taki spos<6F>b jedynym rozwi<77>znaniem jest skalowanie!</P>
<P>MPEG4 posiada niespotykan<61> cech<63>: strumie<69> wideo mo<6D>e zawiera<72> jego wymagany
stosunek. Tak, tylko takie pliki jak MPEG1/2 (DVD, SVCD).
Przesadzaj<61>c, <U>nie</U> ma odtwarzaczy wideo kt<6B>re obs<62>uguj<75> t<> cech<63>.
Za wyj<79>tkiem MPlayera.</P>
<P>Cecha ta mo<6D>e by<62> u<>yta tylko z kodekiem <CODE>mpeg4</CODE> <B>libavcodec</B>a.
Zatrzymaj w <20>wiadomo<6D>ci: chocia<69> MPlayer poprawnie odtwrza stworzone pliki,
inne odtwarzacze u<>yj<79> b<><62>dnego stosunku.</P>
<P>Powinine<EFBFBD> powa<77>nie <20>ci<63><69> czarne obram<61>wki na oko<6B>o i poni<6E>ej obrazu filmu.
Zobacz manual odno<6E>nie u<>ytku filtr<74>w <CODE>cropdetect</CODE> i
<CODE>crop</CODE>.</P>
<H4>U<EFBFBD>ycie:</H4>
<P><CODE>$ mencoder sample-svcd.mpg -ovc lavc -lavcopts
vcodec=mpeg4:aspect=16.0/9.0 -vf crop=714:548:0:14 -oac copy -o output.avi</CODE></P>
</BODY>
</HTML>