Открыть список
Как стать автором
Обновить

Комментарии 20

В целом хорошая статья, но я бы поспорил много с чем… Начиная с того что деблок 6 это запредельная жестокость :) кроме очень специфических случаев я бы не стал использовать значения выше 1, а с квадратами бороться лучше или увеличивая битрейт или используя параметр --force-cfr (перевод в режим кодирования с постоянным качеством) с параметрами --crf 18 --crf-max 22. Ну и самое главное — где на этой картинке можно задать самое главное для тщательного кодирования значение --subme?
И вообще Гуи — для слабаков и командной строки по-моему запускать честнее и правильнее :)
По поводу деблока я говорил, что по-умолчанию 0, компромисс 3, так что выбор есть. Особенно актуально на высоком квантизаторе.
Ключ subme — это Subpixel ME refinement, я описал его достаточно подробно. Сразу видно, что вы привыкли к консольному варианту.
И да, вы правы, GUI для тех, кто не хочет тратить время на изучение горы документации. И для них же мой пост. А насчёт честности спорный вопрос — поэтому юниксоиды и виндари совершенно из разных миров.
все-таки вряд ли Subpixel ME refinement это subme — там же всегда должны быть не менее 10?
там и есть 11, вы же читали, ну я надеюсь ;-)
О боже, какая ересь. У меня нет слов.

Если кто-то хочет научиться кодированию видео и не может в английский, делать это можно в неплохом разделе на рутрекере, где есть много интересных тем с адекватными людьми.

В статье же вредных советов примерно столько же, сколько и самих советов. Начиная от использования не-фреймаккуратного DirectShowSource (который вряд ли нужен с учетом того, что икс умеет открывать большинство файлов самостоятельно через ffms2), проходя через откровенно странную информацию (выставление QP Factor не имеет смысла с CQP ибо квантайзер и так постоянный) и заканчивая настройками, способными убить горы битрейта вникуда (CQP в x264 это маразм, ровно как и отключение анализа, такое мизерное количество B-кадров и т.д.).

используя параметр --force-cfr (перевод в режим кодирования с постоянным качеством)

cfr != crf. Cfr это постоянная частота кадров. --crf-max тоже в принципе бесполезен в абсолютном большинстве случаев, а кому полезен — сами знают об этом.

Ребят, я вас умоляю — разберитесь в теме хоть немного, прежде чем давать советы.
Весьма сумбурный комментарий, если я не прав, объясните толково, где, и почему правы вы.
Мне показалось, что вы не вполне представляете себе, что такое CQP. CQP не может быть маразмом в принципе, ибо без него кодирование вообще невозможно, разве только вы придумаете и запатентируете иной принцип.
CQP — один из нескольких алгоритмов рейтконтрола в x264. С чего вы решили, что кодирование без постоянного квантайзера невозможно?

С чего вы решили, что при количестве B-кадров больше 1-2 будут проблемы с вопроизведением? Может, перепутали с рефами? А на каких устройствах?

Почему вы решили, что значение --merange 8 будет оптимальным для всех источников? Это по меньшей мере в два раза меньше значения, используемого иксом по-умолчанию для всех пресетов.

Почему вы решили, что использовать deadzones лучше, чем trellis? Почему вы называете его сглаживающим фильтром, работающим по принципу Гаусса, которым он не является?

О части других ошибок я уже написал выше.

У меня вопрос: вы пробовали смотреть в то, какие настройки получается при использовании обычного --preset veryslow? Они там совершенно отличные от ваших и на это есть причина. ;) Я советую вам всё же подумать, почему ваш гайд отличается от абсолютного большинства рекоммендаций, исходящих как от самих разработчиков энкодера, так и от просто опытных пользователей. Кстати, вы пробовали читать хоть какие-то полноценные гайды? Потому что у меня складывается впечатление, что нет.
Ну наконец-то я понял, что вы имели ввиду. Вы говорите о CRF, а я писал про CQP (Constant Rate Factor). Это не одно и то же. Да, CRF использует CQP, но на своё усмотрение, вы пребываете в некотором неведении относительно результата, когда кодируете через CRF, а с CQP такого казуса не произойдёт — он всегда даёт стабильный результат. Поэтому я новичкам советую именно его. А вам советую разобраться в определениях и не писать попусту. Кодирование без квантизатора вообще действительно невозможно, если говорить о ядре кодека.

