mirror of
https://github.com/mpv-player/mpv
synced 2024-12-19 05:15:12 +00:00
011a231706
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27292 b3059339-0415-0410-9bf9-f77b7e298cf2
766 lines
26 KiB
XML
766 lines
26 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- synced with r21748 -->
|
|
<!-- Opiekun: Qba -->
|
|
<chapter id="mencoder">
|
|
<title>Podstawy używania <application>MEncodera</application></title>
|
|
|
|
<para>
|
|
Pełna lista dostępnych opcji <application>MEncodera</application> oraz
|
|
przykłady znajdują się 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-selecting-codec">
|
|
<title>Wybieranie kodeka i formatu</title>
|
|
|
|
<para>
|
|
Kodeki audio i video stosowane przy kodowaniu są wybierane odpowiednio
|
|
opcjami <option>-oac</option> i <option>-ovc</option>.
|
|
Napisz na przykład:
|
|
<screen>mencoder -ovc help</screen>
|
|
by uzyskać listę wszystkich kodeków video obsługiwanych przez
|
|
<application>MEncodera</application> na Twoim komputerze.
|
|
Dostępne są następujące:
|
|
</para>
|
|
|
|
<para>
|
|
Kodeki audio:
|
|
<informaltable frame="all">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row><entry>Nazwa kodeka audio</entry><entry>Opis</entry></row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>mp3lame</entry>
|
|
<entry>kodowanie na MP3 VBR, ABR lub przy użyciu LAME</entry>
|
|
</row>
|
|
<row>
|
|
<entry>lavc</entry>
|
|
<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>
|
|
</row>
|
|
<row>
|
|
<entry>toolame</entry>
|
|
<entry>koder MPEG Audio Layer 2</entry>
|
|
</row>
|
|
<row>
|
|
<entry>twolame</entry>
|
|
<entry>koder MPEG Audio Layer 2 encoder oparty na tooLAME</entry>
|
|
</row>
|
|
<row>
|
|
<entry>pcm</entry>
|
|
<entry>nieskompresowany dźwięk PCM</entry>
|
|
</row>
|
|
<row>
|
|
<entry>copy</entry>
|
|
<entry>nie przekodowywuj, tylko przekopiuj zakodowane ramki</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
|
|
<para>
|
|
Kodeki video:
|
|
<informaltable frame="all">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row><entry>Nazwa kodeka video</entry><entry>Opis</entry></row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>lavc</entry>
|
|
<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>
|
|
</row>
|
|
<row>
|
|
<entry>x264</entry>
|
|
<entry>x264, MPEG-4 Advanced Video Coding (AVC), zwany kodekiem H.264</entry>
|
|
</row>
|
|
<row>
|
|
<entry>nuv</entry>
|
|
<entry>nuppel video, używany przez niektóre aplikacje czasu rzeczywistego</entry>
|
|
</row>
|
|
<row>
|
|
<entry>raw</entry>
|
|
<entry>nieskompresowane klatki video</entry>
|
|
</row>
|
|
<row>
|
|
<entry>copy</entry>
|
|
<entry>nie przekodowywuj, tylko przekopiuj zakodowane ramki</entry>
|
|
</row>
|
|
<row>
|
|
<entry>frameno</entry>
|
|
<entry>używany do kodowania trójprzebiegowego (nie zalecane)</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
|
|
<para>
|
|
Format wyjściowy wybiera się opcją <option>-of</option>.
|
|
Napisz:
|
|
<screen>mencoder -of help</screen>
|
|
by otrzymać listę wszystkich formatów obsługiwanych przez
|
|
<application>MEncodera</application> na Twoim komputerze.
|
|
</para>
|
|
|
|
<para>
|
|
Formaty przechowywania:
|
|
<informaltable frame="all">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row><entry>Nazwa formatu</entry><entry>Opis</entry></row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>lavf</entry>
|
|
<entry>jeden z formatów obsługiwanych przez
|
|
<systemitem class="library">libavformat</systemitem></entry>
|
|
</row>
|
|
<row>
|
|
<entry>avi</entry>
|
|
<entry>Audio-Video Interleaved (Przeplecione Audio-Video)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>mpeg</entry>
|
|
<entry>MPEG-1 i MPEG-2 PS</entry>
|
|
</row>
|
|
<row>
|
|
<entry>rawvideo</entry>
|
|
<entry>surowy strumień video (bez muxowania - tylko jeden strumień video)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>rawaudio</entry>
|
|
<entry>surowy strumień audio (bez muxowania - tylko jeden strumień audio)</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
Format AVI jest podstawowym formatem <application>MEncodera</application>,
|
|
co oznacza że jest najlepiej obsługiwany i że
|
|
<application>MEncoder</application> był projektowany z myślą o nim.
|
|
Jak napisano wcześniej, można używać innych formatów, ale możesz napotkać
|
|
przy tym problemy.
|
|
</para>
|
|
|
|
<para>
|
|
Formaty z <systemitem class="library">libavformat</systemitem>:
|
|
</para>
|
|
|
|
<para>
|
|
Jeśli chcesz żeby <systemitem class="library">libavformat</systemitem>
|
|
dokonywał muksowania zbioru wyjściowego (przy użyciu opcji
|
|
<option>-of lavf</option>), stosowny format zostanie ustalony na podstawie
|
|
rozszerzenia pliku wyjściowego.
|
|
Możesz wymusić konkretny format opcją <option>format</option> biblioteki
|
|
<systemitem class="library">libavformat</systemitem>.
|
|
|
|
<informaltable frame="all">
|
|
<tgroup cols="2">
|
|
<thead><row>
|
|
<entry>nazwa formatu <systemitem class="library">libavformat</systemitem></entry>
|
|
<entry>Opis</entry>
|
|
</row></thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>mpg</entry>
|
|
<entry>MPEG-1 i MPEG-2 PS</entry>
|
|
</row>
|
|
<row>
|
|
<entry>asf</entry>
|
|
<entry>Advanced Streaming Format (Zaawansowany format strumieniowy)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>avi</entry>
|
|
<entry>Audio-Video Interleaved</entry>
|
|
</row>
|
|
<row>
|
|
<entry>wav</entry>
|
|
<entry>Waveform Audio</entry>
|
|
</row>
|
|
<row>
|
|
<entry>swf</entry>
|
|
<entry>Macromedia Flash</entry>
|
|
</row>
|
|
<row>
|
|
<entry>flv</entry>
|
|
<entry>Macromedia Flash video</entry>
|
|
</row>
|
|
<row>
|
|
<entry>rm</entry>
|
|
<entry>RealMedia</entry>
|
|
</row>
|
|
<row>
|
|
<entry>au</entry>
|
|
<entry>SUN AU</entry>
|
|
</row>
|
|
<row>
|
|
<entry>nut</entry>
|
|
<entry>otwarty format NUT (eksperymentalny i jeszcze bez specyfikacji)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>mov</entry>
|
|
<entry>QuickTime</entry>
|
|
</row>
|
|
<row>
|
|
<entry>mp4</entry>
|
|
<entry>MPEG-4 format</entry>
|
|
</row>
|
|
<row>
|
|
<entry>dv</entry>
|
|
<entry>format Sony Digital Video</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
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ś 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ż
|
|
<application>MPlayer</application>.
|
|
</para>
|
|
|
|
<example id="encode_to_macromedia_flash_format">
|
|
<title>kodowanie do formatu Macromedia Flash</title>
|
|
<para>
|
|
Tworzenie zbioru Macromedia Flash video, nadającego się do odtwarzania
|
|
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 -srate 22050 -ovc lavc \
|
|
-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
|
|
</screen>
|
|
</para>
|
|
</example>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="menc-feat-selecting-input">
|
|
<title>Wybieranie źródłowego zbioru lub urządzenia</title>
|
|
|
|
<para>
|
|
<application>MEncoder</application> może kodoważ ze zbiorów lub bezpośrednio
|
|
z dysku DVD lub VCD.
|
|
Po prostu podaj nazwę zbioru w wierszu poleceń żeby kodować ze zbioru, albo
|
|
<option>dvd://</option><replaceable>numertytułu</replaceable> lub
|
|
<option>vcd://</option><replaceable>numerścieżki</replaceable> by nagrywać
|
|
z tytułu DVD albo ścieżki VCD.
|
|
Jeśli już skopiowałeś DVD na twardy dysk (możesz na przykład użyć narzędzia
|
|
takiego jak <application>dvdbackup</application>, dostępnego na większości
|
|
systemów), wciąż powinieneś używać składni <option>dvd://</option>, razem
|
|
z opcją <option>-dvd-device</option> po której następuje ścieżka do
|
|
skopiowanego DVD.
|
|
|
|
Opcji <option>-dvd-device</option> i <option>-cdrom-device</option> możesz
|
|
też używać by podać własne ścieżki do węzłów urządzeń, jeśli domyślne
|
|
<filename>/dev/dvd</filename> i <filename>/dev/cdrom</filename> nie są
|
|
właściwe w Twoim systemie.
|
|
</para>
|
|
|
|
<para>
|
|
Przy kodowaniu z DVD, często pożądanym jest wybranie do kodowania rozdziału
|
|
lub zasięgu rozdziałów.
|
|
Możesz w tym celu użyć opcji <option>-chapters</option>, na przykład
|
|
<option>-chapters</option> <replaceable>1-4</replaceable> zakoduje z DVD
|
|
tylko rozdziały od 1 do 4.
|
|
Jest to zwłaszcza użyteczne gdy robisz kodowanie do wielkości 1400 MB,
|
|
przeznaczone na 2 CD, ponieważ możesz się upewnić że przerwa nastąpi
|
|
dokładnie na granicy rozdziałów a nie w środku sceny.
|
|
</para>
|
|
|
|
<para>
|
|
Jeśli masz obsługiwaną kartę przechwytywania TV, możesz też kodować z jej
|
|
urządzenia wejściowego.
|
|
Użyj opcji <option>tv://</option><replaceable>numerkanału</replaceable> jako
|
|
nazwy pliku, a opcją <option>-tv</option> skonfiguruj rozmaite ustawienia
|
|
przechwytywania.
|
|
Podobnie działa wejście z DVB.
|
|
</para>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="menc-feat-mpeg4">
|
|
<title>Kodowanie dwuprzebiegowe MPEG-4 ("DivX")</title>
|
|
|
|
<para>
|
|
Nazwa związana jest z faktem, iż 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 od
|
|
razu (możesz natomiast skasować plik AVI a jeszcze lepiej nie tworzyć go
|
|
w ogóle poprzez zapisywanie w <filename>/dev/null</filename>).
|
|
W drugim przebiegu przy pomocy danych o bitrate z plików tymczasowych tworzony
|
|
jest plik wyjściowy drugiego 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>
|
|
|
|
<example id="copy_audio_track">
|
|
<title>kopiowanie ścieżki dźwiękowej</title>
|
|
<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>
|
|
</screen>
|
|
</para>
|
|
</example>
|
|
|
|
<example id="encode_audio_track">
|
|
<title>kodowanie ścieżki dźwiękowej</title>
|
|
<para>
|
|
Dwuprzebiegowe kodowanie DVD do MPEG-4 ("DivX") AVI z kodowaniem ścieżki dźwiękowej do MP3.
|
|
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>
|
|
</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ć
|
|
<= 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>
|
|
<application>MEncoder</application> może tworzyć pliki formatu MPEG (MPEG-PS).
|
|
Zazwyczaj, jeśli używasz filmu MPEG-1 albo MPEG-2, to jest tak ponieważ
|
|
kodujesz na ograniczony format, taki jak SVCD, VCD albo DVD.
|
|
Specyficzne ograniczenia tych formatów są wyjaśnione w
|
|
<link linkend="menc-feat-vcd-dvd">przewodniku tworzenia VCD i DVD</link>.
|
|
</para>
|
|
|
|
<para>
|
|
Aby zmienić wyjściowy format plików <application>MEncodera</application>, użyj opcji <option>-of mpeg</option>.
|
|
</para>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Przykład:
|
|
<screen>
|
|
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>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ść video
|
|
z drugiego przebiegu, możesz ponownie uruchomić kodowanie
|
|
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
|
|
od szybkości transmisji. Weź jednak pod uwagę, że uzyskasz najlepsze
|
|
wyniki, jeżeli wszystkie przebiegi będą uruchomione z nieróżniącymi
|
|
się za bardzo docelowymi szybkościami transmisji.
|
|
</para>
|
|
</note>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="menc-feat-rescale">
|
|
<title>Przeskalowywanie filmów</title>
|
|
|
|
<para>
|
|
Często zachodzi potrzeba zmiany wielkości obrazu. Powodów tego może być wiele:
|
|
zmniejszenie rozmiaru pliku, przepustowość sieci, itd. Większość ludzi stosuje
|
|
przeskalowywanie nawet przy konwertowaniu płyt DVD, SVCD do DivX AVI. Jeżeli
|
|
chcesz przeskalowywać, przeczytaj sekcję o <link linkend="aspect">zachowywaniu 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 2: bicubic.
|
|
</para>
|
|
|
|
<para>
|
|
Sposób użycia:
|
|
<screen>
|
|
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 strumieni</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 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>):
|
|
prosto i przystępnie. Możliwe jest wmiksowanie zewnętrznego źródła (MP3, WAV)
|
|
do strumienia wyjściowego. Użyj w tym celu opcji
|
|
<option>-audiofile <replaceable>nazwa_pliku</replaceable></option>.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
Używanie <option>-oac copy</option> do kopiowania z jednego formatu
|
|
przechowywania do innego może wymagać użycia <option>-fafmttag</option> żeby
|
|
utrzymać znacznik formatu audio z oryginalnego zbioru.
|
|
Na przykład jeśli konwertujesz zbiór NSV z audio zakodowanym AAC do formatu
|
|
AVI, to znacznik formatu audio będzie nieprawidłowy i musi zostać zmieniony.
|
|
Listę znaczników formatów audio znajdziesz w pliku
|
|
<filename>codecs.conf</filename>.
|
|
</para>
|
|
|
|
<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>
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="menc-feat-enc-images">
|
|
<title>Kodowanie z wielu wejściowych plików obrazkowych
|
|
(JPEG, PNG, TGA itp.)</title>
|
|
|
|
<para>
|
|
<application>MEncoder</application> jest w stanie stworzyć film z jednego
|
|
lub wielu plików JPEG, PNG, TGA albo innych obrazków.
|
|
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 MPEG-4 ze wszystkich plików JPEG w aktualnym katalogu:
|
|
<screen>
|
|
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>
|
|
|
|
<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ż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>wyjście.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
Możesz mieszać rózne typy obrazków, niezależnie od używanej metody
|
|
— wymieniane pliki, znaki globalne czy plik z listą — o ile
|
|
oczywiście wszystkie mają te same wymiary.
|
|
Możesz więc n.p. zrobić klatkę tytułową z obrazka PNG a potem umieścić pokaz
|
|
swoich zdjęć JPEG.
|
|
|
|
<informalexample>
|
|
<para>
|
|
Tworzenie pliku Motion JPEG (MJPEG) ze wszystkich plików JPEG w aktualnym katalogu:
|
|
<screen>
|
|
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -ovc copy -o <replaceable>wyjście.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<informalexample>
|
|
<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>wyjście.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<note><title>Informacja:</title><para>
|
|
Szerokość 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://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>wyjście.avi</replaceable><!--
|
|
--></screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<informalexample>
|
|
<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>wyjście.avi</replaceable><!--
|
|
--></screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
</para>
|
|
</formalpara>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="menc-feat-extractsub">
|
|
<title>Wydobywanie 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 opcją <option>-vobsubout</option>
|
|
oraz indeks dla tego pliku opcją <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 do istniejących napisów, jeżeli pliki
|
|
<filename>.idx</filename> i <filename>.sub</filename> istnieją.
|
|
Powinieneś więc usunąć je przed uruchomieniem.
|
|
</para>
|
|
|
|
<example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
|
|
<title>Kopiowanie dwóch napisów z DVD podczas dwu-przebiegowego kodowania</title>
|
|
<screen>
|
|
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 id="copying_a_french_subtitle_from_an_mpeg_file">
|
|
<title>Kopiowanie francuskich napisów z pliku MPEG</title>
|
|
<screen>
|
|
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>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="aspect">
|
|
<title>Utrzymywanie proporcji obrazu (aspect ratio)</title>
|
|
|
|
<para>
|
|
Pliki DVD i SVCD (tzn. MPEG-1/2) zawierają informacje o proporcji obrazu, która
|
|
opisuje, jak odtwarzacz ma skalować strumień video, żeby ludzie nie byli
|
|
jajogłowi (np.: 480x480 + 4:3 = 640x480).
|
|
Jednak przy kodowaniu plików AVI (DivX) musisz być świadom, że nagłówek AVI nie
|
|
przechowuje tej wartości.
|
|
Przeskalowywanie jest obrzydliwe i czasochłonne, musi być jakiś lepszy sposób!
|
|
</para>
|
|
|
|
<para>Jest</para>
|
|
|
|
<para>
|
|
MPEG-4 posiada unikalną cechę: strumień video może posiadać swoją wartość
|
|
proporcji obrazu. Tak, dokładnie jak pliki MPEG-1/2 (DVD, SVCD) i H.263.
|
|
Niestety, istnieje tylko kilka odtwarzaczy video, pomijając
|
|
<application>MPlayera</application>, które obsługują tę cechę MPEG-4.
|
|
</para>
|
|
|
|
<para>
|
|
Możliwość 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 mogą użyć 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ł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>
|
|
|
|
</chapter>
|