Mplayer і mencoder вирішуючи типові завдання з кодування

Давно канули в Лету ті часи, коли я скачував кожну нову версію MPlayer (www.mplayerhq.hu) і встановлював її з исходника. Тоді було цікаво: постійно з'являлися нові функції, дискусії розробників із зовнішнім світом (то хлопці з Debian криво збирали пакети MPlayer, то журналіст Джой Барр образив програмістів ...). Поступово загострення пристрастей пройшов, і MPlayer відійшов у тінь: користувачі віддали перевагу VLC або щось, встановлене за замовчуванням (наприклад, Totem). MPlayer залишився в кожному дистрибутиві Linux, він навіть зазвичай встановлюється за умовчанням, але про нього все рідше згадують, новонавернені лінуксоїди можуть і зовсім не здогадуватися.

Деякий час назад я поміняв провайдера і у мене з'явилося IP-телебачення. Буває, що виникає необхідність записати якусь передачу, шматок новин, рідкісний фільм ... І тут MEncoder, що входить до складу MPlayer, представляється відмінним рішенням. Але спочатку - як дивитися IP-телебачення за допомогою MPlayer? Дуже просто:

Щоб відтворити в MPlayer сам плейлист, треба дати команду:

Після цього канали можна перемикати курсорними клавішами вгору-вниз.

Запис ТВ-потоку реалізується і з MEncoder:

При цьому сам MPlayer / MEncoder повинен бути зібраний з підтримкою бібліотеки кодування MP3 (lame). Поясню передані параметри:

  • vcodec = mpeg4 - стиснення в MPEG4;
  • vbitrate = 1000 - значення бітрейта;
  • vqmin = 2: vqmax = 25 - параметри квантування (мінімальний і максимальний «квантайзери»); vqmin, що дорівнює двом, зазвичай ставлять для MPEG4, а для H.263 вибирають 3; максимальний vqmax за замовчуванням стоїть 31 (чим менше значення, тим менше блоки, на яке розбивається кодуються зображення, і тим чіткіше виходить картинка, але файл при цьому стає великим за розміром);
  • vhq - те ж саме, що mbd = 1; грубо кажучи, включає режим, при якому макроблоки кодуються кількома способами, і потім автоматично вибирається найкращий результат;
  • v4mv - чотири вектора руху на макроблок;
  • trell - трелліс-квантування, для пошуку оптимального кодування блоків 8 × 8;
  • autoaspect - автоматичне співвідношення сторін.

Взагалі про параметри кодування за допомогою MEncoder можна говорити дуже довго: цих параметрів якщо не тисячі, то сотні, і кожен впливає на щось в тій чи іншій мірі. Не думаю, що хтось користується ними всіма відразу: одні параметри гарні для стиснення фільмів, інші - при стисканні мультиків, і так далі. Все залежить від того, що ви кодуєте і що хочете отримати в результаті.

Інші прийоми роботи з MEncoder

Деякі плеєри (наприклад, від Microsoft) відмовляються підставляти потрібний для декодування кодек без чітко прописаного FOURCC. Але часом деякі програми кодування або рендеринга видають результат без цього FOURCC. Вирішити проблему можна додаванням FOURCC до файлу без повторного кодування:

Втім, те ж саме можна зробити в Avidemux - різниця за часом і простоті не так вже й велика. А ось, наприклад, задачу по заміні аудиодорожки зробити швидше, як мені здається, саме в MEncoder. Наприклад, ви скачали фільм і окремо до нього звукову доріжку з найкращим перекладом. Як замінити стару доріжку на нову?

До речі, про файли з декількома звуковими доріжками. Вибрати для відтворення потрібну при запуску можна командою:

Після -aid вказується номер доріжки. При самому відтворенні ви можете циклічно перебирати звукові доріжки натисканням на Shift-3 ( «#»).

Приклад другий актуального завдання, розв'язуваної за допомогою MEncoder, - конвертація DVD в MPEG4 / AVI. Команда для конвертації реального диска, вставленого в привід:

Якщо ж вміст DVD (всі VOB-файли) вже скопійовано на жорсткий диск в певний каталог, то команда конвертації буде такою:

Якщо ж DVD поміщений в ISO-образ, просто використовуємо:

При конвертації DVD пам'ятайте про номер глави і звуковій доріжці - все це вибирається через командний рядок. До речі, іноді VLC відмовляється відтворювати ISO-образи, а ось MPlayer / MEncoder ті ж образи «розуміє».

Якщо у файлі використовується кодек H.264, то ланцюжок параметрів буде такою:

GMPlayer теж живий

У висновку статті відволікся від консолі і згадаю про «класичний» графічний інтерфейс до MPlayer - GMPlayer (пакет з ним зазвичай іменується mplayer-gui). Зовнішній вигляд у нього досить аскетичний, але зручний. Колись проект активно розвивався, було багато встановлених тем оформлення, але потім розвиток інтерфейсу призупинилося, його НЕ популяризували. Тим не менш, він існує і до цього дня, а недавно була знову помічена робота над кодами. Теми оформлення для GMPlayer можна скачати на gnome-look.org. До слова, в GMPlayer працюють ті ж клавіші управління, що в командному MPlayer.

Доповнення. Корисні клавіші для MPlayer