HEVC(H.265) и x265

Страницы :   Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
Ответить
 

jеnsen

Помощник модератора

Стаж: 14 лет 7 месяцев

Сообщений: 2961

jеnsen · 29-Ноя-21 15:56 (3 года назад)

dima0byte писал(а):
82246250862 kb/s
https://rutr.life/forum/viewtopic.php?p=81561443#81561443
Написанное мной там также справедливо не для аниме контента. Почитайте, может поймёте, почему безумное сжатие "лишь бы меньше" хуже, чем старомодные рипы в хвид.
[Профиль]  [ЛС] 

dima0byte

Стаж: 17 лет 1 месяц

Сообщений: 15


dima0byte · 07-Дек-21 09:26 (спустя 7 дней)

jensen123321
Спасибо за пищу для ума, интересный результат, получается я посмотрел аниме версию Bladerunner'а (хорошо знать про такую особенность x265 на низких битрейтах), забавно )))
[Профиль]  [ЛС] 

DaveScream

Стаж: 15 лет 6 месяцев

Сообщений: 46


DaveScream · 07-Янв-22 01:12 (спустя 30 дней)

давно искал тему где бы люди делились опытом по выбору оптимальных параметров в кодеках и вот нашёл эту ветку.
Но месяц назад наткнулся на статью, рассказывающую про режимы кодирования (CBR, VBR, ABV, CRF).
Раньше я сжимал h265, подбирая оптимальный средний битрейт, который на мой взгляд бы подошёл. Из статьи понял, что для домашнего архива лучше всего подходит режим crf. Не нужно перед сжатием отсматривать видео и подбирать битрейт так, чтобы было нужное соотношение место/качество. Просто решаешь насколько важно тебе видео и выставляешь нужный crf. Если что-то не особо важное, то ресайз в 1080 и crf 31. Если что-то важное, то оригинальное разрешение и crf 29.
А по поводу дополнительных настроек и их бесконечного тюнинга, я постепенно прихожу к выводу, что всё уже создано за нас разработчиками в соответствующих пресетах кодирования. Если не жалко времени - ставишь slow и там будут самые оптимальные настройки. Если достаточно обычного результата - я обычно кодирую в medium.
В итоге пришёл к тому, что нужно взять Xeon E5 2699v3 с 18ю ядрами и кодировать в x265 используя режим crf. Единственное над чем нужно подумать это разрешение и величина crf.
Хотел спросить вашего мнения по такому подходу и по поводу av1 и x266 - есть в них смысл на сегодняшний день?
[Профиль]  [ЛС] 

johnowenemmet

Стаж: 14 лет 10 месяцев

Сообщений: 124

johnowenemmet · 07-Янв-22 13:32 (спустя 12 часов)

что-то важное и crf 29 -
[Профиль]  [ЛС] 

volta_john

Стаж: 14 лет 6 месяцев

Сообщений: 780

volta_john · 07-Янв-22 19:10 (спустя 5 часов)

DaveScream писал(а):
Если что-то важное, то оригинальное разрешение и crf 29.

Спасибо, хорошо посмешили
[Профиль]  [ЛС] 

jеnsen

Помощник модератора

Стаж: 14 лет 7 месяцев

Сообщений: 2961

jеnsen · 07-Янв-22 19:30 (спустя 20 мин.)

DaveScream
https://rutr.life/forum/viewtopic.php?t=6098097#81866887
Первые 3 абзаца.
[Профиль]  [ЛС] 

Adventurer_Kun

Top Seed 01* 40r

Стаж: 12 лет 5 месяцев

Сообщений: 4943

Adventurer_Kun · 07-Янв-22 19:30 (спустя 13 сек.)

Цитата:
Если что-то важное, то оригинальное разрешение и crf 29
[Профиль]  [ЛС] 

maxmister

Старожил

Стаж: 14 лет 5 месяцев

Сообщений: 299

maxmister · 02-Янв-23 03:52 (спустя 11 месяцев)

как нагрузить процессор на 100% ? При кодирование в разрешение ниже 720p, процессор нагружен только на 15%.
[Профиль]  [ЛС] 

Koo1

Стаж: 15 лет 7 месяцев

Сообщений: 1139


Koo1 · 02-Янв-23 16:31 (спустя 12 часов)

maxmister
у вас там 64-ядерник?
[Профиль]  [ЛС] 

maxmister

Старожил

Стаж: 14 лет 5 месяцев

Сообщений: 299

maxmister · 03-Янв-23 11:58 (спустя 19 часов, ред. 08-Янв-23 03:55)

