Videorip.info

Учимся кодировать видео и делимся опытом

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Bookmark and Share
Чем больше информации Вы предоставите — тем быстрее мы сможем вам помочь!
Вставляйте (под спойлер) Mediainfo источника, Полный ЛОГ кодирования, другие настройки кодирования и т.д.

ТЕМА: Пережатие 1080p в 720p (mencoder+x264+aac)

Пережатие 1080p в 720p (mencoder+x264+aac) 8 года 8 мес. назад #322

  • RazrFalcon
  • RazrFalcon аватар
  • Не в сети
  • Администратор
  • Zombie Mod
  • Сообщений: 227
  • Спасибо получено: 88
Автор: RazrFalcon

MEncoder - это консольный кодировщик видео.
К нему есть множество графических интерфейсов ("морд"), такие как Any Video Convertor, SUPER и тд.
Но я опишу как работать с ним, именно в консоли.
Консоль более привычный инструмент для "линуксоидов", пользователей Linux, но и в консоли Windows MEncoder ведет себя также.

Преимущество консольного варианта в том, что легко можно наладить пакетную обработку.
К примеру у вас есть сериал, и вы хотите сбросить его себе на КПК. У сериала 26 серий, не будете же вы каждую отдельно конвертировать, да? Можно всю эту рутину передать mencoder'y. Запустить его на ночь, и на утро у вас будет 26 серий готовых для сброса на КПК.
Тоже самое можно применить и к пережатию видео, обрезке и тд.

В этой статья я раскажу как перевести 1080p в 720p по средством MEncoder.
На примере Ubuntu 10.10 и Windows 7.

1) Установка.
Для пользователей Windows нужно скачать отсюда и распаковать, к примеру в Program Files. Сбоку выбираем в зависимости от вашего процессора.
Затем качаем кодеки и помещаем их в папку codecs в папке mplayer, которую вы получили выше.

Пользователи линукс и сами знают что делать, в зависимости от дистрибутива. :)

2) Запуск.
Тут опять идет разделение на ОС, но все предельно просто.

Ubuntu:
Приложения - Стандартные - Терминал.
Пишем mencoder и нажимаем Enter.
Будет выдано приблизительно следующие:
$ mencoder
MEncoder 1.0rc4-4.4.5 (C) 2000-2010 MPlayer Team
No file given

Exiting... (error parsing command line)
Это значит что ваш mencoder нормально установился.

Теперь копируем эту строку в консоль:
mencoder "movie.mkv" -ovc x264 -x264encopts crf=20:subq=7:8x8dct:trellis=2:threads=0:frameref=9:bframes=7:weightb -oac lavc -lavcopts acodec=aac:abitrate=384 -vf dsize=1280:-3,scale=1280:-3 -o "movie_out.avi"
movie.mkv - полный путь к вашему фильму. А movie_out.avi - путь, по которому будет сохраняться видео.

Должно быть что то в духе этого:

* -endpos 10 означает, что будут скодированы только первые 10 секунд. Просто для скрина кодировать целый фильм было бы глупо :wink:
Полный вывод:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Windows:
Пуск - В поле "Поиск" вводим "cmd" и запускаем его.


Появляется такое вот окно:


Для начала нужно перейти в папку, в которой у нас лежит mencoder.exe.
Достаточно ввести cd (пробел обязательно) и мышкой перенести папку в консоль. Путь к ней автоматом появиться.
И будет таким, в моем случае:


Дальше делаем все тоже что и для Linux.

Запускаем и получаем что то в виде:

Полный вывод:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


3) Описание кодеков.
* справедливо для всех ОС.

Видео:
-ovc x264 -x264encopts crf=20:subq=7:8x8dct:trellis=2:threads=0:frameref=9:bframes=7:weightb
Эта часть отвечает за видео. И так.
Ключ -ovc позволяет выбрать кодек видео. В нашем случае это x264.
После ключа -x264encopts идут уже настроки x264. Собственно они те же что и для обычного x264. Но на всякий случай повторюсь.

crf=<1.0-50.0> - режим постоянного качества. С уровнем квантования от 1 до 50.
subq=<1-7> - контролируем соотношение между качеством и скоростью вносимыми в процессе принятия решений об оценке движения.
8x8dct - разрешает умное использование преобразований 8×8 в I-кадре. Адаптивное 8×8 дискретное косинусное преобразование (DCT).
trellis - трелис.
threads - количество ядер. 0 - автоопределние.
frameref - количество рефремов.
bframes - количество b-кадров.
weightb - использовать взвешенное предсказание в B-кадрах.

Полный список опций можно посмотреть здесь.

Аудио:
-oac lavc -lavcopts acodec=aac:abitrate=384
Вот наше аудио.
Ключ -oac позволяет выбрать кодек аудио. В нашем случае это набор кодеков libavcodec.
После ключа -lavcopts идут уже настроки. Заметьте, что в libavcodec входят и видео кодеки, но в данном случае мы будем использовать только аудио.
acodec - аудио кодек.
abitrate - битрейт аудио. От 128 до 1536. Обычно 192 kbps для стерео и 384 kbps для 5.1.

В данном случае у нас будет стерео. Так как aac не поддерживает больше 2-х каналов.
Для многоконального звука можно использовать AC-3.
Выглядит это следующим образом:
-channels 6 -oac lavc -lavcopts acodec=aс3:abitrate=384

