Жизнь в консоли — MEncoder
Итак, как я и обещал, сделал подборку наиболее нужных вариантов использования MEncoder.
Что такое MEncoder?
Как гласит Wikipedia:
MEncoder — свободный кодировщик видео. Поддерживает большинство существующих аудиовидеокодеков и контейнеров. Является частью проекта MPlayer.
Mencoder поддерживает множество типов файлов:MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, Ogg/OGM, MKV, VIVO, FLI, FLV.
Как же им пользоваться? Пойдем от простого к сложному.
Команда для конвертирования MPG-файла в AVI-формат:
mencoder file.mpg -o file.avi -ovc lavc -oac lavc
Опции -oac и -ovc указывает на желаемые аудио и видео кодеки.
Вы можете посмотреть список доступных кодеков при помощи команды mencoder -ovc help и mencoder -oac help
Можно указать желаемый формат аудио при помощи опции 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 можно создавать файлы с переменным битрейтом:
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
Теперь сделаем DVDRip с Xvid кодеком.
Сначала mencoder анализирует файл, затем, на основе полученных данных, перекодирует DVD-поток.
Использование двух фаз ненамного дольше, но на выходе вы получите более качественный файл.
Выглядеть это будет так:
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
Также можно задавать не битрейт, а выходной размер файла, в килобайтах, например:
mencoder dvd:// -ovc xvid -oac mp3lame -xvidencopts bitrate=-700000 -o file.avi
даст нам file.avi размером в 700 Мб.
Из личного опыта скажу, что размер может варьироваться. Но, как правило, не сильно и в основном в меньшую сторону.
Если имеется множество маленьких виедофалйов и вы хотите сделать из них один большой,
то mencoder может помочь вам.. Переименуйте исходные файлы так, чтобы они отсортировывались
в необходимом вам порядке. Затем используйте:
mencoder * -o output.avi
Честно говоря, до этого момента я для этой цели использовал cat
Чтобы добавить аудиодорожку к видеофайлу:
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
Для PocketPC:
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 mf://*jpg -mf w=640:h=480:fps=10:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi
добавляем звуковую дорожку:
mencoder -oac copy -ovc copy -audiofile sound.mp3 output.avi -o video.avi
Вырезать небольшой фрагмент фильма можно такой командой:
mencoder FILM.AVI -ss $START_TIME -frames $LENGTH_IN_FRAMES -oac pcm -channels 2 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=600 -o FRAGMENT.AVI -mc 0 -noskip
где START_TIME="16:10" - время начала фрагмента.
LENGTH_IN_FRAMES="1500" - число требуемых секунд помноженное на частоту кадров в секунду (обычно 24 или 25)
Перевернуть видео-клип в портретный вид( и не только)
mencoder -vf rotate=1 -oac copy input.avi -o output.avi
-vf rotate=1 повернуть видео-изображение на 90 градусов по часовой стрелки.
0 Поворот на 90 градусов по часовой стрелке и отражение (по умолчанию).
1 Поворот на 90 градусов по часовой стрелке.
2 Поворот на 90 градусов против часовой стрелки.
3 Поворот на 90 градусов против часовой стрелки и отражение.
Мне не удалось найти толкового рецепта для 3gp с использованием исключительно mencoder'a, только в паре ffmpeg. Если у кого-то будет толковый универсальный вариант - с удовольствием добавлю в топик.
Еще одна замечательная особенность консольных программ-их всегда можно приостановить по Ctrl+Z и продолжить их работу по fg(bg). MEncoder не исключение(см. скрины).
UPD
Совсем забыл: официальный ман
Front-ends(на всякий случай):
Kmencoder
Konverter
Kmenc 15
GMencoder
AcidRIP
MenGUI
Что такое MEncoder?
Как гласит Wikipedia:
MEncoder — свободный кодировщик видео. Поддерживает большинство существующих аудиовидеокодеков и контейнеров. Является частью проекта MPlayer.
Mencoder поддерживает множество типов файлов:MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, Ogg/OGM, MKV, VIVO, FLI, FLV.
Как же им пользоваться? Пойдем от простого к сложному.
Команда для конвертирования MPG-файла в AVI-формат:
mencoder file.mpg -o file.avi -ovc lavc -oac lavc
Опции -oac и -ovc указывает на желаемые аудио и видео кодеки.
Вы можете посмотреть список доступных кодеков при помощи команды mencoder -ovc help и mencoder -oac help
Можно указать желаемый формат аудио при помощи опции 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 можно создавать файлы с переменным битрейтом:
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
Теперь сделаем DVDRip с Xvid кодеком.
Сначала mencoder анализирует файл, затем, на основе полученных данных, перекодирует DVD-поток.
Использование двух фаз ненамного дольше, но на выходе вы получите более качественный файл.
Выглядеть это будет так:
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
Также можно задавать не битрейт, а выходной размер файла, в килобайтах, например:
mencoder dvd:// -ovc xvid -oac mp3lame -xvidencopts bitrate=-700000 -o file.avi
даст нам file.avi размером в 700 Мб.
Из личного опыта скажу, что размер может варьироваться. Но, как правило, не сильно и в основном в меньшую сторону.
Если имеется множество маленьких виедофалйов и вы хотите сделать из них один большой,
то mencoder может помочь вам.. Переименуйте исходные файлы так, чтобы они отсортировывались
в необходимом вам порядке. Затем используйте:
mencoder * -o output.avi
Честно говоря, до этого момента я для этой цели использовал cat
Чтобы добавить аудиодорожку к видеофайлу:
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
Для PocketPC:
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 mf://*jpg -mf w=640:h=480:fps=10:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi
добавляем звуковую дорожку:
mencoder -oac copy -ovc copy -audiofile sound.mp3 output.avi -o video.avi
Вырезать небольшой фрагмент фильма можно такой командой:
mencoder FILM.AVI -ss $START_TIME -frames $LENGTH_IN_FRAMES -oac pcm -channels 2 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=600 -o FRAGMENT.AVI -mc 0 -noskip
где START_TIME="16:10" - время начала фрагмента.
LENGTH_IN_FRAMES="1500" - число требуемых секунд помноженное на частоту кадров в секунду (обычно 24 или 25)
Перевернуть видео-клип в портретный вид( и не только)
mencoder -vf rotate=1 -oac copy input.avi -o output.avi
-vf rotate=1 повернуть видео-изображение на 90 градусов по часовой стрелки.
0 Поворот на 90 градусов по часовой стрелке и отражение (по умолчанию).
1 Поворот на 90 градусов по часовой стрелке.
2 Поворот на 90 градусов против часовой стрелки.
3 Поворот на 90 градусов против часовой стрелки и отражение.
Мне не удалось найти толкового рецепта для 3gp с использованием исключительно mencoder'a, только в паре ffmpeg. Если у кого-то будет толковый универсальный вариант - с удовольствием добавлю в топик.
Еще одна замечательная особенность консольных программ-их всегда можно приостановить по Ctrl+Z и продолжить их работу по fg(bg). MEncoder не исключение(см. скрины).
UPD
Совсем забыл: официальный ман
Front-ends(на всякий случай):
Kmencoder
Konverter
Kmenc 15
GMencoder
AcidRIP
MenGUI