Koo1 писал(а):
84113376maxmister
у вас там 64-ядерник?
нет.
[Профиль]  [ЛС] 

Аndy

Moderator senior

Стаж: 16 лет 4 месяца

Сообщений: 52902

Аndy · 20-Июн-23 20:16 (спустя 5 месяцев 17 дней)

А есть понимание каким несложным видеоредактором можно склеить видео и наложить аудиодорожку с видеорегистратора?
Код:

Video: HVC1 2848x1600 30fps 24004kbps [V: SStar Video (hevc main L5.0, yuv420p, 2848x1600, 24004 kb/s)]
Audio: AAC 16000Hz mono 34kbps [A: SStar Audio (aac lc, 16000 Hz, mono, 34 k
b/s)]
Movavi не видит картинку
WinX HD Video Converter Deluxe, UkeySoft Video Converter 11.0.0, VideoRedo не могут накладывать аудио
[Профиль]  [ЛС] 

StriderX

Стаж: 13 лет 2 месяца

Сообщений: 35


StriderX · 15-Сен-23 19:53 (спустя 2 месяца 24 дня)

Подскажите плиз как с FFMPEG вывести для libx265 (или параметр 265 кодека командной строки) дополнительные статистики, например ref фреймы, режим анализа векторов движения?
Только не на 10 страниц.
Также ищу инфу о анализе статистики Avg QP фреймов (я знаю что есть тема по x264, но непонятно насколько она применима к x265).
Есть ли где внятное обьяснение что такое QP для I,B,P фреймов?
[Профиль]  [ЛС] 

StriderX

Стаж: 13 лет 2 месяца

Сообщений: 35


StriderX · 30-Сен-23 23:31 (спустя 15 дней, ред. 30-Сен-23 23:31)

Действительно ли конвертирует цвета 265 кодек (libx265) в новое цветовое пространство при указании параметров colorprim/transfer/colormatrix и перекодировке (например из Mpeg4)?
Или только прописывает новое цветовое пространство в метаданные не пересчитывая сами цвета?
[Профиль]  [ЛС] 

jеnsen

Помощник модератора

Стаж: 14 лет 7 месяцев

Сообщений: 2961

jеnsen · 01-Окт-23 16:02 (спустя 16 часов)

StriderX
Примите за истину, что любой кодек может только обрабатывать (кодировать) то, что получает на входе без изменений. Никакого преобразования не происходит.
Указывая другую матрицу и тд вы просто заставите его вывести видео в ней путем апконверта. Тоесть, если видео 709, а вывод 2020, вы получите 709 матрицу внутри 2020 (покрытие 2020 шире, чем у 709). И тд и тп.
[Профиль]  [ЛС] 

StriderX

Стаж: 13 лет 2 месяца

Сообщений: 35


StriderX · 01-Окт-23 17:51 (спустя 1 час 48 мин., ред. 01-Окт-23 17:51)

jеnsen писал(а):
85271818Указывая другую матрицу и тд вы просто заставите его вывести видео в ней путем апконверта.
Спасибо за ответ!
"его" тут - это только декодер?
На процесс кодирования другая матрица не повлияет?
Т.е. низкоуровневые значения цветов все равно останутся в старом пространстве?
Может подскажете тему по цветовым пространствам?
Поиском не нашел ничего тут.
jеnsen писал(а):
85271818StriderX
Тоесть, если видео 709, а вывод 2020, вы получите 709 матрицу внутри 2020 (покрытие 2020 шире, чем у 709). И тд и тп.
Вы возможно хотите тут сказать что расширения цветового пространства не произойдет?
Это конечно понятно, что инфы о цвете в исходнике не добавится.
А что будет при если указать BT907 для исходника в smpte170m (анаморфный DVD)?
[Профиль]  [ЛС] 

jеnsen

Помощник модератора

Стаж: 14 лет 7 месяцев

Сообщений: 2961

jеnsen · 01-Окт-23 17:55 (спустя 4 мин., ред. 01-Окт-23 17:55)

StriderX писал(а):
85272249"его" тут - это только декодер?
Кодер. Утрируя, берется 709 матрица, добавляются пустые значения для соответствия 2020 и кодируется. Это как засунуть в коробку с 7 цветными карандашами еще 10 без грифелей. Типа как цветов больше, но нет.
На процесс кодирования это не влияет.
За темы не подскажу.
Неправильные указания матрицы это не так страшно, как неправильное указание трансфера или цветовой палитры (Primary Colors) - там возможны искажения цветов.
[Профиль]  [ЛС] 

StriderX

Стаж: 13 лет 2 месяца

Сообщений: 35


