LINUX.ORG.RU
ФорумTalks

Что физически делает кодек на разных проходах при 2 проходном кодировании?

 


0

1

На первом проходе ffmpeg оставляет какой-то .log файлик, внутри которого какая-то похожая на base64 портянка «многабукаф». На втором проходе он этот .log как-то юзает.

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

Это зависит от применяемого алгоритма.

JacobTwoTwo
()

На первом проходе он оценивает сложность и динамичность картинки, а втором - кодирует.

lenin386 ★★★★
()

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

ключевые кадры выбирает?

а на втором подходе строит дифф между ними

n_play
()
Последнее исправление: n_play (всего исправлений: 1)

самое банальное, что делают старые кодеки - расставляют ключевые кадры именно при смене сцены. Дальше - считают, есть-ли смысл передать содержимое квадрата через изменение, или лучше полностью. Сейчас там ещё заморочки с градиентами, фигурами, и прочей мутью.

alexmaru
()
Ответ на: комментарий от alexmaru

А еще компенсация движения. Простого ответа на вопрос ТС-а нет, потому что он действительно первый проход должен много что оценить, построить статистику, определить области изменения, выбрать лучшие вектора компенсации движения, и наконец на второй прогон закодировать.

I-Love-Microsoft ★★★★★
()

И, раз про «точно», ты про какой кодек вообще говоришь? Там многое что происходит. Я вот в фоновом режиме читаю периодически книжку по H264, так вот там очень очень много чего происходит. Так просто не ответить.

И да, какая цель стоит? Что тебе с этого log файла? И странно что при кодировании всё не в памяти, износ носителя при кодировании...

I-Love-Microsoft ★★★★★
()

В x264 используй constant rate factor, и не ипи себе мозг всякими устаревшими технологиями подгонки результата сжатия под болванку.

shahid ★★★★★
()

Что первый проход меряет и как этот замер юзает второй проход?

Куда интересней про 3-проходное кодирование, или это таки для совсем-совсем видеофилов?

Moderators ★★
()

Как я это понимаю:

На первом проходе кодек выполняет поиск векторов движения и подсчитывает размер получившегося видео с компенсированным движением но без применения квантования (отбрасывания высокочастотных и прочих «не важных» деталей изображения). То-есть, вычисляет, какой будет размер каждого кадра, если пожать видео без потери качества (в режиме lossless).

На втором проходе кодек кроме компенсации движения применяет квантование (отбрасывание деталей), а коэффициент квантования (квантайзер) выбирает на основе полученных на первом проходе размеров кадров так, чтобы уложиться в требуемый размер видео.

cdslow ★★
()
Ответ на: комментарий от Moderators

А три прохода - это для кривых кодеков, которые даже зная статистику с первого прохода не могут уложиться в заданный размер (во времена DivX такие были).

cdslow ★★
()
Ответ на: комментарий от cdslow

А три прохода - это для кривых кодеков

Так у x264 и x265 и есть 3 прохода. Это на XviD разве, 3-проходным кодированием баловались?

Moderators ★★
()
Ответ на: комментарий от Moderators

Зачем для x264 и x265 три прохода - я не знаю (возможно, в моих знаниях тут дыра). А для ранних версий то-ли XviD то-ли DivX трёхпроходное кодирование точно использовали.

cdslow ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.