13.1. Wybieranie kodeka i formatu

Kodeki audio i video stosowane przy kodowaniu są wybierane odpowiednio opcjami -oac i -ovc. Napisz na przykład:

mencoder -ovc help

by uzyskać listę wszystkich kodeków video obsługiwanych przez MEncodera na Twoim komputerze. Dostępne są następujące:

Kodeki audio:

Nazwa kodeka audioOpis
mp3lamekodowanie na MP3 VBR, ABR lub przy użyciu LAME
lavcużywa jednego z kodeków audio z libavcodec
faackoder audio FAAC AAC
toolamekoder MPEG Audio Layer 2
twolamekoder MPEG Audio Layer 2 encoder oparty na tooLAME
pcmnieskompresowany dźwięk PCM
copynie przekodowywuj, tylko przekopiuj zakodowane ramki

Kodeki video:

Nazwa kodeka videoOpis
lavcużywa jednego z kodeków video z libavcodec
xvidXvid, kodek MPEG-4 Advanced Simple Profile (ASP)
x264x264, MPEG-4 Advanced Video Coding (AVC), zwany kodekiem H.264
nuvnuppel video, używany przez niektóre aplikacje czasu rzeczywistego
rawnieskompresowane klatki video
copynie przekodowywuj, tylko przekopiuj zakodowane ramki
framenoużywany do kodowania trójprzebiegowego (nie zalecane)

Format wyjściowy wybiera się opcją -of. Napisz:

mencoder -of help

by otrzymać listę wszystkich formatów obsługiwanych przez MEncodera na Twoim komputerze.

Formaty przechowywania:

Nazwa formatuOpis
lavfjeden z formatów obsługiwanych przez libavformat
aviAudio-Video Interleaved (Przeplecione Audio-Video)
mpegMPEG-1 i MPEG-2 PS
rawvideosurowy strumień video (bez muxowania - tylko jeden strumień video)
rawaudiosurowy strumień audio (bez muxowania - tylko jeden strumień audio)

Format AVI jest podstawowym formatem MEncodera, co oznacza że jest najlepiej obsługiwany i że MEncoder 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.

Formaty z libavformat:

Jeśli chcesz żeby libavformat dokonywał muksowania zbioru wyjściowego (przy użyciu opcji -of lavf), stosowny format zostanie ustalony na podstawie rozszerzenia pliku wyjściowego. Możesz wymusić konkretny format opcją format biblioteki libavformat.

nazwa formatu libavformatOpis
mpgMPEG-1 i MPEG-2 PS
asfAdvanced Streaming Format (Zaawansowany format strumieniowy)
aviAudio-Video Interleaved
wavWaveform Audio
swfMacromedia Flash
flvMacromedia Flash video
rmRealMedia
auSUN AU
nutotwarty format NUT (eksperymentalny i jeszcze bez specyfikacji)
movQuickTime
mp4MPEG-4 format
dvformat Sony Digital Video

Jak widzisz, libavformat pozwala MEncoderowi tworzyć sporą ilość różnych formatów. Niestety, ponieważ MEncoder 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ż MPlayer.

Przykład 13.1. kodowanie do formatu Macromedia Flash

Tworzenie zbioru Macromedia Flash video, nadającego się do odtwarzania w przeglądarce sieciowej z wtyczką Macromedia Flash:

mencoder wejście.avi -o wyjście.flv -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