Насчёт B-кадров сложный вопрос — если вы проигрываете в том же месте, что и кодировали, то проблем быть не должно. К тому же блоки из таких кадров усложняют декодирование и ухудшают качество видео, так что новичкам опять же не рекомендуется. Выигрыш в размере можно получить и другим способом, а иной пользы от B-кадров просто нет.

--merange 8, я не утверждаю, что он оптимальный, но при больших значениях заметно снижение скорости, а размер почти тот же. Так что экспериментально доказать, какое значение будет лучшим, не представляется мне возможным. Новичкам парить мозги тоже не стоит.

Deadzone лучше чем Trellis, потому что я протестировал результаты обоих. Trellis увеличивает размер и не всегда улучшает качество, а Deadzone всегда сглаживает в заданных пределах и всегда уменьшает размер. Deadzone точно по Гауссу, потому что я знаю, как выглядят картинки после такого фильтра — другим способом этого не достичь. Каким образом работает Trellis — не знаю, а потому резонно задаться вопросом: «на кой он такой кактус?»

--preset veryslow. Я писал, что пробовал версию 2274 с другим интерфейсом, там была одна вкладка и выбор пресетов. Я попробовал некоторые и результат был отстойным. Далее пробовать не было желания. А заполнять команды вручную после выбора пресета — разве это не маразм? Уж лучше учится работать в консоли.

Говорите про полноценные гайды? Если они доходчиво написаны и экспериментально подтверждены — киньте ссылку, буду благодарен.
Нет, действительно, ересь. Статья про xvid у вас отличная, а эта — фигня. CQP в реальной жизни вообще не используется, все используют CRF вообще в любом случае. Неаккуратный DirectShowShource, как уже tp7 заметил, vfw, 1 bframe, 3 reframe, 6:6 deblock… Это действительно все чушь, вообще все.
Пожалуйста, уделите изучению x264 больше времени, покрутите пресеты. Тут все не так, как вы привыкли в xvid.
Обычно критиканы так и говорят: «всё у вас фигня, идите учите матчасть». А обосновать свою критику не могут. Я же в статье написал, почему я выбрал такие значения, и пользователь всегда может выбрать свои. Эта статья писалась не для вас, не для гуру, не для тех, кто сидит часами у консоли — она для тех, кто хочет получить нормальный результат быстро и без напряга.

CQP не может быть фигнёй в принципе — в данном случае это вам надо изучать матчасть, ибо вы, видимо, не знаете, зачем в x264 CQP, поэтому и говорите, что не используется.

DirectShowShource возможно хуже FFMpeg, но это мне простительно, статья вообще не об этом. Кстати, лагает он в основном на mkv, так что обычный пользователь может и не заметить разницы.

Вчера закодировал 100 минут фильм 1280х694 менее чем в 2 гига. Качество вполне пристойное. Если у вас получится лучше — скиньте настройки, буду благодарен.
Эта статья писалась не для вас, не для гуру, не для тех, кто сидит часами у консоли — она для тех, кто хочет получить нормальный результат быстро и без напряга.

Вы говорите так, будто я обычно все параметры выверяю. Я просто использую пресеты и tune, как правило. Конечно, когда релиз аниме делаю, что-то настраиваю, но это бывает редко.

CQP не может быть фигнёй в принципе — в данном случае это вам надо изучать матчасть, ибо вы, видимо, не знаете, зачем в x264 CQP, поэтому и говорите, что не используется.

