Mercurial > mplayer.hg
view DOCS/xml/pl/mencoder.xml @ 11892:c435050928fe
sync
author | paszczi |
---|---|
date | Fri, 30 Jan 2004 10:36:29 +0000 |
parents | e40abd8c542b |
children | 3bac9ce048ef |
line wrap: on
line source
<?xml version="1.0" encoding="iso-8859-2"?> <!-- Synced with 1.17 --> <chapter id="mencoder"> <title>Kodowanie z <application>MEncoderem</application></title> <para> Pełna lista dostępnych opcji <application>MEncodera</application> oraz przykłady znajdują sie na stronie man. W pliku <ulink url="../../tech/encoding-tips.txt">encoding-tips</ulink> znajduje się dużo przykładów i przewodników skompletowanych z wielu wątków listy dyskusyjnej mplayer-users. W <ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">archiwum</ulink> znajdziesz mnóstwo dyskusji o aspektach i problemach związanych z kodowaniem przy pomocy <application>MEncodera</application>. </para> <sect1 id="menc-feat-divx4"> <title>Kodowanie 2 lub 3-przebiegowe MPEG-4 ("DivX")</title> <formalpara> <title>Kodowanie 2-przebiegowe</title> <para> Nazwa pochodzi od faktu, że przy użyciu tej metody plik kodowany jest <emphasis>dwa razy</emphasis>. Pierwsze kodowanie (dubbed pass) tworzy pliki tymczasowe (<filename>*.log</filename>) o rozmiarze kilku megabajtów, nie kasuj ich odrazu (możesz natomiast skasować plik AVI). W drugim przebiegu przy pomocy danych o bitrate'cie z plików tymczasowych tworzony jest plik wyjściowy 2-przebiegu. Plik końcowy będzie miał o wiele lepszą jakość w porównaniu ze standardowym 1-przebiegowym kodowaniem. Jeżeli pierwszy raz o tym słyszysz, powinieneś zajrzeć do któregoś z wielu przewodników dostępnych w sieci. </para> </formalpara> <para> Ten przykład pokazuje jak zakodować DVD do 2-przebiegowego MPEG-4 ("DivX") AVI. Będą do tego potrzebne tylko dwie komendy: <screen>rm frameno.avi</screen> usuń ten plik, który może pochodzić z poprzedniego 3-przebiegowego kodowania (wpływa on na aktualny) <screen> mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <replaceable>film.avi</replaceable> mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <replaceable>film.avi</replaceable> </screen> </para> <formalpara> <title>Kodowanie 3-przebiegowe</title> <para> Jest to rozszerzenie kodowania 2-przebiegowego, gdzie dźwięk jest kodowany osobno. Ta metoda wyświetla zalecany bitrate taki, aby film zmieścił sie na pojedyńczą płytę CD. Również, dźwięk kodowany jest tylko raz, inaczej niż w trybie 2-przebiegowym. Schemat wygląda tak: </para> </formalpara> <procedure> <step><para> Usuń przeszkadzający plik tymczasowy: <screen>rm frameno.avi</screen> </para></step> <step><para> <emphasis>Pierwszy przebieg:</emphasis> <screen>mencoder <replaceable>plik/DVD</replaceable> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi</screen> Zostanie stworzony plik avi tylko ze scieżką dźwiękową, zawierający <emphasis role="bold">jedynie</emphasis> rządany strumień audio. Nie zapomnij o <option>-lameopts</option>, jeżeli musisz je ustawić. Jeśli kodowałeś długi film, <application>MEncoder</application>, po zakończeniu tego przebiegu, wypisze zalecane wartości bitrate'u dla docelowych pojemności 650Mb, 700Mb, i 800Mb. </para></step> <step><para> <emphasis>Drugi przebieg:</emphasis> <screen> mencoder <replaceable>plik/DVD</replaceable> -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<replaceable>bitrate</replaceable><!-- --></screen> Jest to pierwszy przebieg kodowania video. Opcjonalnie ustal video bitrate na ten który MEncoder wypisał na końcu poprzedniego przebiegu.</para></step> <step><para> <emphasis>Trzeci przebieg:</emphasis> <screen> mencoder <replaceable>file/DVD</replaceable> -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=<replaceable>bitrate</replaceable> </screen> Jest to drugi przebieg kodowania video. Ustal ten sam bitrate co w poprzednim przebiegu, chyba że naprawdę wiesz co robisz. W tym przebiegu, dźwięk z <filename>frameno.avi</filename> będzie dołączony do pliku końcowego... i gotowe! </para></step> </procedure> <example> <title>Przykład 3-przebiegowego kodowania</title> <para> <screen>rm frameno.avi</screen> usuń ten plik, który może pochodzić z poprzedniego 3-przebiegowego kodowania (wpływa on na aktualny) <screen> mencoder dvd://2 -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3 mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <replaceable>film.avi</replaceable> mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <replaceable>film.avi</replaceable> </screen> </para> </example> </sect1> <sect1 id="menc-feat-mpeg"> <title>Kodowanie do formatu MPEG</title> <para> <application>MEncoder</application> może tworzyć pliki formatu MPEG (MPEG-PS). Jest to prawdopodobnie użyteczne tylko z kodekiem <emphasis>mpeg1video</emphasis> pochodzącym z <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>, ponieważ odtwarzacze - za wyjątkiem <application>MPlayera</application> - oczekują obrazu zakodowanego w MPEG1 i strumienia dźwiękowego w MPEG1 warstwa (layer) 2 (MP2) w pliku MPEG. </para> <para> Cecha ta nie jest zbytnio przydatna w tej chwili, poza tym zawiera prawdopodobnie wiele błędów, ale najważniejsze jest to, że <application>MEncoder</application> w tej chwili nie może kodować 2 warstwy MPEG1 (MP2) audio której oczekują wszystkie odtwarzacze w plikach MPEG. </para> <para> Aby zmienić wyjściowy format plików <application>MEncodera</application>, użyj opcji <option>-of mpeg</option>. </para> <para> Przykład: <screen> mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy <replaceable>inne opcje</replaceable> <replaceable>media.avi </replaceable> -o <replaceable>wyjscie.mpg</replaceable> </screen> </para> </sect1> <sect1 id="menc-feat-rescale"> <title>Przeskalowywanie filmów</title> <para> Najczęściej potrzeba zmiany wielkości obrazu jest nagła. Jej powodów może być wiele: zmniejszenie rozmiaru pliku, przepustowość sieci, itd. Wiekszość ludzi stosuje skalowanie przy konwertowaniu DVD lub SVCD do DivXa (AVI). To jest <emphasis role="bold">złe</emphasis> rozwiązanie. Zamiast tak robić, przeczytaj sekcje <link linkend="aspect">Zachowywanie proporcji obrazu</link>. </para> <para> Proces skalowania obsługiwany jest przez filtr video <literal>scale</literal> <option>-vf scale=<replaceable>szerokość</replaceable>:<replaceable>wysokość</replaceable></option>. Jego jakość może być ustawiona parametrem <option>-sws</option>. Jeśli nie jest on podany <application>MEncoder</application> użyje wartości 0: szybki bilinearny. </para> <para> Przykład: <screen> mencoder <replaceable>wejscie.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=640:480-o <replaceable>wyjscie.avi</replaceable> </screen> </para> </sect1> <sect1 id="menc-feat-streamcopy"> <title>Kopiowanie strumienia</title> <para> <application>MEncoder</application> obsługuje strumienie wejściowe na dwa sposoby: <emphasis role="bold">koduje</emphasis> lub <emphasis role="bold">kopiuje</emphasis> je. Ta sekcja jest o <emphasis role="bold">kopiowaniu</emphasis>. </para> <itemizedlist> <listitem><para> <emphasis role="bold">Strumień video</emphasis> (opcja <option>-ovc copy</option>): ładne rzeczy można wyczyniać:) Jak, wstawianie (nie konwertowanie) FLI, VIDO lub MPEG1 video w plik AVI ! Oczywiście tylko <application>MPlayer</application> potrafi odtwarzać takie pliki :) I prawdopodobnie nie ma dla tego żadnego sensownego zastosowania. Na zdrowy rozsądek: kopiowanie strumieni video może być przydatne tylko wtedy, gdy np. tylko strumień audio ma być zakodowany (np. PCM do MP3). </para></listitem> <listitem><para> <emphasis role="bold">Strumień audio</emphasis> (opcja <option>-oac copy</option>): prosto i przystępnie. Możliwe jest wmiksowanie zewnętrznego źródła (MP3, WAV) do strumienia wyjściowego. Użyj opcji <option>-audiofile <replaceable>nazwa_pliku</replaceable></option> do tego celu. </para></listitem> </itemizedlist> </sect1> <sect1 id="menc-feat-fix-avi"> <title>Naprawianie plików AVI ze zniszczonym indeksem lub przeplotem</title> <para> Najprostsza sprawa. Po prostu kopiujemy strumień audio i video, a <application>MEncoder</application> generuje indeks. Oczywiście nie naprawi to możliwych błęów w strumieniu video i/lub audio, ale za to, naprawi pliki z zepsutym przeplotem, +tak więc opcja <option>-ni</option> nie będzie tu już potrzebna. </para> <para> Komenda: <screen> mencoder -idx <replaceable>wejscie.avi</replaceable> -ovc copy -oac copy -o <replaceable>wyjscie.avi</replaceable><!-- --></screen> </para> <sect2 id="menc-feat-appending"> <title>Łącznie wielu plików AVI</title> <para> Efektem ubocznym funkcji naprawiania zepsutych plików AVI jest możliwości łączenia 2 (lub więcej) plików AVI: </para> <para> Komenda: <screen>cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o <replaceable>wyjscie.avi</replaceable> -</screen> </para> <note><para> Komenda ta oczekuje tego, żeby<filename>1.avi</filename> i <filename>2.avi</filename> używały tego samego kodeka, rozdzielczości, szybkości strumienia (stream rate), i przynajmniej <filename>1.avi</filename> nie może być zepsute. Możliwe, że będziesz musiał naprawić pliki wejściowe, jak było opisane <link linkend="menc-feat-fix-avi">powyżej</link>. </para></note> </sect2> </sect1> <sect1 id="menc-feat-enc-libavcodec"> <title>Kodowanie przy pomocy rodziny kodeków <systemitem class="library">libavcodec</systemitem></title> <para> <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> umożliwia proste kodowanie do wielu interesujących formatów video i audio. Możesz kodować do następujących kodeków (mniej lub bardziej aktualne) <informaltable frame="all"> <tgroup cols="2"> <thead> <row><entry>Nazwa kodeka</entry><entry>Opis</entry></row> </thead> <tbody> <row><entry>mjpeg</entry><entry> Ruchomy JPEG </entry></row> <row><entry>ljpeg</entry><entry> Bezstratny JPEG </entry></row> <row><entry>h263</entry><entry> H263 </entry></row> <row><entry>h263p</entry><entry> H263 Plus </entry></row> <row><entry>mpeg4</entry><entry> Standtard ISO MPEG-4 (DivX 5, XVID kompatybilne) </entry></row> <row><entry>msmpeg4</entry><entry> pierwotny wariant MPEG-4 przez MS, v3 (DivX3) </entry></row> <row><entry>msmpeg4v2</entry><entry> pierwotny wariant MPEG-4 przez MS, v2 (używany w starych plikach asf) </entry></row> <row><entry>wmv1</entry><entry> Windows Media Video, wersja 1 (WMV7) </entry></row> <row><entry>wmv2</entry><entry> Windows Media Video, wersja 2 (WMV8) </entry></row> <row><entry>rv10</entry><entry> Stary kodek RealVideo </entry></row> <row><entry>mpeg1video</entry><entry> MPEG1 video </entry></row> <row><entry>mpeg2video</entry><entry> MPEG2 video </entry></row> <row><entry>huffyuv</entry><entry> bezstratna kompresja </entry></row> <row><entry>asv1</entry><entry> ASUS Video v1 </entry></row> <row><entry>asv2</entry><entry> ASUS Video v2 </entry></row> <row><entry>ffv1</entry><entry> bezstratny kodek video FFmpeg </entry></row> </tbody> </tgroup> </informaltable> Pierwsza kolumna zawiera nazwę kodeka, która powinna być podana za opcją <literal>vcodec</literal>, np: <option>-lavcopts vcodec=msmpeg4</option> </para> <informalexample> <para> Przykład z kompresją MJPEG: <screen>mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen> </para> </informalexample> </sect1> <sect1 id="menc-feat-enc-images"> <title>Kodowanie z wielu wejściowych plików obrazkowych (JPEG,PNG lub TGA)</title> <para> <application>MEncoder</application> jest w stanie stworzyć film z jednego lub wielu plików JPEG, PNG lub TGA. Poprzez proste kopiowanie ramek może stworzyć pliki MJPEG (Motion(ruchomy - przypis tłumacza) JPEG), MPNG (Motion PNG) lub MTGA (Motion TGA). </para> <orderedlist> <title>Jak to działa:</title> <listitem><para> <application>MEncoder</application> <emphasis>dekoduje</emphasis> wejściowy obrazek/obrazki z pomocą biblioteki <systemitem class="library">libjpeg</systemitem> (w przypadku dekodowania PNG, skorzysta z <systemitem class="library">libpng</systemitem>). </para></listitem> <listitem><para> Potem <application>MEncoder</application> kompresuje zdekodowane pliki podanym kompresorem (DivX4, Xvid, ffmpeg msmpeg4, itd.). </para></listitem> </orderedlist> <formalpara> <title>Przykłady</title> <para> Opis i sposób działania funkcji <option>-mf</option> znajdują się na stronie man. <informalexample> <para> Tworzenie pliku DivX4 ze wszystkich plików JPEG w aktualnym katalogu: <screen> mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o <replaceable>wyjscie.avi</replaceable> \*.jpg<!-- --></screen> </para> </informalexample> <informalexample> <para> Tworzenie pliku DivX4 z wybranych plików JPEG w aktualnym katalogu: <screen> mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o <replaceable>wyjscie.avi</replaceable> <replaceable>ramka001.jpg,ramka002.jpg</replaceable> <!-- --></screen> </para> </informalexample> <informalexample> <para> Tworzenie pliku Motion (ruchomego - przyp. tłum.) JPEG (MJPEG) ze wszystkich plików JPEG w aktualnym katalogu: <screen> mencoder -mf on:w=800:h=600:fps=25 -ovc copy -o <replaceable>wyjscie.avi</replaceable> \*.jpg<!-- --></screen> </para> </informalexample> <informalexample> <para> Tworzenie nieskompresowanego pliku ze wszystkich plików PNG w aktualnym katalogu: <screen> mencoder -mf on:w=800:h=600:fps=25:type=png -ovc raw -o <replaceable>output.avi</replaceable> \*.png<!-- --></screen> </para> </informalexample> <note><para> Szerokości musi być liczbą podzielną przez 4, takie są ograniczenia formatu RAW RGB AVI. </para></note> <informalexample> <para> Tworzenie pliku Motion PNG (MPNG) ze wszystkich plików PNG w aktualnym katalogu: <screen> mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy -o <replaceable>wyjscie.avi</replaceable> \*.png<!-- --></screen> </para> </informalexample> <informalexample> <para> Tworzenie pliku Motion TGA (MTGA) ze wszystkich plików TGA w aktualnym katalogu: <screen> mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy -o <replaceable>wyjscie.avi</replaceable> \*.tga<!-- --></screen> </para> </informalexample> </para> </formalpara> </sect1> <sect1 id="menc-feat-extractsub"> <title>Wyciąganie napisów z DVD do pliku Vobsub</title> <para> <application>MEncoder</application> jest w stanie wyciągnąć napisy z DVD do pliku w formacie Vobsub. Tworzy je para plików z rozszerzeniem <filename>.idx</filename> i <filename>.sub</filename>, które są zazwyczaj spakowane do pojedyńczego archiwum <filename>.rar</filename>. <application>MPlayer</application> może je odtwarzać z opcjami <option>-vobsub</option> i <option>-vobsubid</option>. </para> <para> Podajesz nazwę bazową (tzn. bez rozszerzenia <filename>.idx</filename> lub <filename>.sub</filename>) pliku wyjściowego z <option>-vobsubout</option> oraz indeks dla tego pliku przez <option>-vobsuboutindex</option>. </para> <para> Jeżeli źródłem nie jest, DVD powinieneś użyć opcji <option>-ifo</option>, aby wskazać plik <filename>.ifo</filename> potrzebny do stworzenia pliku wynikowego <filename>.idx</filename>. </para> <para> Jeżeli źródłem nie jest DVD i nie masz pliku <filename>.ifo</filename>, będziesz musiał użyć opcji <option>-vobsubid</option>, aby podać id języka, które będzie umieszczone w pliku <filename>.idx</filename>. </para> <para> Każde uruchomienie dołączy bierzące napisy, jeżeli pliki <filename>.idx</filename> i <filename>.sub</filename> istnieją. Więc powinieneś je usunąć przed uruchomieniem. </para> <example> <title>Kopiowanie dwóch napisów z DVD podczas 3-przebiegowego kodowania</title> <screen> rm subtitles.idx subtitles.sub mencoder dvd://1 -vobsubout napisy -vobsuboutindex 0 -sid 2 -o frameno.avi -ovc frameno mencoder dvd://1 -oac copy -ovc divx4 -pass 1 mencoder dvd://1 -oac copy -ovc divx4 -pass 2 -vobsubout napisy -vobsuboutindex 1 -sid 5<!-- --></screen> </example> <example> <title>Kopiowanie francuskich napisów z pliku MPEG</title> <screen> rm napisy.idx napisy.sub mencoder <replaceable>film.mpg</replaceable> -ifo <replaceable>film.ifo</replaceable> -vobsubout napisy -vobsuboutindex 0 -vobsuboutid fr -sid 1<!-- --></screen> </example> </sect1> <sect1 id="aspect"> <title>Utrzymywanie proporcji obrazu (aspect ratio)</title> <para> Pliki DVD i SVCD (tzn. MPEG1/2) zawierają wartość proporcji obrazu, która opisuje, jak odtwarzacz ma skalować strumień video, wiec ludzie nie bedą się męczyć (np.: 480x480 + 4:3 = 640x480). Jednak przy kodowaniu plików AVI (DivX), musisz być świadom, że nagłowek AVI nie przechowuje tej wartości. Przeskalowywanie jest obrzydliwe i czasochłonne, musi być jakiś lepszy sposób! </para> <para>Jest</para> <para> MPEG4 posiada unikalną cechę: strumień video może posiadać swoją wartość proporcji obrazu. Tak, dokładnie jak pliki MPEG1/2 (DVD, SVCD) i H263. Niestety, nie ma <emphasis role="bold">żadnych</emphasis> odtwarzaczy video które by wykorzystywały tą zaletę MPEG4, oprócz <application>MPlayera</application>. </para> <para> Właściwość ta może być jedynie używana z kodekiem <systemitem>mpeg4</systemitem> z biblioteki <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>. Pamiętaj: chociaż <application>MPlayer</application> poprawnie odtworzy stworzone pliki, inne odtwarzacze użyją złych proporcji obrazu (aspect ratio). </para> <para> Z pewnością powinieneś wyciąć czarne pasy nad i pod obrazem. Zobacz jak używać filtrów <systemitem>cropdetect</systemitem> i <systemitem>crop</systemitem> na stronie man. </para> <para> Sposób użycia: <screen> mencoder <replaceable>przykład-svcd.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o <replaceable>wyjscie.avi</replaceable> </screen> </para> </sect1> <sect1 id="custommatrices"><title>Dowolne inter/intra matryce</title> <para> Ta cecha <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> pozwala ustawić dowolne inter (I-ramki/ramki kluczowe) i intra (P-ramki/predicted frames) matryce. Funkcja ta jest obsługiwana przez wiele kodeków: <systemitem>mpeg1video</systemitem> i <systemitem>mpeg2video</systemitem> zgłaszane są jako działające. </para> <para> Typowy sposób użycia tej opcji to ustawienie matrycy na specyfikacje preferowane przez <ulink url="http://www.kvcd.net/">KVCD</ulink>. </para> <para> Matryca Kwantyzacji <emphasis role="bold">KVCD "Notch":</emphasis> </para> <para> Intra: <screen> 8 9 12 22 26 27 29 34 9 10 14 26 27 29 34 37 12 14 18 27 29 34 37 38 22 26 27 31 36 37 38 40 26 27 29 36 39 38 40 48 27 29 34 37 38 40 48 58 29 34 37 38 40 48 58 69 34 37 38 40 48 58 69 79 </screen> Inter: <screen> 16 18 20 22 24 26 28 30 18 20 22 24 26 28 30 32 20 22 24 26 28 30 32 34 22 24 26 30 32 32 34 36 24 26 28 32 34 34 36 38 26 28 30 32 34 36 38 40 28 30 32 34 36 38 42 42 30 32 34 36 38 40 42 44 </screen> </para> <para> Sposób użycia: <screen> $ mencoder <replaceable>wejscie.avi</replaceable> -o <replaceable>wyjscie.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=... </screen> </para> <para> <screen> $ mencoder <replaceable>wejscie.avi</replaceable> -ovc lavc -lavcopts vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37, 12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27, 29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79 :inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26, 28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34, 36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg </screen> </para> </sect1> <sect1 id="menc-feat-dvd-mpeg4"> <title>Rippowanie DVD do wysokiej jakości pliku MPEG4 ("DivX")</title> <para> Na ripowanie DVD do pliku MPEG4 (DivX) wysokiej jakości składa sie wiele czynników. Poniżej znajduje się przykład tego procesu gdy nie ma żadnego rozmiaru docelowego pliku końcowego (innego niż zmieszczenie rezultatu w 2GB). <systemitem class="library">Libavcodec</systemitem> zostanie użyte do zakodowania obrazu, dźwięk natomiast będzie skopiowany bez zmian. </para> <sect2 id="menc-feat-dvd-mpeg4-crop"> <title>Kadrowanie</title> <para> Odtwórz DVD i uruchom na nim filtr detekcji kadrowania (<option>-vf cropdetect</option>). Rezultatem bedzie prostokąt kadrowania do użycia przy kodowaniu. Powodem kadrowania jest to, że wiele filmów nie zostało nakręconych w standardowej dla DVD proporcji obrazu (aspect ratio)(16/9 lub 4/3), lub, powodem może być cokolwiek, obraz nie wypełnia poprawnie całej ramki. A więc chcesz wyciąć bezsensowne czarne pasy podczas ripowania. To również poprawia jakość ripu w ponieważ kodowanie ostrych krawędzi czarnych pasów zajmuje wiele bitów. Powszechną proporcja obrazu jest 2.35, taka jak w kineskopie. Większość dużych filmów-pogromców bloków ma własnie taką proporcje obrazu (aspect ratio). </para> </sect2> <sect2 id="menc-feat-dvd-mpeg4-quality"> <title>Poziom jakość</title> <para> Następną rzeczą jaką musisz ustalić to docelowy poziom jakości. Gdy nie ma potrzeby zmieszczenia pliku na płycie/płytach CD, użycie stałej kwantyzacji znanej również pod nazwą stałej jakości będzie dobrym wyborem. W ten sposób każda ramka zajmuje tyle bitów ile potrzebuje aby zachować jakość na wybranym poziomie, za to wielokrotne kodowanie nie jest w tym wypadku potrzebne. W <systemitem class="library">libavcodec</systemitem>, otrzymasz stałą jakość używając opcji <option>-lavcopts vqscale=<replaceable>N</replaceable></option>. <option>vqscale=3</option> powinno dać końcowy rezultat poniżej 2GB, zależy to głównie od długości filmu i poziomu szumów obrazu (im wiecej szumów tym trudniej jest dany obraz skompresować). </para></sect2> <sect2 id="menc-feat-dvd-mpeg4-2gb"> <title>Pliki powyżej 2GB</title> <para> Jeżeli plik wynikowy z kodowania o stałej jakości jest większy od 2GB , będziesz musiał stworzyć indeks aby móc oglądać go poprawnie. Albo <itemizedlist> <listitem><para> odtwórz film z opcją <option>-forceidx</option> aby stworzyć index w locie albo </para></listitem> <listitem><para> użyj <option>-saveidx</option> aby zapisać indeks do pliku tylko raz i użyć go potem przy odtwarzaniu pliku używając opcji <option>-loadidx</option>. </para></listitem> </itemizedlist> Jeśli denerwuje Cię to, możesz chcieć utrzymać wielkość pliku poniżej 2GB. </para> <para> Są trzy sposoby aby uniknąć tego. Możesz spróbować zakodować jeszcze raz używająć <option>vqscale=4</option> i zobaczyć czy wielkość i jakość pliku wynikowego są zadowalające. Możesz także spróbować <link linkend="menc-feat-divx4">kodowania 2przebiegowego</link>. Gdy będziesz kopiował scieżkę dźwiękową automatycznie będziesz znał jej bitrate, znasz także długość filmu, możesz więc obliczyć potrzebny bitrate aby przekazać go opcji <option>-lavcopts vbitrate=<replaceable>bitrate</replaceable></option> bez używania <link linkend="menc-feat-divx4">kodowania 3przebieowego</link>. </para> <para> Trzecią i prawdopodobnie najlepszą opcją będzie lekkie zeskalowanie rozdzielczości. Lekkie zmiękczenie obrazu i stracenie setali jest bardziej przyjazne dla oka niż artefakty powodowane przez kompresję MPEG. Zeskalowywanie wydajnie redukuje szumy obrazy ,co jest dobre, ponieważ szumy się ciężko kompresuje. </para> </sect2> <sect2 id="menc-feat-dvd-mpeg4-deinterlacing"> <title>Usuwanie przeplotu</title> <para> Jeżeli film ma przeplot, możesz chcieć go zlikwidować podczas ripowania. Jest to kwestia dyskusyjna czy usuwanie przeplotu powinno być robione na tym etapie. Zaletą jest to że usuwanie przeplotu podczas konwertowania do MPEG4 polepsza kompresje, ułatwia oglądanie które jest mniej zasobożerne na monitorach komputerowych. <!-- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --> </para> <para> Czy usuwanie przeplotu na etapie ripowania jest dobrym pomysłem zależy od DVD. Jeżeli DVD zostało zrobione z filmu nakręconego w prędkości 24 fps (przyp. tłum. ramek na sekundę), możesz ze spokojem usunąć przeplot w czasie ripowania. Jednakże jeśli prędkość orginlanego filmu wynosiła 50/60 fps, konwertowanie go do video 23.976/25 fps bez przeplotu, nie będzie dobry pomysłem, ponieważ skutkiem takiego procesu będzie strata informacji. <!-- If, however, the original was 50/60 fps video, converting into deinterlaced 23.976/25 fps video will lose information. --> If you do decide to interlace, you can further experiment with different deinterlacing filters. See <ulink url="http://www.wieser-web.de/MPlayer/">http://www.wieser-web.de/MPlayer/</ulink> for examples. A good starting point is <option>-vf pp=fd</option>. </para> <para> Jeżeli naraz kadrujesz i usuwasz przeplot, to usuń przeplot <emphasis>przed</emphasis> kadrowaniem. Aktualnie, nie jest to konieczne gdy wertykalny offset kadrowania jest podzielny przez 2. Jednakże z innymi filtrami ,takimi jak dering, kadrowanie powinno być ostatnie, dlatego jest to dobrym przyzwyczajeniem aby ustawiać kadrowanie jako ostatnie. </para></sect2> <sect2 id="menc-feat-dvd-mpeg4-telecine"> <title>Odwrócone telecine</title> <para> Jeśli ripujesz DVD w formacie PAL, które jest 25 fps, nie musisz myśleć o fps'ach (ramkach na sekunde - przyp. tłum.). Użyj poprostu 25 fps. Z drugiej strony DVD w formacie NTSC są 29.97 fps (zakrąglone zazwyczaj od 30 fps, ale to nie jest prawda). Jeżeli film był nakręcony dla TV, znów nie musisz dotykać się do fps'ów. Ale jeśli film został nakręcony na taśmie, pociąga to sa sobą, że miał (dokładnie) 24 fps i zostal przekonwertowany podczas tworzenia DVD do 29.97 fps. Konwersja, gdzie do każdej z 24 ramek filmu dodaje sie 12 pól, nazywa sie telecine. Aby wiecej sie dowiedzieć o telecine zobacz <ulink url="http://www.google.com/search?q=telecine+field+23.976"> Wyniki szukania (Google) "telecine field 23.976"</ulink>. </para> <para> W przypadku gdy masz takie ztelecinowane DVD, będziesz chciał odwrócić telecine, tzn. konwertować film do 23.976 (29.97*4/5). Inaczej panning kamery będzie wyglądał brzydko i głupio. Do tego celu możesz użyć opcji <option>-ofps 23.976</option>. Wszystko co jest pokazywane w kinach jest nakręcone na taśmie i potrzebuje odwróconego telecine, programy telewizyjne natomiast nie. </para></sect2> <sect2 id="menc-feat-dvd-mpeg4-scaling"> <title>Skalowanie i proporcje obrazu (aspect ratio)</title> <para> Aby uzyskać najlepszą jakość nie skaluj podczas ripowania. Zeskalowywanie w dół powoduje strate detali, a skalowanie w górę skutkuje pojawieniem się artefaktów i zwiększa rozmiar pliku. Piksele w filmach DVD nie są kwadratowe, a więc filmy DVD zawierają informacje o poprawnej proporcji obrazu. Jest możliwe aby przechowywać tę informacje w nagłówku wynikowego pliku MPEG4. Większość odtwarzaczy video ignoruje tę informacje, ale <application>MPlayer</application> honoruje ją. Więc jeśli zamierzasz używać tylko <application>MPlayer</application> do odtwarzania zripowanego pliku, nie musisz skalować filmu, poprostu przekaż opcję <option>-lavcopts autoaspect</option> do <application>MEncoder</application>a i wszystko automagiczne będzie działać. Jeśli musisz skalować, bądź ostrożny aby uzyskać poprawny rozmiar obrazu szczególnie gdy kadrujesz. </para> </sect2> <sect2 id="menc-feat-dvd-mpeg4-summary"> <title>Podsumowanie</title> <para> Podsumowując wszystko, dobrą kodującą komendą może być: <screen> mencoder dvd://1 -aid 128 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vqscale=3:vhq:v4mv:trell:autoaspect \ -ofps 23.976 -vf crop=720:364:0:56 -o Harry_Potter_2.avi </screen> <option>dvd://1</option> wskazuje na tytuł DVD do zripowania. Opcja <option>-aid 128</option> mówi aby użyć 128ej scieżki audio, i <option>-oac copy</option> skopiować ją bez zmian. Będziesz musiał użyć <application>MPlayer</application>a aby znaleźć poprawne wartości do tych opcji. </para> <para> Opcje <option>vhq:v4mv:trell</option> do <option>-lavcopts</option> poprawiają jakość vs. bitrate, ale przedłużąją kodowanie. Szczególnie opcja <option>trell</option> zwalnia kodowanie znacząco ale też zauważalnie poprawia jakość. Jeżeli chcesz usunąć przeplot dodaj filtr <option>pp</option> do <option>-vf</option>, na przykład: <option>-vf pp=fd,crop=720:364:0:56</option> (w takiej kolejności). Jeśli nie potrzebujesz odwróconego telecine, zostaw <option>-ofps 23.976</option>. </para> </sect2> </sect1> </chapter>