Объяснение мелодии x264

41

Выполнение этой команды:

ffmpeg -i xr.mp4 -tune ya zu.mp4

показывает возможные значения мелодии для x264 и, в свою очередь, FFmpeg:

[libx264 @ 0000000002167100] Возможные мелодии: зернистая анимация, зерно, фоторепортаж, пснр, ссим
                                             fastdecode zerolatency

Однако я не смог найти ссылку, объясняющую, что на самом деле делают эти значения.

Стивен Пенни
источник

Ответы:

63

Вот что делают моды:

  • film - Предназначен для фильмов с высоким битрейтом / высоким качеством. Здесь используется нижняя деблокировка.
  • animation- предназначен для мультфильмов и т. Д., Где деблокирование усилено для компенсации больших плоских областей. Больше опорных кадров используются.
  • grain - это следует использовать для материала, который уже зернистый. Здесь зерно не будет отфильтровано так сильно.
  • stillimage - как следует из названия, он оптимизирует кодирование неподвижных изображений за счет снижения фильтра удаления блочности.
  • psnrи ssim- это режимы отладки для оптимизации только для хороших значений PSNR и SSIM. Хотя лучшие показатели не обязательно означают лучшее качество.
  • fastdecode - отключает CABAC и фильтр деблокирования в цикле, чтобы обеспечить более быстрое декодирование на устройствах с более низкой вычислительной мощностью.
  • zerolatency - оптимизация для быстрого кодирования и потоковой передачи с низкой задержкой

Вы можете увидеть подробные параметры, примененные к каждой мелодии x264 --fullhelp:

--tune <string>         Tune the settings for a particular type of source
                          or situation
                              Overridden by user settings.
                              Multiple tunings are separated by commas.
                              Only one psy tuning can be used at a time.
                              - film (psy tuning):
                                --deblock -1:-1 --psy-rd <unset>:0.15
                              - animation (psy tuning):
                                --bframes {+2} --deblock 1:1
                                --psy-rd 0.4:<unset> --aq-strength 0.6
                                --ref {Double if >1 else 1}
                              - grain (psy tuning):
                                --aq-strength 0.5 --no-dct-decimate
                                --deadzone-inter 6 --deadzone-intra 6
                                --deblock -2:-2 --ipratio 1.1 
                                --pbratio 1.1 --psy-rd <unset>:0.25
                                --qcomp 0.8
                              - stillimage (psy tuning):
                                --aq-strength 1.2 --deblock -3:-3
                                --psy-rd 2.0:0.7
                              - psnr (psy tuning):
                                --aq-mode 0 --no-psy
                              - ssim (psy tuning):
                                --aq-mode 2 --no-psy
                              - fastdecode:
                                --no-cabac --no-deblock --no-weightb
                                --weightp 0
                              - zerolatency:
                                --bframes 0 --force-cfr --no-mbtree
                                --sync-lookahead 0 --sliced-threads
                                --rc-lookahead 0
llogan
источник
1
У меня сложилось впечатление, что --tune film - для зернистого материала, но из того, что вы говорите, это синоним высококачественного материала; в принципе, если мои источники всегда отличного качества, то я всегда должен использовать эту мелодию. И затем - Tune зерна должны быть использованы для таких вещей, как очень старый материал фильма. Это верно?
Флорин Андрей
6
@Florin Оба предназначены для высококачественных источников, но --tune filmотфильтруют часть зерна и --tune grainсохранят больше. AIUI последнее следует использовать только в том случае, если зернистость является важной частью визуальных элементов, которые все еще могут быть заметны при заданных настройках.
Тобу
7
--tune filmпредназначен для контента в реальном времени: всего, что снято на камеру, в отличие от анимации чел или созданных компьютером текстов / диаграмм. Он даже подходит для несколько реалистичной 3D-анимации, так что не позволяйте «фильму» расстаться с вами. Он работает для зернистых и не зернистых источников и уравновешивает задержку зерна с общим качеством на битрейт, в то время как --tune grainпопытается сохранить зерно любой ценой; полезно, если по какой-то причине необходимо хранить зерно. --tune filmделает НЕ только помощь для обеспечения высокой скорости передачи ( на самом деле, тюнинги , как правило, имеют больше влияния на низких битрейтах в целом).
Томасруттер
8
Примечание: «stillimage» предназначено для людей, пишущих инструменты, использующие x264 для кодирования одного неподвижного кадра в качестве альтернативы JPEG или JPEG2000. Тем не менее, это может быть полезно для людей, которые делают видео, которое по сути представляет собой слайд-шоу из неподвижных изображений, где статическое изображение отображается неизменным во многих кадрах, прежде чем перейти к следующему изображению, если оно буквально является статическим слайд-шоу без переходов. Смысл «неподвижного изображения» заключается в том, что он повышает определенную психологическую оптимизацию, которая улучшит отдельные кадры за счет вреда движению.
Томасруттер