Відеомонтаж у консолі Linux
Лінукс вважається найкращою платформою для роботи з відео. На базі ОС Лінукс будуються цілі центри з обробки відео та звуку. Безліч професійних відеостудій працює з Лінуксом. Наприклад, постобробка всім відомого мультфільму Мадагаскар робилася саме в Linux. Список відомих картин, створених за допомогою ОС Лінукс, можна продовжувати нескінченно, але ми сьогодні говоритимемо про інше, а саме про те, чим Лінукс може допомогти в обробці відео домашнього походження.
Для цього є чудовий набір програм. Одразу зауважу, що людям, взагалі не знайомим з Лінуксом, доведеться трохи розібратися. Але це варте того, точніше це не коштує нічого :), адже майже всі програми під Лінуксом безкоштовні.
Найкращим і найпопулярнішим під лінуксом для обробки відео вважається mencoder. Ця програма працює у термінальному режимі. І насправді у цій замітці я розповім вам про роботу з ним з командного рядка, і ви побачите, що вона нічим не поступається GUI-оболонкам.
Mencoder підтримує безліч типів файлів, ось деякі з них: MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, Ogg/OGM, MKV, VIVO, FLI, FLV. Синтаксис команд досить простий, незважаючи на велику кількість опцій. Незважаючи на свій «скромний» інтерфейс, mencoder може робити з мультимедіа-файлами дивовижні речі.
Проста команда для конвертування MPG-файлу в AVI-формат:
mencoder file.mpg -o file.avi -ovc lavc -oac lavc
Опції -oac та -ovc вказують на бажані аудіо та відео кодеки. Ви можете переглянути список доступних кодеків за допомогою команд mencoder -ovc help та mencoder -oac help
Припустимо, що вам потрібен нестиснутий аудіопотік і ви вирішили використовувати PCM. Ви можете вказати бажаний формат аудіо за допомогою опції acodec:
mencoder file.mpg -o file.avi -ovc lavc -oac lavc -lavcopts acodec=pcm
Якщо ви використовуєте mp3-стиснення, можна також вказати бітрейт:
mencoder file.mpg -o file.avi -ovc lavc -oac lavc -lavcopts acodec=libmp3lame:abitrate=128
Ви можете використовувати lameopts, якщо у вашій системі встановлено libmp3lame і вам хочеться розширити список опцій, доступних при кодуванні аудіо. Ще за допомогою lameopts можна створювати файли зі змінним бітрейтом:
mencoder file -o file.avi -ovc lavc -oac mp3lame -lameopts vbr=2:q=3
де q — це будь-яке число в діапазоні від 0 до 9.
Також можна працювати і з аудіодоріжкою з відеофайлів:
mencoder file.mpg -o file.avi -ovc lavc -oac lavc -lavcopts acodec=libmp3lame:abitrate=128 vcodec=xvid
Якщо ви не хочете використовувати відеокомпресію, використовуйте vcodec=copy. З цією опцією відеопотік буде просто скопійований байт у байт із вихідного файлу.
Ви можете використовувати DivX та xvid напряму, без опції lavc:
mencoder -ovc xvid -oac mp3lame -o destination.avi source.avi
Для вказівки детальніших параметрів ви можете використовувати опції xvid:
mencoder -ovc xvid -oac mp3lame -xvidencopts bitrate=878 -o destination.avi source.avi
Підвищення бітрейту збільшує якість зображення, але разом із якістю зростає і розмір файлу. Пам’ятайте про це.
Наступним кроком, а точніше двома, буде опис процесу перекодування DVD в XviD. Спочатку mencoder аналізує файл, потім, на основі отриманих даних, перекодує DVD-потік. Використання двох фаз ненабагато довше, але на виході ви отримаєте якісніший файл. Будьте готові до того, що під час процесу кодування навантаження на CPU буде близько 90%:
mencoder dvd:// -oac mp3lame -ovc xvid -xvidencopts pass=1 -o /dev/null
mencoder dvd:// -oac mp3lame -ovc xvid -xvidencopts pass=2:bitrate=800 -o xvidfile.avi
Ви можете вказати бітрейт для отримання необхідної якості. Наприклад, щоб вмістити DVD у 700-мегабайтний xvid-файл, використовуйте такі опції:
mencoder dvd:// -ovc xvid -oac mp3lame -xvidencopts bitrate=-700000 -o file.avi
Якщо ви не хочете максимального завантаження процесора на час кодування, використовуйте утиліту nice, яка знизить пріоритет виконуваного процесу:
nice -n 19 mencoder dvd:// -ovc xvid -oac mp3lame -xvidencopts bitrate=-700000 -o file.avi
Якщо у вас є безліч маленьких відеофайлів і ви хочете зробити з них один великий, то mencoder може допомогти вам… Перейменуйте вихідні файли так, щоб вони відсортовувалися в необхідному вам порядку. Потім використовуйте:
mencoder * -o output.avi
Якщо ви хочете додати аудіодоріжку до відеофайлу, використовуйте:
mencoder source.avi -o destination.avi -ovc copy -oac mp3lame -audiofile file.wav (для нестиснутих файлів)
mencoder source.avi -o destination.avi -ovc copy -oac copy -audiofile file.mp3 (для стиснутих файлів)
Для отримання відео, придатного до відтворення на iPodLinux, використовуйте:
mencoder -ovc raw -ofps 15 -oac pcm -vf scale=176:-2,expand=176:132,format=bgr16 input.file -o output.avi
Ця команда створить RAW AVI-файл із нестиснутим аудіопотоком та масштабує його до розміру екрана Nano.
У мене є PocketPC, який частенько супроводжує мене у ділових поїздках. Я використовую mencoder для отримання фільмів, які вмістяться на 512Mb SD-Card і відтворюватимуться на моєму Pocket:
mencoder -oac mp3lame -lameopts mode=3:preset=24 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=384:keyint=250 -vop expand=”320:240″ -o outputfile.avi inputfile.avi
або
mencoder input.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=200:abitrate=48 -vop scale=320:240 -oac copy -o output.avi
Різниця в тому, що друга команда масштабує фільм до розміру екрана PocketPC — 320×240 пікселів.
Якщо у вас є веб-камера і ви хочете записати зображення з неї, використовуйте:
mencoder tv:// -tv driver=v4l:device=/dev/video0:width=640:height=480:forceaudio -ovc lavc -oac lavc -lavcopts vcodec=mpeg4:acodec=mp3 -ffourcc divx -o test.avi
Команда записує весь вивід /dev/video0 у файл із роздільною здатністю 640×480 та mp3-звуком.
Як ви бачите, за допомогою mencoder можна працювати з великою кількістю форматів, доступна величезна кількість опцій, він маленький, легкий і дуже швидко працює. І я не проміняю його на жодну утиліту з більш «дружнім» інтерфейсом.
Спеціально для зацікавлених, список фронтендів до mencoder:
Kmencoder http://sf.net/projects/kmencoder/
Konverter http://www.libsdl.de/projects/konverter/
Kmenc 15 http://kmenc15.sf.net/
GMencoder http://gmencoder.sf.net/
AcidRIP http://untrepid.com/acidrip/
MenGUI http://jahjah.free.fr/morphos/