Ну, возможно, я и не прав, это вполне вероятно, но я не видел ни одного человека, который бы использовал CQP, ведь CRF и придумали для того, чтобы управлять квантизатором в автоматическом режиме: на сложных сценах понижать значение, а на простых — повышать.
CQP можно использовать, например, если вам нужно передать видеоматериал, который в дальнейшем нужно редактировать, через интернет, но я даже в этом случае использую CRF.

DirectShowShource возможно хуже FFMpeg, но это мне простительно, статья вообще не об этом.

Он не то, что хуже, а он не фрейм-аккуратный. Т.е. может выйти так, что вы видите одно при обрезке и склейке, например, а в результате у вас будет другое (небольшое смещение по времени).

Вчера закодировал 100 минут фильм 1280х694 менее чем в 2 гига. Качество вполне пристойное. Если у вас получится лучше — скиньте настройки, буду благодарен.

Ну, вы, наверное, все еще живете в мире xvid 704×396 avi dvdrip мокрые письки скачать бесплатно, раз считаете такой результат чем-то невероятным.
serv.valdikss.org.ru/Downloads/zaletchiki-stream-v2.mp4
Это не лучший пример, но так я обычно кодирую видео для вещания по сети. 1 час 20 минут, размер — 743 мегабайта. Параметры кодирования вы можете посмотреть через mediainfo, например.
Про эксперимент с пресетами я писал в комменте выше.

Ссылка на стрим не работает у меня. Если найдёте приличные настройки — скиньте. А вообще сильно сжать не проблема. Я кодировал в HD и качество получилось неплохое, при тех же требованиях сжать ещё больше — вот интересная задачка.

Если многие не используют CQP — это меня заинтересовало. Неужели мало кто понимает, что это за штука?
Это FTP-ссылка, если вы ее выделяете.

Файл разрешением 1280×720, параметры такие:
cabac=1 / ref=8 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=5 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=26.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Давайте устроим эксперимент просто. Я буду кодировать пресетами и тюнами, а вы — как хотите, один и тот же видеоматериал. Вот прямо сейчас такой эксперимент проведем.
Предлагаю кодировать вот это:
ftp://serv.valdikss.org.ru/Anime/K-ON!/K-ON!_OP1_%5B1080p,BluRay,x264%5D_-_THORA%20v2.mkv
Согласны?
Не имею доступа к серверу. Вы сначала объясните суть — какой размер и длительность, как проверять качество? Если длинный кусок, я не буду тратить время. Если вы с пресетами добавляете отдельные ключи — это уже другой разговор. Если диалог затягивается — пишите в лику.
Странно, у вас вообще не открывается FTP?
Файл размером 145МБ, 1 минуту 30 секунд идет.
Давайте в ЛС.
кстати да — торможу насчет crf и виноват — давно не кодировал и все позабылось…
Решил внять рекомендациям и попробовать закодировать в CRF. Подвох обнаружился, когда я смекнул, что значит «динамическая сцена» с точки зрения кодера. В VirtualDub я изменил частоту кадров и кодировал с теми же настройками CRF. В итоге стало ясно, что то же самое видео с меньшей частотой кадров воспринимается кодеком как slow-mo, а с большей частотой как «динамическая сцена». И естественно, что в первом случае размер файла стал больше, а во втором меньше. Такой фокус с CQP не проходит, поэтому это ещё одна причина не кодировать в CRF — слишком непредсказуемый результат.
Нашёл ещё один лёгкий способ открытия неавишных файлов в VirtualDub. Здесь есть ссылки на Virtualdub FFMpeg Input Plugin. Только подберите нужную версию, а то у меня v0.7 пошла, а v0.8 нет. Из архива файл FFInputDriver.vdplugin и папку ffdlls нужно положить в папку plugins Virtualdub'а и всё. Пробовал на mkv, mp4, mov, полный список форматов указан на сайте.
Можно использовать способ FFMpeg через AviSynth, но новичкам придётся попотеть.
Собственная поправка. Дополнительные тесты показали, что блок Analysis с птичками frames partitions улучшает качество и даже уменьшает размер. Так что включайте все птички.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.