Фильтры:
-vf dsize=1280:-3,scale=1280:-3
Фильтры перечисляються через запятую после ключа -vf.

dsize=1280:-3 - задаем выходно соотношение/пропорции. Обязательно до scale, иначе могут быть проблеммы с отображением.
scale=1280:-3 - сжимаем по ширине до 1280 с сохранением аспекта (параметр -3).

4) Выводы.
Естественно в этой статье описаны только основы и конкретные случаи.
Но изменить под что то себя будет не сложно.

К примеру, сменив -vf dsize=1280:-3,scale=1280:-3 на -vf dsize=720:-3,scale=720:-3 вы получите BDRip с разрешением для DVD.

Также, количество рефремов и b-фремой лучше подбирать самим. Здесь были приведены оптимальный для конкретного случая. А их определении под ваше видео - это уже отдельная статья.

MEncoder корректнее всего работает с avi, по этому в него мы и сохраняли. Но пересобрать в mkv уже труда не составит.
Хотя можно сделать и так:
добавить -of lavf -lavfopts format=mkv между "movie.mkv" и -ovc x264. Ну и изменить "movie_out.avi" на "movie_out.mkv".
Последнее редактирование: 8 года 6 мес. назад от RazrFalcon.
Гостям запрещено создавать сообщения!
Спасибо сказали: admin, Mihanja80, videoDVDkhv

Re: Пережатие 1080p в 720p (mencoder+x264+aac) 8 года 7 мес. назад #438

  • RazrFalcon
  • RazrFalcon аватар
  • Не в сети
  • Администратор
  • Zombie Mod
  • Сообщений: 227
  • Спасибо получено: 88
Готово. Жду комментарии.

Нужен ли 2-х проходный пример?

* потер сообщение оставшиеся от прошлого "мана" :) , они уже не соответствуют действительности.
** также ответил на те вопросы что уже прозвучали.
Последнее редактирование: 8 года 7 мес. назад от RazrFalcon.
Гостям запрещено создавать сообщения!
Спасибо сказали: Mihanja80, videoDVDkhv

Re: Пережатие 1080p в 720p (mencoder+x264+aac) 8 года 7 мес. назад #443

  • Анонимный
  • Анонимный аватар
Спасибо Вам за объяснения... у меня получилась вот такая шляпа...




а видео на выходе получилось с нормальным звуком, но с ненормальным видео. Видео сузилось, ускорилось и рассыпалось на кусочки... не подскажете почему?



Поправил Ссылки, не корректно вставили, вот так:
http://http://visidoor.narod2.ru/compress2.png
Удаляйте http://
Последнее редактирование: 8 года 7 мес. назад от Mihanja80. Причина: Поправил Ссылки
Гостям запрещено создавать сообщения!

Re: Пережатие 1080p в 720p (mencoder+x264+aac) 8 года 7 мес. назад #444

  • RazrFalcon
  • RazrFalcon аватар
  • Не в сети
  • Администратор
  • Zombie Mod
  • Сообщений: 227
  • Спасибо получено: 88
Так вы ведь не использовали ресайз. То есть, картинка не могла изменится.
Попробуйте так:
-vf dsize=960:-3,scale=960:-3
просто в конце допишите.
Если не поможет, то сделать так:
-vf dsize=960:-3,scale=960:-3,harddup
или
-vf dsize=960:-2,scale=960:-2,harddup
Лог вполне нормальный.
Последнее редактирование: 8 года 7 мес. назад от RazrFalcon.
Гостям запрещено создавать сообщения!
Спасибо сказали: videoDVDkhv

Re: Пережатие 1080p в 720p (mencoder+x264+aac) 6 года 8 мес. назад #2801

  • Rodegast
  • Rodegast аватар
  • Не в сети
  • Любитель
  • Сообщений: 43
  • Спасибо получено: 37
> -vf dsize=1280:-3,scale=1280:-3

ИХМО dsize не нужен.

> -of lavf -lavfopts format=mkv

Вместо этого надо добавлять -of lavf -lavfopts format=matroska

Ничего не написано про xvid и lavc + неплохо бы было указать некоторые особенности при кодировании менкодером.
Гостям запрещено создавать сообщения!
Спасибо сказали: videoDVDkhv

Re: Пережатие 1080p в 720p (mencoder+x264+aac) 4 года 5 мес. назад #3883

  • maxmister
  • maxmister аватар
  • Не в сети
  • Знаток
  • Сообщений: 389
  • Спасибо получено: 86
как его установить на linux, Ubuntu и запустить?
Последнее редактирование: 4 года 5 мес. назад от maxmister.
Гостям запрещено создавать сообщения!
Спасибо сказали: videoDVDkhv

Re: Пережатие 1080p в 720p (mencoder+x264+aac) 4 года 4 мес. назад #3917

  • Rodegast
  • Rodegast аватар
  • Не в сети
  • Любитель
  • Сообщений: 43
  • Спасибо получено: 37
Это часть mplayer-а, по этому он компилируется вместе с ним.
Гостям запрещено создавать сообщения!
Спасибо сказали: videoDVDkhv
Время создания страницы: 0.103 секунд