StriderX · 01-Окт-23 22:01 (спустя 4 часа, ред. 01-Окт-23 22:01)

jеnsen писал(а):
85272300
StriderX писал(а):
85272249"его" тут - это только декодер?
Неправильные указания матрицы это не так страшно, как неправильное указание трансфера или цветовой палитры (Primary Colors) - там возможны искажения цветов.
А что значит "неправильные", если у источника smpte170m (кот вероятно ближе к BT601), а насколько я понял у всех мониторов сейчас 709?
Какая матрица тут правильная для энкоудера?
Если на процесс кодирования указание матрицы не влияет, то зачем энкоудеру вообще параметры для указания матрицы итд?
Эти параметры описывают пространство источника или целевого видео, или целевого устройства воспроизведения?
[Профиль]  [ЛС] 

jеnsen

Помощник модератора

Стаж: 14 лет 7 месяцев

Сообщений: 2961

jеnsen · 02-Окт-23 02:22 (спустя 4 часа)

StriderX писал(а):
85273282"неправильные"
Не те, что указаны в метаданных исходного видео.
StriderX писал(а):
85273282Какая матрица тут правильная для энкоудера?
Та, что указана в метаданных исходного видео. Тоесть ничего менять не нужно.
StriderX писал(а):
85273282Если на процесс кодирования указание матрицы не влияет, то зачем энкоудеру вообще параметры для указания матрицы итд?
Эти параметры описывают пространство источника или целевого видео, или целевого устройства воспроизведения?
Эти параметры описывают то, что содержится в конкретном видео. Исходя их них вы можете выбрать устройство воспроизведения в том числе. И ваше устройство знает, что и как обрабатывать благодаря этому.
[Профиль]  [ЛС] 

StriderX

Стаж: 13 лет 2 месяца

Сообщений: 35


StriderX · 03-Окт-23 02:15 (спустя 23 часа, ред. 03-Окт-23 02:15)

jеnsen писал(а):
85274015
StriderX писал(а):
85273282"неправильные"
Та, что указана в метаданных исходного видео. Тоесть ничего менять не нужно.
Спасибо за помощь, теперь понятно.
Не подскажите какие параметры наиболее актуальны для максимального сжатия презентаций с текстом в 265? (обычно слайды записаны прямо с экрана, т.е. не на камеру и качество текста хорошее).
Т.е. главное сохранить текст + иногда графики (обычно из четких линий), остальное можно жать в хлам.
Там переодически вставки с челом - на это имхо и идет битрейт (эти куски можно хоть с CRF 51 жать), сами слайды обычно статичные.
Понятно можно пожать кусками по отдельности с разными настройками, но слишком много ручного времени на это надо (много таких презентаций/лекций).
[Профиль]  [ЛС] 

jеnsen

Помощник модератора

Стаж: 14 лет 7 месяцев

Сообщений: 2961

jеnsen · 03-Окт-23 02:51 (спустя 35 мин.)

StriderX
Любой, устраивающий вас пресет, затем --bframes 16 --ref 4 (или 6 для 720) --b-pyramid --b-adapt 2 --hevc-aq. А по поводу --crf или 2pass это по ходу дела решите, смотря, что устроит опять же.
[Профиль]  [ЛС] 

johnowenemmet

Стаж: 14 лет 10 месяцев

Сообщений: 124

johnowenemmet · 04-Окт-23 05:05 (спустя 1 день 2 часа)

StriderX писал(а):
главное сохранить текст + иногда графики (обычно из четких линий), остальное можно жать в хлам.
ну и вгоняйте то, что нужно "сжать в хлам" через --zones, параметр q подберёте по тесту, но в принципе по опыту 36 для финальных титров в фильмах используется и обычно вполне читаемо выходит, для статики возможно ещё больше выставить.
[Профиль]  [ЛС] 

StriderX

Стаж: 13 лет 2 месяца

Сообщений: 35


StriderX · 11-Окт-23 21:10 (спустя 7 дней, ред. 11-Окт-23 21:10)

johnowenemmet писал(а):
ну и вгоняйте то, что нужно "сжать в хлам" через --zones, параметр q подберёте по тесту, но в принципе по опыту 36 для финальных титров в фильмах используется и обычно вполне читаемо выходит, для статики возможно ещё больше выставить.
Да так было бы самое оптимальное, но нужные слайды/код и то, что нужно "сжать в хлам" постоянно чередуются, и таких презентаций много. (Грубо) 30 секунд показывается слайд (может быть иногда движущийся код), потом 30 секунд показывается чел со статичным фоном и так на час каждая презентация.
Если бы определение этих "сжать в хлам" --zones можно было бы как-то автоматизировать скриптом...
Там везде один и тот же фон в кусках кот. можно "сжать в хлам" (может только с немного разных ракурсов, все снимается в одной и той же комнате). Чел в основном только руками двигает.
[Профиль]  [ЛС] 

