|
Кодирование АМВ с помощью Baka Encoder
|
Четверг, 01 Ноябрь 2012
|
|
Представляем вашему вниманию программу Baka Encoder, которая лёгким движением мышки кодирует экспортированные из редактора клипы в компактный mp4.
Программа поддерживает: Windows 7, Windows 8/8.1, Windows 10
Кодирует: Uncompressed RGBA, RGB, RGB48, YUY2, YV12 / Avisynth скрипты / HuffYUV / Lagarith без NullFrames / UT Video / Uncompressed PCM audio / MJPG
|
Преимущества
- Не требует установки
- Интуитивный интерфейс
- Толковая очередь заданий
- Полная поддержка юникода
- Кодирование можно поставить на паузу
- Можно закидывать сразу несколько роликов или папок
- Нет hardcoded настроек - профили кодирования можно весьма свободно изменять (см. файлик «Baka Encoder.config.xml» в корне)
- Мелкие интерфейсные плюшки: отображение прогресса в панели задач, нормальное перетаскивание файликов, DPI awareness и прочее
- Для кодирования видео не требуются никакие дополнительные программы. Ависинт нужен только для обработки скриптов, других зависимостей нет
- Есть возможность кодирования 10-битного видео
- При необходимости осуществляет корректное преобразование RGB-YCbCr
- Предотвращает апсемплинг
- Есть 64-битная версия
- Имеются Английская, Китайская, Немецкая, Польская, Португальская (Бразильская), Русская, Эстонская и Японская. Английская включается автоматически на нерусскоязычных операционных системах)
Примечания
- Многоканальное аудио иногда кодируется некорректно.
- При итоговом сабсемплинге 4:2:0 ширина и высота входного (и выходного) видео должны быть кратны 2 пикселям.
- При итоговом сабсемплинге 4:2:2 ширина входного (и выходного) видео должны быть кратны 2 пикселям.
- Вообще используйте стандартные размеры.
- Одновременно может быть запущен только один экземпляр приложения.
- Чтобы загрузить настройки из определенного файла перетащите его на Baka Encoder.exe.
- Хотя Baka Encoder это прежде всего инструмент с графическим интерфейсом, параметры командной строки он тоже обрабатывает
"Baka Encoder.exe" "path_to_config_file" "path_to_input_file_1" ... "path_to_input_file_n"
- Некоторые антивирусные продукты ошибочно классифицируют Baka Encoder как вредоносное програмное обеспечение. Это скорее всего вызвано извлечением запакованных инструментов и библиотек, так как подобное поведение необычно. (Предположительно исправлено с версии 1.1.0)
- Временные файлы хранятся в папке "TEMP Baka Encoder" в корне диска где находится файл для кодирования, например, если вы кодируете файл
"C:/My Documents/my amv.avi"
то будет использоваться папка
"C:/TEMP Baka Encoder/"
Эта папка создается в начале кодирования и автоматически удаляется со всем содержимым по его окончании.
- Системное меню (вызывается левым кликом по маленькой иконке в левом верхнем углу окна приложения или правым кликом по заголовку окна или его превью в панели задач) содержит дополнительные пункты "Поверх всех окон", "Вести лог", "Донейт" и "О программе".
Форум поддержки
История изменений
Официальная страничка программы с дополнительной информацией
Описание конфигурационного файла
|
|
|
Прочитана: 36121 раз
|
|
Комментарии (72)
Вы не авторизованы! Комментарии могут оставлять только зарегистрированные и авторизованные пользователи!
|
Интересное на CreaSpace
|
|
|
|
|
Добавлять поддержку работы с сиквенсами напрямую я вряд ли буду. Во-первых для этого придется прикручивать хитрый диалог с выбором диапазона изображений, целевого fps и аудио дорожки (кстати что-то подобное уже где-то было), и я не уверен что это будет быстрее, чем написать пару слов в скрипте вручную, во-вторых поддержка юникода станет неполной, так как ImageSource в ависинте его не поддерживает.
Вес у БМП довольно не хилый, возможно даже больше, чем вес анкомпресса, обрабатывать их наверняка тоже не самая лёгкая задача и без прередера что-либо делать с этим будет весьма проблематично, а вот с лосслесс и пустышками можно вообще обойтись без пререндера, особенно если дело касается исключительно монтажа. Ну, а уже во время монтажа файл дробиться достаточно мелко, чтобы это не вызывало каких-то явных проблем при отключении электричества во время пререндера.
Поэтому твои аргументы пока можно считать как минимум сомнительными.
На крайний случай для удобства монтажа можно вообще сделать пустышку с понижением разрешения до 640х360 и загнать пререндер, а по окончанию монтажа подменить пустышку с понижением разрешения на пустышку с оригинальным HD или Full HD разрешением, после чего создать в проекте новый ряд с соответствуещим разрешением, куда тупо скопипастить начальный ряд низкого разрешения. Хитрость очень актуальная для работы на маломощных тачках.
Что ещё хорошо в пустышках, так то, что они не занимают как такового места на жестяке. А вот сиквенсы из БМП сожрут его не мало.
А в предыдущем посте говорил, что все так делают.
На чём основано это утверждение?
Пруфлинки бы. [/quote]
Ну это скорее по моим соображениям. Не буду врать. Но по сути проге не приходится открывать весь файл что-бы загрузить видео фрагмент, а достаточно выбрать нужные кадры которые он уже знает какие. Не надо зализать в видео контейнер так сказать, что-бы там уже всё перебрать и найти нужное. И думается мне, что поиск нужного кадра будет происходить быстрее когда у тебя в памяти сразу каждый фрагмент лежит перед тобой, в отличии от целого контейнера, где все файлы лежат в неком контейнере при открытии которого ему надо понять сначала, что это за приблуда такая и каким кодеком обрабатывать. Обрабатывать поток видео из контейнера и находить нужный кадр. Вообщем я не могу точно описать в чём преимущества и работа с секвенциями, но по моим наблюдениям и моей логике оно должно быть на лицо.
[quote="Bill Ein"
Пруфлинки бы [/quote]
Пруфлик не дам ибо нету. Ну сам я именно так работаю. Занимаюсь 3д графикой и тут без вариантов только секвенция.)
Убедил
Пустышки без явных извращений в скрипте и лосслесс avi летают быстрее анкомпрессед .avi, да и "последовательности" скорее всего тоже.
На чём основано это утверждение?
Пруфлинки бы
2. Второй плюс это никаких проблем в воспроизведением видео в любых редакторах(ну с видео без сжатия тоже нет фактический).
3. Любая прога будет охотнее и быстрее работать именно с последовательностью кадров.
4. В 3д графике да и вообще во многих областях графики все уже давно работают именно так и все отлично понимают плюсы данного подхода. Пора и тут что-то менять)
Зы если я в чём-то не прав или хотите поспорить, я буду только рад)
Удобнее же работать с последовательностью кадров, чем с анкомпрессед. 1. Берём исходник и переводим его в последовательность кадров(а ещё круче если не весь исходник, а только заданный промежуток). Выводить можно в тот-же bmp или что-нибудь по легче. 2. Пихаем секвенцию в вегас например с указанием правильного фпс и легко уже режем и тд. Так же из вегаса экспоротим в секвенцию. Что-бы весь пайплайн проходил через секвенции кадров. Звук разумеется отдельной дорогой выводим. В проге на конечном этапе выводим из вегаса секвенцию и отдельно звук и уже в проге этой склеиваем и кодируем в мп4.
Да руками можно сделать всё что угодно, а я уже хочу готовую фичу для работай с секвенциями.
Если подобные скрипты есть в свободном доступе, то тем более почему-бы их не запихнуть в стандартный пакет программы?
Т.к. мне абсолютно неизвестен твой уровень познаний, то давай кое-что проясним.
Обычный процесс:
1) Берём исходник
2)а) пихаем в редактор как есть или
б) переводим в анкомпрессед или лосслесс ави и пихаем в редактор или
в) создаём ави пустышку и пихаем в редактор
3) режем, месим, синхрим, эффектим
4) рендерим/экспортируем полученную последовательность (сиквенс) из редактора в анкомпрессед или лосслесс ави
5) пихаем полученный файл в энкодер и кодируем в h264/aac *.mp4
Если я тебя правильно понимаю, то ты каким-то образом хочешь полностью обойти пункт 4)? А в энкодер то пихать что? Файл проекта? Или я тебя вообще не понял?
Мешает лень изучать и возиться.
Нет. Скармливаешь ей секвенцию и на выходе получаешь мп4. Или наоборот даёшь ей мп4 и на выходе сиквенция.
В приоритете первый пункт.
AMV Encoder - теперь знаешь
http://petromi.com/get/3b71753777.png
Спасибо, вечером буду тестировать.
З.Ы: Неужели я наконец забуду про продукты winnydows-a
video pass_count="1" max_width="480" max_height="270" resize_method="spline"
cmd=" --crf 20 --preset placebo --psy-rd 0.00:0.00 --deblock 1:1 --ref 2 --vbv-bufsize 25000 --vbv-maxrate 20000 --log-level none --quiet"
Случайно нет, но сделать соответствующий пресет поглядев в поисковике подходящие параметры для x264 (или поэкспериментировав с ним самому) вполне возможно.
ref - ограничивает использование оперативной памяти во время энкода, важно знать при кодировании Full HD, т.к. на максимальных значениях при недостатке оперативы может случиться краш x264. В т.ч. ref 3 и ref 4 обеспечивают наилучшую совместимость с онлайн-плеером, что из них лучше - пока вопрос. Однако, на низких значениях повышается время кодирования и вес файла.
level - определённое кол-во блоков, рассчитывающееся от разрешения и фпс. Правильно подобранный level ускоряет кодирование. Наилучшая совместимость с онлайн-плеером достигается при level 4.1 и меньше. При кодировании по CRF правильный level определяется автоматически.
--vbv-bufsize 50000 --vbv-maxrate 62500 - ограничение для наилучшей совместимости с онлайн-плеером
--colormatrix bt709 --colorprim bt709 - требуется для кодирования HD и Full HD в 10бит для адекватного отображения цветов. Не поддерживается онлайн-плеером, равно как 10бит.
psy-rd - служит для наилучшего сохранения мелких деталей, градиентов, дебанда и шума, но при высоких CRF или недостатке битрейта повышает вес в холостую и несёт артефакты. Ниже будет приведена таблица рекомендуемых мною ориентировочных настроек psy-rd по отношению к CRF, от которых вы уже можете танцевать подбирая нужное значение на глаз.
deblock - исправляет эффект блочности, возникающий при недостатке битрейта и делает это за счёт смазывания картинки. Чем выше, тем больше смазывание, чем ниже, тем выше детализация, но больше вероятность получить блочность. Ниже будет приведена таблица рекомендуемых мною ориентировочных настроек deblock по отношению к CRF, от которых вы уже можете танцевать подбирая нужное значение на глаз.
CRF - кодирование по методу выдержки определённого уровня качества в каждом кадре. Хоть и однопроходное, но более мудрое, экономное и быстрое, чем трёхпроходное кодирование. Можно варьировать не только по целым значением, т.е. можно выставить, например, crf 16.5 или crf 15.7.
Ориентировочная таблица настроек для CRF:
Unwatchable (несмотрибельное качество)
--crf 24 --psy-rd 0.00:0.00 --deblock 3:3
--crf 23 --psy-rd 0.00:0.00 --deblock 3:2
--crf 22 --psy-rd 0.00:0.00 --deblock 2:2
Poorly (плохое)
--crf 21 --psy-rd 0.00:0.00 --deblock 2:1
--crf 20 --psy-rd 0.00:0.00 --deblock 1:1
Average (среднее)
--crf 19 --psy-rd 0.20:0.00 --deblock 1:0
--crf 18 --psy-rd 0.40:0.00 --deblock 0:0
Normal (обычное)
--crf 17 --psy-rd 0.60:0.00 --deblock 0:-1
--crf 16 --psy-rd 0.80:0.00 --deblock -1:-1
HQ (отличное)
--crf 15 --psy-rd 0.90:0.00 --deblock -1:-2
--crf 14 --psy-rd 1.00:0.00 --deblock -2:-2
Noise (наилучшее сохранение шума)
--crf 13 --psy-rd 1.10:0.10 --deblock -2:-3
--crf 12 --psy-rd 1.20:0.25 --deblock -3:-3
Для 10бит CRF в таблице сдвигается на 1 вниз, т.е. HQ пресеты для HD и Full HD будут выглядеть так:
--crf 16 --psy-rd 0.90:0.00 --deblock -1:-2 --colormatrix bt709 --colorprim bt709
--crf 15 --psy-rd 1.00:0.00 --deblock -2:-2 --colormatrix bt709 --colorprim bt709
С остальным экспериментально уже можете разобраться сами.
P.S.
1) Для "standart" версии используйте CRF 18-16
2) Для "SD deluxe" версии используйте CRF 16-14
3) Для "HD/Full HD deluxe" версии 10бит используйте CRF 17-15
4) Не выкручивайте аудио, т.к. 320 кбпс в mp3 = 150-190 кбпс в AAC, напрасное увеличение битрейта качество не улучшит, а вес увеличит.
5) Не бойтесь экспериментировать, т.к. идеальных универсальных настроек для наилучшего кодирования абсолютно любого видео нет, но и не перегибайте палку. Я крайне не рекомендую использовать CRF больше 18, т.к. это отрицательно скажется на качестве, равно как и не рекомендую использовать CRF меньше 14, т.к. такое высокое качество для кодирования 99,99% клипов просто не требуется.