Общая информация
AMVsimple (далее утилита) - графический интерфейс к консольным приложениям x264.exe, NeroAacEnc.exe и MP4box.exe разработанный и оптимизированный для простого и качественного кодирования AMV-клипов. Утилита является бесплатной, распространяется "как есть" и предназначена для некоммерческого использования.
Системные требования
Утилита способна корректно работать только под Windows XP, Windows 7 и Windows 8+. Работа под управлением других операционных систем не гарантируется.
Требования к входящим файлам
Утилита принимает на вход файл AVI, скрипты AviSynth, скрипты VapourSynth, секвенции картинок: *.png или *.jpg, звуковые WAV-файлы.
Утилита корректно обрабатывает видеопоток без сжатия (Uncompressed AVI). Также возможна обработка закодированного потока, если в системе есть соответствующий активный VFW-интерфейс, но корректная работа в таком случае не гарантируется.
Утилита корректно обрабатывает аудиопоток без сжатия (Uncompressed PCM). Также возможна обработка закодированного потока, если в системе есть соответствующий активный ACM-интерфейс, но корректная работа в таком случае не гарантируется.
Проще говоря, если AVI-файл открывается в Virtual Dub, то утилита сможет его обработать.
Режимы работы
Превью: экономичный вариант (Рис. 2). Двухпроходное кодирование. Настраиваемые параметры. Диапазоны изменения общего битрейта от 1 до 5 мегабайт в минуту с шагом 0.1 мегабайт. Аудиопрофиль - HE. Опциональное изменение разрешения, в пикселях горизонтали: 320, 480. В случае, если горизонталь входящего файла меньше выбранной, разрешение входящего файла останется без изменений. Закодированный файл будет называться так же, как исходный, с добавлением суффикса "_preview" и с расширением "mp4", и будет находиться в той же директории, что и исходный файл.
Стандартная: стандартный вариант (Рис. 3). Двухпроходное кодирование. Настраиваемые параметры. Диапазоны изменения общего битрейта от 5 до 50 мегабайт в минуту с шагом 1 мегабайт. Аудиопрофиль - LC. Опциональное изменение разрешения, в пикселях горизонтали: 640, 768, 848, 1024, 1280. В случае, если горизонталь входящего файла меньше выбранной, разрешение входящего файла останется без изменений. При активированном режиме нового разрешения также становится доступным режим SD-делюкс, предназначенный для кодирования SD-версий пониженного разрешения алгоритмом делюкс-версии. Закодированный файл будет называться так же, как исходный, с добавлением суффикса "_standard" и с расширением "mp4", и будет находиться в той же директории, что и исходный файл.
Делюкс: альтернативная версия. Однопроходное кодирование с постоянным качеством. Настраиваемые параметры отсутствуют. Диапазоны изменения общего битрейта не ограничены. Аудиопрофиль - LC. Максимальное качество без перерасхода битрейта. Закодированный файл будет называться так же, как исходный, с добавлением суффикса "_deluxe" и с расширением "mp4", и будет находиться в той же директории, что и исходный файл.
Дополнительные возможности
Пришивание внешней m4a: в режиме Делюкс существует возможность муксинга с внешним m4a-файлом без его перекодировки. Для этого надо назвать m4a-файл так же, как и входящий файл, не меняя расширение, и положить его в ту же директорию, где находится входящий файл.
Муксер: вызов муксера кнопка F2 на клавиатуре. В этом окне можно добавить или заменить звуковую дорожку. Сначала добавляем видео файл и аудио файл, затем собираем. После сборки можно кликнуть правой кнопкой по окну, чтобы открыть расположение нового файла.
Поддерживаемые форматы: .mp4 .m4a .aac .h264 .264 .avc .m4v
Режим Debug: т.к. в утилите отсутствует обработчик ошибок, предусмотрен запуск в отладочном режиме. Для этого нужно запустить утилиту с параметром командной строки debug (или запустить файл ./tools/debug_mode.bat). В этом режиме временные файлы программы (Vid.avs, Snd.cmd, Snd.m4a) не будут удаляться, а команды будут вноситься в файл DebugInfo.log. Все файлы будут находиться во временной директории (./AMVSimple/tools/temp) после завершения работы. Рекомендуется применять не более чем с одним из трех режимов работы, иначе временные файлы будут относиться к последнему из пройденных режимов. При достаточном уровне знаний информации, полученной в режиме debug, достаточно для выявления любой проблемы.
Секвенция - это набор графических файлов (JPG или PNG формата) из которых требуется получить видеоролик. Для этого выбираем любой файл из секвенции. Далее нажимаем старт. Проверяем первый и последний кадр в секвенции. Выставляем нужный FPS или выбираем его из списка. Также можно добавить звуковой WAV файл. Далее кликаем ОК.
32 битный режим: если есть надобность утвердительно выставить кодировшик x264 в 32 бита то прописываем как в режиме Debug "-32"
Что делать, если не работает?
1) Проверить, выполнены ли все требования из соответствующего раздела.
2) Проверить путь к кодируемому файлу и к программе. По неизвестным причинам некоторые CLI-компоненты не принимают сложные пути, в которых присутствуют лишние точки, спец. символы или кириллица в определенных комбинациях. Поместите папку AMVsimple в корень диска, положите кодируемый файл в корень диска и назовите его простым именем (например, 123.avi). Проблема должна решиться.
3) Пользуйтесь режимом Debug, он позволит обнаружить любую проблему.
История изменений
Версия 4.0 (19.11.2013)
- Обновлен исполняемый файл x264 до последней версии на 01.11.2013 (также помимо 32-битной, добавлена 64-битная версия).
- Добавлена проверка частоты дискретизации (> 48kHz) и битности (> 16 bit) звука.
- Если поля автора и название не указано, то в информации о видео их также не будет.
- Добавлен выбор делюкс звука в пресете "стандарт".
- Изменена кнопка выключения компьютера на что делать после завершения (добавлены сон и гибернация).
- Добавлено разрешение 1280 пикселей по горизонтали в пресет "стандарт".
- Добавлена проверка разрешения для выставление нужной матрицы RGB (BT.709 или BT.601) (теперь отсутствуют изменения цветов в HD-видео при сравнении с оригиналом).
- Проверка наличия звука в исходном видео. Если звук отсутствует, то пропускается кодировка звука. Ранее это могло приводить к ошибкам работы программы.
- По окончанию кодирования не требуется перезапуск программы. Можно снова начать кодирование, выбрав нужные настройки.
- Добавлена проверка битности среды (32-битная или 64-битная система) и выбор соответствующего исполняемого файла x264 для кодировки. Что в общем случае увеличивает скорость кодирования для 64-битных машин.
- Добавлено графическое отображение прогресса кодировки на панели задач в Windows Vista/7/8/8.1
- Добавлено кодирование звукового формата WAV (AAC файл на выходе).
- Добавлен отдельный вызов муксера для сборки MP4 файла из готовых видео и звука. Доступен по кнопке F2.
- Добавлена поддержка .vpy скриптов (VapourSynth).
- Добавлена поддержка секвенций *.png и *.jpg
- Добавлено открытие расположения готового файла правой кнопкой по значкам пресетов и входного файла.
- Программа более не нуждаеться в AVISynth, установленном в системе, в случае работы с несжатым видео или секвенциями. Программа использует свою встроенную версию.
- Поправлены расширения входных файлов. Теперь программа корректно принимает и заглавные буквы.
- Поправлены поля "Автор" и "Название". Программа теперь корректно принимает русский текст и Unicode.
- Поправлена проблема с кодировкой звука с повышеными правами, что иногда приводило к отсутствию звука в финальном видеофайле.
- Исправлена проблема с исчезновение кнопок по нажатию Alt на клавиатуре.
[+/-] Лог изменений старых версий
Версия 3.6:
+ Обновлёны до последних стабильных версий все файлы (x264, neroaac, wavi, mp4box).
+ Кодировка видео без звука корректно.
+ Автоматически выставляеться Max&Min GOP size(--keyint --min-keyint).
+ Добавлен AssumeFPS = fps на входе.
+ Временная папка перенесена в директорию программы (./AMVSimple/tools/temp).
+ Дополнительные возможности: MP3 заменено на м4а(AAC).
+ Увеличен звук для превью по умолчанию теперь 50 кб/с.
+ Лимит для превью по умолчанию теперь 4 МБ/мин.
+ Лимит для стандарт по умолчанию теперь 15 МБ/мин.
Версия 3.5:
+ Добавлен режим "SD-делюкс" (позволяет кодировать SD-версию с уменьшенным разрешением алгоритмом делюкс-версии, включается в настройках стандартной версии).
+ Изменение разрешения теперь проходит с помощью более качественного Spline64 вместо Spline36. ВНИМАНИЕ! Теперь для работы программы требуется AviSynth 2.58!
+ Обновлён файл справки.
+ Лимит для превью по умолчанию теперь 3МБ/мин.
Версия 3.4:
+ Исправлены ошибки интернационализации. Русский интерфейс теперь загружается только на русской ОС и с русской локалью для не-юникода, в остальных случаях интерфейс английский.
+ Увеличены битрейты видео и аудио в делюкс-версии. Теперь делюкс весит больше, но и смотрится лучше.
+ Убрана фича по оттягиванию звука назад на 70мс (когда-то она была нужна, чтобы не было рассинхры, а теперь она сама стала давать рассинхру).
+ Добавлены проценты выполнения текущей операции в заголовок окна.
Версия 3.3:
+ Исправлено зависание на некоторых конфигурациях.
+ Добавлена проверка наличия AviSynth в системе.
+ Улучшено качество кодирования превью и стандартной / уменьшен размер делюкса.
+ Добавлена кнопка вызова справки на главной форме.
Версия 3.2:
+ Добавлен английский язык интерфейса (включается автоматически, если язык интерфейса Windows не русский).
+ Обновлен энкодер.
+ Проценты в таскбаре отображаются до названия программы (теперь они всегда видимы даже при небольшой ширине кнопок таскбара).
+ Файл справки перекомпилирован в формат chm, добавлена английская справка (спасибо Esc'у за перевод).
Версия 3.1:
+ Оптимизированы параметры для нового алгоритма х264 - размер делюксов, в зависимости от материала, на 10-40% меньше при том же качестве, а качество превью/полной заметно выше при том же битрейте.
+ Улучшена кратность сторон в режиме изменения разрешения до 848 по горизонтали.
+ Временные файлы теперь создаются в windows/temp, а не в папке программы (поможет тем, кто работает под учетной записью пользователя, а не админа)
+ Размер исполняемого модуля уменьшен в 2 раза, сам файл слегка закриптован (защита от переводчиков интерфейса на инглиш).
+ Улучшена совместимость с системой GPU-декодирования CUDA в CoreAVC.
+ Уменьшена ресурсоемкость закодированных файлов путем ограничения пиковых значений битрейта на отметке 20Мб/сек.
Скачать программу
AMVSimpleGUI 4.0 в ZIP-архиве (~3.4 Мб)
[+/-] Старые версии программы
(с) Aggressor & KG7x
|
Кодирование АМВ с помощью AMVSimpleGUI 1.4
-=[Hikari]=-, а я утверждаю, что ты неправ, что crf не задает лимит битрейта, и вообще более эффективного алгоритма кодирования не существует. А если ты готов тратить свое и мое время, вовлекая меня в бессмысленные дискусии и ставя под сомнение эффективность выбранного метода, то предложи свой метод, который будет давать лучшие результаты. Вплоть до командной строки первого и второго проходов. С приложенным файлом статистики и ссылкой на трэд Дум-9, где даются теоретические объяснения процесса. Если сделаешь, и если результаты будут такими же универсальными и при этом размер файлов будет меньше- обещаю серьезно отнестись к вопросу и к следующей версии профинтить 2й проход. А до тех пор твои высказывания о втором проходе официально объявляю ересью, и дальнейшие голословные утверждения по вопросу игнорирую.
в однопроходном режиме тоже есть лимит битрейта.
В том числе и у тебя, вот:
--crf 20
И гоняется он куда менее эффективно, чем в 2-pass.
Конечно, лимит битрейта здесь задаётся не прямо, а косвенно, через указание nominal QP. Но он всё равно есть, куда ж без него.
Ладно, забили...
Lusi_7, У меня видео не кодировалось, когда стоял AviSynth 2.55, но и тогда файл создавался. Попробуй во время работы программы куда-нибудь скопировать файлы "Full.avs" и "Snd.avs" из той папки, в которую она установлена. Потом попробуй открыть их разными видеоплеерами. Какие результаты? Если не воспроизводятся, переустанови AviSynth (лучше скачать последнюю версию), кодеки, плеер(ы), Windows на худой конец ]:->
[update]
CHebur, могли вы добавить счетчик, сколько осталось времени до окончания кодирования
ага, а также всё остальное, что идёт от x264 в stdout - количество кадров, скорость обработки в фпс, текущий битрейт.
Было бы отлично, а то одинокий прогресс бар уж очень одинокий
Aggressor, могли вы добавить счетчик, сколько осталось времени до окончания кодирования.
Скажи, ПРИ ЧЁМ ЗДЕСЬ ТЕОРЕТИЧЕСКАЯ ВОЗМОЖНОСТЬ СОЗДАНИЯ ПСЕВДО-ДВУХПРОХОДНОЙ ТЕХНОЛОГИИ КОДИРОВАНИЯ?!!! Речь идёт о том, какой из современных методов кодирования применять, а не о том, что можно разработать и какую кривую технологию кодирования можно изобрести.
Ты сам ответил:
P.S. пожалуйста, не пиши больше такую ерунду
Если ты не понял, речь шла о теоретической оценке возможностей как существующих программ, так и тех что могут появиться в ближайшее время. К примеру, если ты ещё до первых релизов примерно не мог представить, какая "рульная" штука будет виста, то и говорить с тобой на эти темы как бы и не о чем. Считай свои сливы.
Т.е. у нас есть лимит битрейта, и мы его гоняем между статикой и динамикой, чтобы и там, и там была не сильно заметна лажа. А что делает один проход? Он не пытается забрать битрейт в одном месте и добавить за счет этого в другом, он просто дает его ровно столько, сколько нужно, чтобы выйти на заданный результат по качеству. По этой же причине увеличение количества б-фреймов не даст существенного результата- разница в 100 килобайт на 40-мегабайтном файле не в счет )
Ну и вот еще:
http://forum.doom9.org/archive/index.php/t-124766.html
Кстати, проблемы с кириллицей пофиксил, и Турбо уже выложил новую версию.
Так как ты, скорее всего, читал топ по диагонали, я поясню: наша с Агрессором дискуссия началась с того, что я сказал, что применять в его программе двухпроходное кодирование было бы лучше, чем однопроходное. На что он ответил, что оно, в общем-то, и не нужно, а я возразил, что двухпроходное кодирование даёт лучший результат. На это он обозвал меня нупом и предложил покурить матчасть, а я стал защищаться и приводить свои доводы в пользу 2-pass mode, попутно комментируя результаты работы его программы.
Скажи, ПРИ ЧЁМ ЗДЕСЬ ТЕОРЕТИЧЕСКАЯ ВОЗМОЖНОСТЬ СОЗДАНИЯ ПСЕВДО-ДВУХПРОХОДНОЙ ТЕХНОЛОГИИ КОДИРОВАНИЯ?!!! Речь идёт о том, какой из современных методов кодирования применять, а не о том, что можно разработать и какую кривую технологию кодирования можно изобрести.
P.S. пожалуйста, не пиши больше такую ерунду
P.P.S. примеры в студию!
не имеет принципиального значения сколько решений: одно или несколько - задача решаема и нам этого знания достаточно
слив засчитан
А мне надо? Пусть на видеолане разрабатывают, если посчитают полезным. Я их версиями как-то больше пользуюсь.
Можно, но не нужно. Для повторного прохода есть соответствующий режим. И вообще, будьте добры, примеры в студию! Это какой же кодек так работает?
Я показал что у задачи имеется как минимум одно решение. А поскольку писать кодек будем не мы, не имеет принципиального значения сколько решений: одно или несколько - задача решаема и нам этого знания достаточно. "Хотите знать больше? Читайте исходники." (с) Только где к неровской продукции её будешь искать? Просматривал исходники старого rmvb, интересное зрелище, в малых дозах, рекомендую)
Исходник: Running Man 720p@60, сделан resize до 432p и framerate conversion на 30 fps.
General
File size : 45.1 MiB
PlayTime : 2mn 45s
Video
Bit rate : 2073 Kbps
Bits/(Pixel*Frame): 0.208
BitRate_Max : 7641920 (жесть! если честно, не ожидал такого от однопроходного кодирования)
Audio
AAC LC VBR ~212 kbps
На видео видны разве что градиенты на полутонах, а так - никаких нареканий. Да и градиенты эти были и в самом исходнике, только меньше. При кодировании видео, которое было срипано с нормального DVD, качество должно получиться отличное.
Итог: ну, я писал уже. Если б можно было, поставил бы "5".
P.S. А 2-pass всё равно рулит :-P
P.P.S. Сейчас попробую ещё в 60 фпс сделать на таком же разрешении. Интересно, как изменится размер
Бармалино, Нет никаких запретов разработать алгоритм в котором часть функций двух проходов выполнится за один
гыгыгыгыгыгыгыгы
разрабатывай на здоровье
сразу после прохода 50 кадров, их можно пройти ещё раз, вторым проходом
Можно, но не нужно. Для повторного прохода есть соответствующий режим. И вообще, будьте добры, примеры в студию! Это какой же кодек так работает? Просвети меня, тёмного и жестоко наколотого ^___^
X264? Nero AVC? XviD? DivX? VP7? Экзотику не предлагать, только распространённые кодеки.
Ни в каком кодеке 1-pass mode не работает лучше, чем 2-pass по причине того, что дальность предсказания битрейта в 1-pass - отсилы полсотни кадров
А больше и не сильно и надо, сразу после прохода 50 кадров, их можно пройти ещё раз, вторым проходом. Но формально это будет считаться одним проходом. При этом не получится точно подсчитать финальный битрейт, но это не всегда и необходимо.
эммм..... ну дык....
при первом проходе кодек анализирует материал, его динамичность, количество движущихся макроблоков; для каждого кадра определяется его тип (I, P, B), предполагаемый quantizer, количество макроблоков, предсказанных из других кадров, количество битов, необходимых для его кодирования и другие параметры. На основании данных, собранных в первом проходе, кодек делает второй проход, оптимально распределяя битрейт между сценами. Такой метод позволяет не тратить лишние биты там, где это не нужно (статичные сцены), и направить их на динамичные участки видео.
Ни в каком кодеке 1-pass mode не работает лучше, чем 2-pass по причине того, что дальность предсказания битрейта в 1-pass - отсилы полсотни кадров, а в 2-pass - весь клип/фильм. Кроме того, есть такая штука как задержка реакции кодека на изменение динамичности сцены, т.е. если в пределах N кадров динамика повышается, то с N+1-го повышается и битрейт, а сами N кадров остаются закодированными с низким битрейтом. То же самое и наоборот, при падении динамики. А всё потому, что однопроходный режим оптимизируется для real-time кодирования, а для обработки готового материала рекомендуется только 2-pass/multipass.
При всём моём к тебе уважении (а оно сильно выросло после "Starfire" и статьи "Нарезка"), быть может, это ты неправильно понимаешь суть двухпроходного кодирования?
В любом случае, напиши, пожалуйста, как его понимаешь ты. Мне так, для себя интересно
Да, и я ж не говорю, что прога отстой. H264, пусть даже 1-проходный - он ведь в разы лучше даже 2-проходного XviD'a. А для.. кхм... новичков в самый раз подойдёт (т.к. там две кнопки всего)
(update)
для работы нужен AviSynth не ниже 2.5.7, верно?
надо указать где-нибудь, а то жалобы могут полезть "кривая прога" и т.п. Вообще, я думаю, нужно поставить пользователя в известность, что необходим AviSynth, и где его можно скачать. Ведь если человек не умеет пользоваться VirtualDub'ом, вряд ли он сам поймёт, как работает эта прога.
ну а теперь по самому процессу кодирования.
--ref 16 --mixed-refs --no-fast-pskip --b-pyramid --weightb
--me umh --8x8dct --no-psnr --no-ssim и т.д.
no comments, просто "+1"
--analyse all --trellis 2 --subme 9 --b-adapt 2
респект!
--bframes 3: маловато будет! 5-8 можно ставить смело. В комплексе с "--mixed-refs --b-pyramid --weightb" даст небольшое уменьшение размера при той же скорости кодирования
В общем, качество видео обещает быть хорошим. Если б можно было оценивать статьи, поставил бы "5", даже не дожидаясь результатов кодирования (а это ещё часов 5 :'((( )
P.S. А 2-pass всё равно рулит :-P
судя по описанию - мощный инструмент по спасению нупов от перенапряжения межушного нервного узла
ну, оно и к лучшему, наверное - по крайней мере, их не будет вводить в ступор кодирование того, что они нарезали в редакторе, и они не будут совать это в MovieMaker или ещё куда...
Aggressor, два прохода лучше, когда есть ограничения по битрейту
ИМХО, два прохода в любом случае лучше, так как качество выше, и размер меньше.
Сейчас буду подтверждать свое ИМХО экспериментально, отпишусь по результатам
Если программу установить в папку с русским названием, то она не работает!
Да, у них есть ZarxGUI. Он есть настолько давно, что проигрывает уже по всем статьям. :-)
Так, начало положено, надеюсь, в будущем подобные кнопки появятся и в больших программах вроде Фотошопа и 3D-редакторов :)