StriderX

Стаж: 13 лет 2 месяца

Сообщений: 35


StriderX · 22-Окт-23 02:13 (спустя 10 дней)

Можно ли сэкономить в h265 за счет компактного pix_fmt?
Т.е. есть бывает ли pix_fmt МЕНЬШЕ 8 бит?
Интересует в основном текст на слайдах - там и 4 бита хватит (может даже меньше).
[Профиль]  [ЛС] 

useroil

Стаж: 14 лет 10 месяцев

Сообщений: 41


useroil · 16-Ноя-23 23:12 (спустя 25 дней, ред. 16-Ноя-23 23:12)

Koo1 писал(а):
81865111jensen123321
Гуглу, как минимум, на Ютубе в браузере у меня где-то 60% видео VP9, 30 AV1 и только 10 264, при том компу почти 10 лет и аппаратного ускорения 265 и VP9 нет
Вот тут про апаратное ускорение спрашивали про h265, оно есть и хорошо работает
кодирование
[Профиль]  [ЛС] 

maxmister

Старожил

Стаж: 14 лет 5 месяцев

Сообщений: 299

maxmister · 04-Май-24 04:59 (спустя 5 месяцев 17 дней)

как запустить проход кодирования lossless с кодеком x265 ?
[Профиль]  [ЛС] 

jеnsen

Помощник модератора

Стаж: 14 лет 7 месяцев

Сообщений: 2961

jеnsen · 04-Май-24 22:46 (спустя 17 часов)

maxmister писал(а):
86219819lossless
ключ lossless используйте
[Профиль]  [ЛС] 

johnowenemmet

Стаж: 14 лет 10 месяцев

Сообщений: 124

johnowenemmet · 17-Май-24 11:20 (спустя 12 дней, ред. 17-Май-24 11:20)

версию 3.6 кодека кто потестил уже?
Изменения и дополнения в версии 3.6
*************
Release Notes
*************
Version 3.6
===========
Release date - 4th April, 2024.
New feature
-----------
1. Segment based Ratecontrol (SBRC) feature
2. Motion-Compensated Spatio-Temporal Filtering
3. Scene-cut aware qp - BBAQ (Bidirectional Boundary Aware Quantization)
4. Histogram-Based Scene Change Detection
5. Film-Grain characteristics as a SEI message to support Film Grain Synthesis(FGS)
6. Add temporal layer implementation(Hierarchical B-frame implementation)
Enhancements to existing features
---------------------------------
1. Added Dolby Vision 8.4 Profile Support
API changes
-----------
1. Add Segment based Ratecontrol(SBRC) feature: "--[no-]sbrc".
2. Add command line parameter for mcstf feature: "--[no-]mctf".
3. Add command line parameters for the scene cut aware qp feature: "--scenecut-aware-qp" and "--masking-strength".
4. Add command line parameters for Histogram-Based Scene Change Detection: "--hist-scenecut".
5. Add film grain characteristics as a SEI message to the bitstream: "--film-grain <filename>"
6. cli: add new option --cra-nal (Force nal type to CRA to all frames expect for the first frame, works only with keyint 1)
Optimizations
---------------------
ARM64 NEON optimizations:- Several time-consuming C functions have been optimized for the targeted platform - aarch64. The overall performance increased by around 20%.
SVE/SVE2 optimizations
Bug fixes
---------
1. Linux bug to utilize all the cores
2. Crash with hist-scenecut build when source resolution is not multiple of minCuSize
3. 32bit and 64bit builds generation for ARM
4. bugs in zonefile feature (Reflect Zonefile Parameters inside Lookahead, extra IDR issue, Avg I Slice QP value issue etc..)
5. Add x86 ASM implementation for subsampling luma
6. Fix for abrladder segfault with load reuse level 1
7. Reorder miniGOP based on temporal layer hierarchy and add support for more B frame
8. Add MacOS aarch64 build support
9. Fix boundary condition issue for Gaussian filter
[Профиль]  [ЛС] 

jеnsen

Помощник модератора

Стаж: 14 лет 7 месяцев

Сообщений: 2961

jеnsen · 17-Май-24 22:25 (спустя 11 часов, ред. 17-Май-24 22:25)

