Цитата:
Сообщение от GERR
Трудно им было сделать ручной выбор дорожек. В банальных программах он есть, а тут - нельзя.
|
Ну да, у них немножко странный механизм декодирования аудио используется :-(.
Цитата:
Сообщение от GERR
Виктор, и всё-таки ещё вопрос по ресурсозатратам: что такого он там столько времени делает?
|
Если я скажу, что он ищет оптимальные пространственные и темпоральные векторы движения, Вы сильно на меня обидитесь? ;-) На самом деле, x264 - действительно не очень быстрый кодек, это верно. Но зато он а) весьма предсказуем по качеству и б) совершенно бесплатен, что в совокупности делает его, по факту, выбором №1 для домашнего использования.
Цитата:
Сообщение от GERR
Кодирование по умолчанию (в Вашем профиле) двухпроходное?
|
Да, конечно. Для фиксированного битрейта всегда лучше применять двухпроходное кодирование.
Цитата:
Сообщение от GERR
Кстати, неоднократно в последнее время встречался с мнением, что два прохода качества, по сути, и не добавляют. Как Вы к этому относитесь?
|
Ну, как говорится, это
зависит. Если нас не волнует финальный битрейт вообще - ну то есть совсем - и 5, и 15, и 30 Мбит/с, всё нас устроит (в рамках ограничений выбранного профиля, конечно) - то однопроходное сжатие с фиксированным качеством (т.е. CRF порядка 18-20) даёт результаты или такие же, или лучшие, чем многопроходное сжатие с фиксированным битрейтом.
Проблема в том, что крайне редко нам
на самом деле безразличен битрейт - у меня для некоторых достаточно обычных HD-фильмов в режиме CRF=18 получалось 25-30 Мбит/с, что сравнимо с оригинальным потоком на BD. И вот тут встаёт проблема - как получить максимально возможное качество при
заранее заданном максимальном битрейте? Выясняется, что простого способа наложить это ограничение на режим фиксированного качества (т.е., "сделай фиксированное качество, какое получится, в рамках заданного битрейта") не получается технически. Так что волей-неволей приходится сжимать в режиме двухпроходного сжатия с фиксированным битрейтом.
Я экспериментировал: сжимал один и тот же видеофрагмент с CRF=18, потом этот же фрагмент - с тем битрейтом, который получился на первом шаге, двухпроходным сжатием. Субъективно разницы не увидел вообще, хотя глаз у меня на артефакты сжатия намётан хорошо. Объективно PSNR/SSIM - объективные метрики качества - различались максимум на 1-2%, причём разница могла быть в любую сторону, в зависимости от фрагмента и точных параметров сжатия.
Поэтому по факту, чтобы сэкономить место (для чего, собственно, я и делаю рипы), я выработал такой подход:
1. Выбираю наиболее типичные сцены из фильма (на 5-10-15 минут, в зависимости от длины и "одинаковости" фильма).
2. Сжимаю их в режиме фиксированного качества (CRF=18).
3. Если битрейт получается ниже ~15 Мбит/с - сжимаю весь фильм с таким битрейтом, независимо от прочих параметров.
4. Если битрейт больше - то смотрю битрейт исходного потока:
4а. Если он 20 Мбит/с или больше - то беру битрейт в ~ половину от этого и сжимаю двухпроходным сжатием.
4б. Если он меньше 20 Мбит/с - то ничего не сжимаю, а беру исходный поток.
5. После двухпроходного сжатия смотрю на получившийся SSIM и общее визуальное качество сжатия. При низком SSIM (< ~ 0.96) и/или наличии видимых артефактов (и наличии запаса по битрейту, конечно) - немного поднимаю битрейт и повторяю сжатие, иначе муксю исходный поток без пережатия.
6. В любом случае стараюсь, чтобы финальный битрейт (с аудио и т.п.) был не больше ~25 Мбит/с, иначе многие аппаратные плееры начинают затыкаться :-(.
Где-то так :-).
P.S. По времени (на моих настройках, конечно, YMMV) двухпроходное сжатие медленнее однопроходного с CRF на примерно 10%, а не в два раза, как можно было бы подумать :-(.