Sync r21425

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21426 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
torinthiel 2006-12-01 23:42:50 +00:00
parent 23ae48d23e
commit 6f2563b5bf
1 changed files with 130 additions and 59 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r18255 -->
<!-- synced with r21425 -->
<!-- Opiekun: Qba -->
<chapter id="mencoder">
<title>Podstawy używania <application>MEncodera</application></title>
@ -38,32 +38,32 @@ Kodeki audio:
<tbody>
<row>
<entry>mp3lame</entry>
<entry>Kodowanie na MP3 VBR, ABR lub przy użyciu LAME</entry>
<entry>kodowanie na MP3 VBR, ABR lub przy użyciu LAME</entry>
</row>
<row>
<entry>lavc</entry>
<entry>Używa jednego z kodeków audio z <link linkend="menc-feat-enc-libavcodec-audio-codecs"><systemitem class="library">libavcodec</systemitem></link>
<entry>używa jednego z <link linkend="menc-feat-enc-libavcodec-audio-codecs">kodeków audio z <systemitem class="library">libavcodec</systemitem></link>
</entry>
</row>
<row>
<entry>faac</entry>
<entry>Koder audio FAAC AAC</entry>
<entry>koder audio FAAC AAC</entry>
</row>
<row>
<entry>toolame</entry>
<entry>Koder MPEG Audio Layer 2</entry>
<entry>koder MPEG Audio Layer 2</entry>
</row>
<row>
<entry>twolame</entry>
<entry>Koder MPEG Audio Layer 2 encoder oparty na tooLAME</entry>
<entry>koder MPEG Audio Layer 2 encoder oparty na tooLAME</entry>
</row>
<row>
<entry>pcm</entry>
<entry>Nieskompresowany dźwięk PCM</entry>
<entry>nieskompresowany dźwięk PCM</entry>
</row>
<row>
<entry>copy</entry>
<entry>Nie przekodowywuj, tylko przekopiuj zakodowane ramki</entry>
<entry>nie przekodowywuj, tylko przekopiuj zakodowane ramki</entry>
</row>
</tbody>
</tgroup>
@ -80,12 +80,12 @@ Kodeki video:
<tbody>
<row>
<entry>lavc</entry>
<entry>Używa jednego z kodeków video z <link linkend="menc-feat-enc-libavcodec-video-codecs"><systemitem class="library">libavcodec</systemitem></link>
<entry>używa jednego z <link linkend="menc-feat-enc-libavcodec-video-codecs">kodeków video z <systemitem class="library">libavcodec</systemitem></link>
</entry>
</row>
<row>
<entry>xvid</entry>
<entry>XviD, kodek MPEG-4 Advanced Simple Profile (ASP)</entry>
<entry>Xvid, kodek MPEG-4 Advanced Simple Profile (ASP)</entry>
</row>
<row>
<entry>x264</entry>
@ -97,15 +97,15 @@ Kodeki video:
</row>
<row>
<entry>raw</entry>
<entry>Nieskompresowane klatki video</entry>
<entry>nieskompresowane klatki video</entry>
</row>
<row>
<entry>copy</entry>
<entry>Nie przekodowywuj, tylko przekopiuj zakodowane ramki</entry>
<entry>nie przekodowywuj, tylko przekopiuj zakodowane ramki</entry>
</row>
<row>
<entry>frameno</entry>
<entry>Używany do kodowania trójprzebiegowego (nie zalecane)</entry>
<entry>używany do kodowania trójprzebiegowego (nie zalecane)</entry>
</row>
</tbody>
</tgroup>
@ -128,7 +128,7 @@ Formaty przechowywania:
<tbody>
<row>
<entry>lavf</entry>
<entry>Jeden z formatów obsługiwanych przez
<entry>jeden z formatów obsługiwanych przez
<systemitem class="library">libavformat</systemitem></entry>
</row>
<row>
@ -158,7 +158,7 @@ Formaty przechowywania:
</para>
<para>
<systemitem class="library">libavformat</systemitem> containers:
Formaty z <systemitem class="library">libavformat</systemitem>:
</para>
<para>
Jeśli chcesz żeby <systemitem class="library">libavformat</systemitem>
@ -208,7 +208,7 @@ Formaty przechowywania:
</row>
<row>
<entry>nut</entry>
<entry>Otwarty format NUT (eksperymentalny i jeszcze bez specyfikacji)</entry>
<entry>otwarty format NUT (eksperymentalny i jeszcze bez specyfikacji)</entry>
</row>
<row>
<entry>mov</entry>
@ -228,7 +228,7 @@ Formaty przechowywania:
Jak widzisz, <systemitem class="library">libavformat</systemitem> pozwala
<application>MEncoderowi</application> tworzyć sporą ilość różnych formatów.
Niestety, ponieważ <application>MEncoder</application> nie był tworzony
z myślą o innych formatach niż AVI, powinieneś popadać w paranoję na temat
z myślą o innych formatach niż AVI, powinieneś mieć paranoidalne podejście do
wynikowych plików.
Dokładnie sprawdź czy jest prawidłowa synchronizacja audio/video i czy plik
może zostać prawidłowo odtworzony przez odtwarzacze inne niż
@ -239,11 +239,11 @@ Formaty przechowywania:
<para>Przykład:</para>
<para>
Tworzenie zbioru Macromedia Flash video, nadającego się do odtwarzania
w przeglądarce sieci z wtyczką Macromedia Flash:
w przeglądarce sieciowej z wtyczką Macromedia Flash:
<screen>
mencoder <replaceable>wejście.avi</replaceable> -o <replaceable>wyjście.flv</replaceable> -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc \
-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \
-srate 22050
mencoder <replaceable>wejście.avi</replaceable> -o <replaceable>wyjście.flv</replaceable> -of lavf \
-oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \
-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
</screen>
</para>
</informalexample>
@ -293,6 +293,7 @@ mencoder <replaceable>wejście.avi</replaceable> -o <replaceable>wyjście.flv</r
</sect1>
<sect1 id="menc-feat-mpeg4">
<title>Kodowanie dwuprzebiegowe MPEG-4 ("DivX")</title>
@ -315,8 +316,9 @@ przewodników dostępnych w sieci.
<para>
Dwuprzebiegowe kodowanie DVD do MPEG-4 ("DivX") AVI z kopiowaniem ścieżki dźwiękowej.
<screen>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -oac copy -o <replaceable>output.avi</replaceable>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
-oac copy -o <replaceable>output.avi</replaceable>
</screen>
</para>
</example>
@ -328,13 +330,62 @@ Dwuprzebiegowe kodowanie DVD do MPEG-4 ("DivX") AVI z kodowaniem ścieżki dźwi
Uważaj stosując tę metodę, ponieważ w niektórych przypadkach może zaowocować
desynchronizacją audio/video.
<screen>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac mp3lame -lameopts vbr=3 -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -oac mp3lame -lameopts vbr=3 -o <replaceable>output.avi</replaceable>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
-oac mp3lame -lameopts vbr=3 -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
-oac mp3lame -lameopts vbr=3 -o <replaceable>output.avi</replaceable>
</screen>
</para>
</example>
</sect1>
<sect1 id="menc-feat-handheld-psp">
<title>Kodowanie do formatu video Sony PSP</title>
<para>
<application>MEncoder</application> obsługuje kodowanie do formatu video Sony
PSP, ale, w zależności od wersji oprogramowania PSP, wymaga różnych
ograniczeń.
Powinieneś byś bezpieczny, jeśli respektujesz poniższe ograniczenia:
<itemizedlist>
<listitem><para>
<emphasis role="bold">Bitrate</emphasis>: nie powinno przekraczać 1500kbps,
jednakże poprzednie wersje obsługiwały praktycznie dowolny bitrate jeśli
tylko nagłówek twierdził że nie jest za wysokie.
</para></listitem>
<listitem><para>
<emphasis role="bold">Wymiary</emphasis>: wysokość i szerokość filmu PSP
powinny być wielokrotnościami 16, a iloczyn szerokość * wysokość musi być
&lt;= 64000.
W niektórych okolicznościach może być możliwe że PSP odtworzy wyższe
rozdzielczości.
</para></listitem>
<listitem><para>
<emphasis role="bold">Audio</emphasis>: powinno mieć częstotliwość
próbkowania 24kHz dla MPEG-4 i 48kHz dla H.264.
</para></listitem>
</itemizedlist>
</para>
<example id="encode_for_psp">
<title>kodowanie dla PSP</title>
<para>
<screen>
mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -of lavf \
-oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=aac \
-lavfopts format=psp:i_certify_that_my_video_stream_does_not_use_b_frames \
<replaceable>wejściowe.video</replaceable> -o <replaceable>wyjście.psp</replaceable>
</screen>
Możesz też ustawić tytuł filmu dzięki
<option>-info name=<replaceable>TytułFilmu</replaceable></option>.
</para>
</example>
</sect1>
<sect1 id="menc-feat-mpeg">
<title>Kodowanie do formatu MPEG</title>
<para>
@ -353,21 +404,30 @@ Aby zmienić wyjściowy format plików <application>MEncodera</application>, uż
<para>
Przykład:
<screen>
mencoder <replaceable>wejscie.avi</replaceable> -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy <replaceable>inne_opcje</replaceable> -o <replaceable>wyjscie.mpg</replaceable>
mencoder <replaceable>wejscie.avi</replaceable> -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
-oac copy <replaceable>inne_opcje</replaceable> -o <replaceable>wyjście.mpg</replaceable>
</screen>
Tworzenie pliku MPEG-1, który można odtworzyć na systemach z minimalną obsługą
multimedialną, taką jak domyślne instalacje Windows:
<screen>
mencoder <replaceable>wejscie.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 -o <replaceable>wyjscie.mpg</replaceable> -oac lavc -ovc lavc \
-lavcopts acodec=mp2:abitrate=224:vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
mencoder <replaceable>wejscie.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
-o <replaceable>wyjście.mpg</replaceable> -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
-lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
</screen>
To samo, ale używając muxera MPEG z <systemitem class="library">libavformat</systemitem>:
<screen>
mencoder <replaceable>wejście.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
-lavfopts format=mpg:i_certify_that_my_video_stream_does_not_use_b_frames \
-oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
-lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
</screen>
</para>
</informalexample>
<note><title>Wskazówka:</title>
<para>
Jeżeli z jakiegoś powodu nie satysfakcjonuje cię jakość wideo
Jeżeli z jakiegoś powodu nie satysfakcjonuje Cię jakość wideo
z drugiego przebiegu, możesz ponownie uruchomić kodowanie
swojego wideo z inną docelową szybkością transmisji (bitrate),
swojego video z inną docelową szybkością transmisji (bitrate),
zakładając, że zapisałeś statystyki pliku z poprzedniego przebiegu.
Jest to możliwe, ponieważ głównym celem pliku ze statystykami jest
zapamiętanie złożoności każdej z ramek, co nie zależy zbyt mocno
@ -399,14 +459,15 @@ Jeśli nie jest on podany <application>MEncoder</application> użyje wartości 2
<para>
Przykład:
<screen>
mencoder <replaceable>wejscie.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -vf scale=640:480 -o <replaceable>wyjscie.avi</replaceable>
mencoder <replaceable>wejscie.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
-vf scale=640:480 -o <replaceable>wyjście.avi</replaceable>
</screen>
</para>
</sect1>
<sect1 id="menc-feat-streamcopy">
<title>Kopiowanie strumienia</title>
<title>Kopiowanie strumieni</title>
<para>
<application>MEncoder</application> obsługuje strumienie wejściowe na dwa sposoby:
@ -417,10 +478,12 @@ je. Ta sekcja jest o <emphasis role="bold">kopiowaniu</emphasis>.
<itemizedlist>
<listitem><para>
<emphasis role="bold">Strumień video</emphasis> (opcja <option>-ovc copy</option>):
można ładne rzeczy wyczyniać:) Jak wstawianie (nie konwertowanie) FLI, VIDO lub MPEG-1 video w plik AVI!
Oczywiście tylko <application>MPlayer</application> potrafi odtwarzać takie pliki :) I prawdopodobnie nie ma
dla tego żadnego sensownego zastosowania. Poważniej: kopiowanie strumieni video może być przydatne
wtedy, gdy np. tylko strumień audio ma być zakodowany (np. PCM do MP3).
ładne rzeczy można wyczyniać:) Jak wstawianie (nie konwertowanie) FLI, VIDO
lub MPEG-1 video w plik AVI! Oczywiście tylko
<application>MPlayer</application> potrafi odtwarzać takie pliki :)
I prawdopodobnie nie ma dla tego żadnego sensownego zastosowania.
Poważniej: kopiowanie strumieni video może być przydatne wtedy, gdy np. tylko
strumień audio ma być zakodowany (np. nieskompresowane PCM do MP3).
</para></listitem>
<listitem><para>
<emphasis role="bold">Strumień audio</emphasis> (opcja <option>-oac copy</option>):
@ -443,7 +506,8 @@ je. Ta sekcja jest o <emphasis role="bold">kopiowaniu</emphasis>.
<para>
Przykład:
<screen>
mencoder <replaceable>wejście.nsv</replaceable> -oac copy -fafmttag 0x706D -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>wyjście.avi</replaceable>
mencoder <replaceable>wejście.nsv</replaceable> -oac copy -fafmttag 0x706D \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>wyjście.avi</replaceable>
</screen>
</para>
@ -469,7 +533,7 @@ lub wielu plików JPEG, PNG lub TGA. Poprzez proste kopiowanie ramek może stwor
</para></listitem>
<listitem><para>
Potem <application>MEncoder</application> kompresuje zdekodowane pliki podanym kompresorem
(DivX4, XviD, FFmpeg msmpeg4, itd.).
(DivX4, Xvid, FFmpeg msmpeg4, itd.).
</para></listitem>
</orderedlist>
@ -482,7 +546,18 @@ Opis i sposób działania funkcji <option>-mf</option> znajdują się na stronie
<para>
Tworzenie pliku MPEG-4 ze wszystkich plików JPEG w aktualnym katalogu:
<screen>
mencoder mf://<replaceable>ramka001.jpg,ramka002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>wyjście.avi</replaceable>
mencoder mf://<replaceable>*.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg -ovc lavc\
-lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>wyjście.avi</replaceable>
</screen>
</para>
</informalexample>
<informalexample>
<para>
Tworzenie pliku MPEG-4 z niektórych plików JPEG w aktualnym katalogu:
<screen>
mencoder mf://<replaceable>ramka001.jpg,ramka002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>wyjście.avi</replaceable>
</screen>
</para>
</informalexample>
@ -490,19 +565,11 @@ mencoder mf://<replaceable>ramka001.jpg,ramka002.jpg</replaceable> -mf w=800:h=6
<informalexample>
<para>
Tworzenie plików MPEG-4 z jawnie podanej listy plików JPEG (list.txt w aktualnym
katalogu, zawiera listę plików, które mają zostać użyte jako źródło, po jednym w każdej linii):
katalogu, zawiera listę plików, które mają zostać użyte jako źródło, po jednym
w każdym wierszu):
<screen>
mencoder mf://<replaceable>@list.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>wyjscie.avi</replaceable>
</screen>
</para>
</informalexample>
<informalexample>
<para>
Tworzenie pliku MPEG-4 z wybranych plików JPEG w aktualnym katalogu:
<screen>
mencoder mf://<replaceable>klatka001.jpg,klatka002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o <replaceable>wyjscie.avi</replaceable>
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>wyjście.avi</replaceable>
</screen>
</para>
</informalexample>
@ -520,7 +587,7 @@ mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -ovc copy -o <repl
<para>
Tworzenie nieskompresowanego pliku ze wszystkich plików PNG w aktualnym katalogu:
<screen>
mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>output.avi</replaceable>
mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>wyjście.avi</replaceable>
</screen>
</para>
</informalexample>
@ -532,7 +599,7 @@ Szerokość musi być liczbą podzielną przez 4, takie są ograniczenia formatu
<informalexample>
<para>
Tworzenie pliku Motion PNG (MPNG) ze wszystkich plików PNG w aktualnym katalogu:
<screen>mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>wyjscie.avi</replaceable> <!--
<screen>mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>wyjście.avi</replaceable><!--
--></screen>
</para>
</informalexample>
@ -541,7 +608,7 @@ Tworzenie pliku Motion PNG (MPNG) ze wszystkich plików PNG w aktualnym katalogu
<para>
Tworzenie pliku Motion TGA (MTGA) ze wszystkich plików TGA w aktualnym katalogu:
<screen>
mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>wyjscie.avi</replaceable><!--
mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>wyjście.avi</replaceable><!--
--></screen>
</para>
</informalexample>
@ -589,17 +656,20 @@ i <filename>.sub</filename> istnieją. Więc powinieneś je usunąć przed uruch
<example>
<title>Kopiowanie dwóch napisów z DVD podczas dwu-przebiegowego kodowania</title>
<screen>
rm subtitles.idx subtitles.sub
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -vobsubout subtitles -vobsuboutindex 0 -sid 2
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -vobsubout subtitles -vobsuboutindex 1 -sid 5<!--
rm <replaceable>napisy.idx</replaceable> <replaceable>napisy.sub</replaceable>
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
-vobsubout <replaceable>napisy</replaceable> -vobsuboutindex 0 -sid 2
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
-vobsubout <replaceable>napisy</replaceable> -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 -nosound -ovc copy<!--
rm <replaceable>napisy.idx</replaceable> <replaceable>napisy.sub</replaceable>
mencoder <replaceable>film.mpg</replaceable> -ifo <replaceable>film.ifo</replaceable> -vobsubout <replaceable>napisy</replaceable> -vobsuboutindex 0 \
-vobsuboutid fr -sid 1 -nosound -ovc copy<!--
--></screen>
</example>
@ -640,7 +710,8 @@ i <systemitem>crop</systemitem> na stronie man.
<para>
Sposób użycia:
<screen>mencoder <replaceable>przykładowy-svcd.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -vf crop=714:548:0:14 -oac copy -o <replaceable>wyjście.avi</replaceable></screen>
<screen>mencoder <replaceable>przykładowy-svcd.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
-lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>wyjście.avi</replaceable></screen>
</para>
</sect1>