johnowenemmet
New feature
-----------
1. Segment based Ratecontrol (SBRC) feature
2. Motion-Compensated Spatio-Temporal Filtering
Кароче первое устанавливает кейинт и кеймин одинаковыми и нафиг не нужна поэтому для обычного кодирования.
Вторая MCSTF can be enabled with frame thread = 1 only, то есть с принудительным указанием F 1. Выдает 0.14 фпс и чот в таком виде она тоже не нужна.
Выдает F 1 0.10 фпс на 4к супротив 1.28 фпс с F 16 к примеру.
Scenecut ранее мог вызвать мазню на хрома плейнах (u, v). Сейчас его исправили вроде как, но я не тестил.
Ну а так + общий рефакторинг кода и тд дал прирост к скорости кодирования у 3.6, небольшой, но он есть.
[Профиль]  [ЛС] 

johnowenemmet

Стаж: 14 лет 10 месяцев

Сообщений: 124

johnowenemmet · 21-Сен-24 13:34 (спустя 4 месяца 3 дня)

Они уже 4-ю версию выпустили оказывается. Посмотрел изменения и не впечатлился. Может хоть прирост скорости будет небольшой.
скрытый текст
New feature
-----------
1. Alpha Channel feature.
2. Screen Content Coding (SCC).
3. MV-HEVC feature.
Enhancements to existing features
---------------------------------
1. Added support for the VMAF v3.x.
API changes
-----------
1. Add command line parameter for Alpha Channel feature :option:`--alpha`.
2. Add command line parameter for SCC feature :option:`--scc 1`.
3. Add command line parameters for the MV-HEVC feature :option:`--multiview-config "multiview_config.txt"`.
Optimizations
---------------------
1. Arm SIMD optimizations: Several time-consuming scalar C functions now have SIMD implementations on Arm platforms. Existing Arm SIMD implementations have also been optimized. These optimizations result in up to 57% faster encoding compared to release 3.6.
2. Arm SIMD optimizations include use of Armv8.4 DotProd, Armv8.6 I8MM, and Armv9 SVE2 instruction set extensions. The following algorithms now have optimized SIMD implementations: SAD, SSE, DCT, SAO, convolution, quantization, intra_planar, intraFilter, intrapred DC and IDCT16x16.
Bug fixes
---------
1. Fix for y4m pipe input broken.
2. Fix SCC crash on multipass encode.
3. Fix mcstf when :option:`--bframes` value was less than 5.
4. Fix lowpass DCT for high bit depth.
5. Added build support for Visual Studio 17.
6. Fix issue in default code flow and memory leak.
7. Framethreads tuning for Windows ARM devices.
8. Fix scc crash on multipass encode.
[Профиль]  [ЛС] 

jеnsen

Помощник модератора

Стаж: 14 лет 7 месяцев

Сообщений: 2961

jеnsen · 02-Окт-24 01:21 (спустя 10 дней, ред. 02-Окт-24 01:21)

johnowenemmet
3.6 на дефолтном тестовом отрезке с кучей динамики, фильтрацией и тд во время настройки параметров для очередного рипа аниме:
encoded 1660 frames (2.26 fps), 5387.88 kb/s, Avg QP:10.47
4.0 там же:
encoded 1660 frames (2.37 fps), 5387.88 kb/s, Avg QP:10.47
Снова, как и у версии 3.6 в свое время, дал прирост к скорости кодирования, небольшой, но он есть.
если кому интересны настройки кодирования из тестов выше
Код:
--rdpenalty 0 --no-tskip-fast --splitrd-skip --sao --selective-sao 4 --limit-sao --sao-non-deblock --no-rect --qp-adaptation-range 4 --amp --no-cutree --cu-lossless --limit-modes --limit-refs 2 --rc-lookahead 240 --no-hist-scenecut --no-strong-intra-smoothing --analyze-src-pics -F 16 --open-gop --cbqpoffs -2 --crqpoffs -2 --lookahead-slices 0 --no-early-skip --tskip --rskip 0 --keyint 240 --ref 4 --bframes 06 --b-pyramid --b-adapt 2 --aq-mode 3 --aq-strength 1.00 --deblock 1:-1 --tu-intra-depth 2 --refine-intra 4 --dynamic-refine --tu-inter-depth 2 --me 3 --wpp --subme 7 --crf 15 --weightp --weightb --rd 5 --rdoq-level 2 --psy-rdoq 2.7 --refine-mv 3 --temporal-mvp --max-merge 5 --qcomp 0.72 --info --colorprim bt709 --transfer bt709 --colormatrix bt709 --output "08.hevc" --csv-log-level 0 --csv "01.txt" --y4m -
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error