[не удалять] Как выбрать оптимальный битрейт и ключевые параметры для рипа в x264 [архив №1]

Страницы :  1, 2, 3 ... 98, 99, 100  След.
Тема закрыта
 

GarfieldX

Техпомощь раздела Кино, Видео и TV

Стаж: 19 лет 9 месяцев

Сообщений: 4016

GarfieldX · 05-Авг-08 14:35 (16 лет 3 месяца назад, ред. 01-Окт-10 01:39)

Тема была выделена из Как выбрать оптимальный битрейт и ключевые параметры для рипа в x264
shellgen


Как руки дойдут - добавлю в тему по пересжатию видео.
shellgen
Не против?
[Профиль]  [ЛС] 

shellgen

VIP (Адм)

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

Сообщений: 6417

shellgen · 05-Авг-08 14:38 (спустя 2 мин.)

GarfieldX
конечно не против.
[Профиль]  [ЛС] 

dylobko

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

Сообщений: 1018


dylobko · 06-Авг-08 20:50 (спустя 1 день 6 часов)

Очень познавательно, буду применять в своих рипах
[Профиль]  [ЛС] 

suntrick

Стаж: 17 лет

Сообщений: 221

suntrick · 09-Авг-08 17:17 (спустя 2 дня 20 часов)

shellgen если честно не уловил зависимости между процентами битрейта пунктами ЦРФ
12,5% есть 1 пункт, но
6 пунктов есть 50%
[Профиль]  [ЛС] 

shellgen

VIP (Адм)

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

Сообщений: 6417

shellgen · 09-Авг-08 17:21 (спустя 4 мин., ред. 09-Авг-08 17:21)

suntrick
дык процент капитализированный.
зы: чуть подправил, чтобы было понятнее. не на 50%, а в два раза.
[Профиль]  [ЛС] 

suntrick

Стаж: 17 лет

Сообщений: 221

suntrick · 09-Авг-08 18:28 (спустя 1 час 7 мин.)

shellgen
[Профиль]  [ЛС] 

newsky

Top User 25

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

Сообщений: 405

newsky · 10-Авг-08 07:04 (спустя 12 часов)

Цитата:
но указать не битрейт и не --pass ?, а например --crf 18 (важно, что указываем не -q, а именно --crf)
Как можно добавить данные строки в MeGUI для двухпроходного кодирования например в эти настройки кодирования?
Код:
program --pass 2 --bitrate 8000 --stats ".stats" --level 4.1 --keyint 24 --min-keyint 1 --ref 3 --mixed-refs --bframes 3 --b-rdo --bime --weightb --direct auto --subme 6 --partitions p8x8,b8x8,i4x4,i8x8 --8x8dct --ipratio 1.1 --pbratio 1.1 --vbv-bufsize 30000 --vbv-maxrate 38000 --qcomp 0.5 --me umh --threads auto --thread-input --progress --no-psnr --no-ssim --output "output" "input" --mvrange 511 --aud --nal-hrd --sar 1:1
[Профиль]  [ЛС] 

shellgen

VIP (Адм)

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

Сообщений: 6417

shellgen · 10-Авг-08 12:23 (спустя 5 часов)

newsky
выглядеть будет примерно так:
Цитата:
program --crf 18 --level 4.1 --keyint 24 --min-keyint 1 --ref 3 --mixed-refs --bframes 3 --b-rdo --bime --weightb --direct auto --subme 6 --partitions p8x8,b8x8,i4x4,i8x8 --8x8dct --ipratio 1.1 --pbratio 1.1 --me umh --threads auto --thread-input --progress --output "output" "input" --mvrange 511 --aud --nal-hrd --sar 1:1
просто на основе настроек второго прохода нужно создать профиль, в котором убрать ненужные для crf параметры и поменять режим с мультипрохода на crf
[Профиль]  [ЛС] 

suntrick

Стаж: 17 лет

Сообщений: 221

suntrick · 15-Авг-08 16:14 (спустя 5 дней)

и что то с зависимостью так и не разобрался... к примеру:
после прогона с CRF18 полулился битрейт 2000
Цитата:
поднимая/опуская битрейт на каждые 12.5% мы поднимаем/опускаем CRF на 1 целый пункт
2000*0,875=1750 - понизили битрейт на 12,5% что соответствует в данном случае CRF17
1750*0,875=1531,25 - понизили еще на 12,5% и соответственно CRF16
прощитаем до CRF12:
1531,25*0,875=1339,84 - CRF15
1339,84*0,875=1172,36 - CRF14
1172,36*0,875=1025,82 - CRF13
1025,82*0,875=897,59 - CRF12
в то же время
Цитата:
поднимая/опуская CRF на 6 пунктов мы увеличиваем/уменьшаем битрейт вдвое
CRF18 --> CRF12 есть 2000 --> 1000
в одном случае получилось 897,59 в другом 1000

1. В чем ошибка при расчетах?
2. Как зная битрейт при CRF18 вычислить CRF для нужного мне битрейта?
3. Сколько знаков после запятой допускается при указании параметра crf в командной строке? (18,1; 18,11; 18,111 и т.д.)
[Профиль]  [ЛС] 

shellgen

VIP (Адм)

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

Сообщений: 6417

shellgen · 15-Авг-08 18:09 (спустя 1 час 54 мин.)

suntrick писал(а):
1. В чем ошибка при расчетах?
suntrick писал(а):
1531,25*0,875=1339,84 - CRF15
1339,84*0,875=1172,36 - CRF14
1172,36*0,875=1025,82 - CRF13
1025,82*0,875=897,59 - CRF12
Во-первых, ошибка очевидна: опуская CRF, мы не опускаем битрейт, напротив, увеличиваем. чем ниже CRF, тем больше деталей будет сохранять кодек, тем больше понадобится битрейта.
Во-вторых 12.5% - цифра приблизительная, на которую стоит полагаться поднимая/опуская crf на 1-2 пункта. Не стоит одновременно полагаться на 12.5% и 6 пунктов. На деле всё несколько сложнее, но всю кухню знать не надо, чтобы этими цифрами пользоваться. Те значения, которые были получены подобными расчётами никогда не будут 100% точными, на полученные цифры стоит ориентироваться, но не полагатсья целиком. 12.5%/6/50% = "идельный газ" максимально близкие к этим цифры будут всегда получаться при использовании режима -q, но не --crf, в crf режиме пропорции будут стремится к этим значениям, но никогда не будут точно им равны. надеюсь это понятно.
Ещё раз: если с --crf 18 получился битрейт 1000Kbps, а надо 875Kbps, то близкое к этому значение получится при --crf 19. Если при --crf 18 получился битрейт 2000, а надо вложится в 1000, то результат близкий к этому битрейту получится при --crf 24.
suntrick писал(а):
2. Как зная битрейт при CRF18 вычислить CRF для нужного мне битрейта?
если бы всё было так просто... все бы кодировали в 1 проход. это похоже на прогноз погоды, есть ряд факторов, которые можно принять в расчёт и просчитать приблизительное значение --crf для целевого битрейта, но никогда не будет гарантии точного попадания. Синоптики предсказали дождь целый день, а он покапал минут 10 и дождевую тучу отнесло ветром далеко в сторону, оставшаяся часть дня вопреки прогнозам была ясной без осадков.
Наиболее точно попытаться попасть в нужный битрейт можно следубщим образом:
закодировать, например, с --crf 18, потом с --crf 19 -> рассчитать отклонение битрейта при изменении crf на 1 пункт (оно будет стремится к 12.5% ). c помощью рассчитанного отклонения уже можно более точно попытаться попасть в нужный битрейт, из моей практики рассчитанный таким образом crf даёт на том же куске погрешность целевого битрейта до 5-7% при переходах до 6 crf-пунктов.
suntrick писал(а):
3. Сколько знаков после запятой допускается при указании параметра crf в командной строке? (18,1; 18,11; 18,111 и т.д.)
В целом не приниципиально, точность до сотых точно кушает, больше не пробовал.
[Профиль]  [ЛС] 

suntrick

Стаж: 17 лет

Сообщений: 221

suntrick · 15-Авг-08 19:23 (спустя 1 час 14 мин.)

shellgen
спасибо за столь подробное объяснение
[Профиль]  [ЛС] 

shellgen

VIP (Адм)

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

Сообщений: 6417

shellgen · 16-Авг-08 13:35 (спустя 18 часов)

suntrick

Чуть освежил первый пост - добавил коротенькую информацию для выбора на основании теста на сжимаемость не только битрейта, но и ключевых параметров для x264.
[Профиль]  [ЛС] 

mumia

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

Сообщений: 7

mumia · 18-Авг-08 22:57 (спустя 2 дня 9 часов)

shellgen
Оффтоп:
скрытый текст
Пожалуйста, гляньте в личку. Заранее большое спасибо.
[Профиль]  [ЛС] 

XaXaTyH4uK

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

Сообщений: 154

XaXaTyH4uK · 22-Авг-08 11:18 (спустя 3 дня)

Я так понимаю, что для такого теста лучше поставить все настройки на максимум?
[Профиль]  [ЛС] 

shellgen

VIP (Адм)

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

Сообщений: 6417

shellgen · 23-Авг-08 18:29 (спустя 1 день 7 часов)

Параметры надо ставить те, с которыми планируется делать последний проход. есть смысл выкрутить на максимум --ref и --bframes, чтобы посмотреть сколько реально используется. Если видеоряд неравномерный, то желательно увеличить размер анализируемых фрагментов до размера GOPов и делать оценку по 5-10тыс. кадров, вместо 2500.
[Профиль]  [ЛС] 

Ba4a

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

Сообщений: 34

Ba4a · 30-Авг-08 22:17 (спустя 7 дней)

Кто-нить, мля, объяснил бы по-русски как риповать /берешь такую-то прогу, жмешь туда-то и туда-то/.
Ваш инопланетный мне не понятен.
[Профиль]  [ЛС] 

shellgen

VIP (Адм)

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

Сообщений: 6417

shellgen · 30-Авг-08 22:31 (спустя 14 мин.)

Ba4a
А маны в соседних ветках покурить слабо?
[Профиль]  [ЛС] 

Гость


Гость · 20-Сен-08 02:14 (спустя 20 дней, ред. 22-Сен-08 22:30)

shellgen
У меня сразу несколько вопросов по x264., Сразу прошу прощения если какие-то из них не по теме.
1)Для меня размер конечного рипа не имеет значения, я хочу сохранить максимальное качество. Значит ли это, что я должен выбирать crf18, или может стоит еще понизить, например взять crf17 или это уже ничего не даст ? Т.е. crf18 - это действительно идеал, и даст ли он самый максимум качества?
2)У меня не раз бывало такое, что тест выдавал битрейт, превышающий битрейт исходника. (Может из-за того, что исходное видео было не очень хорошего качества); Разумеется я не превышал исходного значения, а брал даже чуть ниже. Мне интересно, если источник NTSC, 29.97fps, bitreit~1000Kbps, но после всех преобразований получается 23.976fps(+forced film), Значит ли это, что за максимум я теперь должен принимать не 1000Kbps а 800Kbps (1000Kbps/(29.97/23.976)) ?
3)Я бы хотел узнать побольше по вопросу деблокинга. Я видел в сети графики зависимости деблокинга от квантизера и битрейта, но они довольно трарые и не знаю моно ли им оверять. В общем, если я хочу сохранить исходное видео как оно есть, если оно не блочное или просто меня устраивает, а кодировать я буду с максимальным качеством и битрейт выберу исходя из этого материала(crf18) - следственно новых артефактов появиться не должно? Значит я могу отключить деблокинг?
4)По поводу выбора уровня( L5.1 , L4.1 , L3.1 , ...... ). Влияет ли это значения на качество кодирования или нет? На сколько я понял этот уровень лишь несет информацию, и зависит от разрешения, чтобы устройство могло понять сможет ли воспроизвести это видео или нет. Или я ошибаюсь?
5)Вы писали: Для разрешений более 0.5Mpix есть возможность потихоньку поднимать указанные выше CRF по 0.5-1 CRF для каждых следующих 0.5Mpix
Значит ли это, что для больших разрешений, если к примеру источник был HD качества, CRF надо считать примерно по такой формуле:
CRF=((Ширинах[pix]*Высота[pix]/1000000)Mpix/0.5Mpix-1)*0.5+18 ,Или я не совсем правильно понял?
Буду очень благодарен за ответ.
 

Меломан

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

Сообщений: 64


Меломан · 24-Сен-08 18:21 (спустя 4 дня, ред. 24-Сен-08 21:37)

shellgen
Присоединяюсь к вопросам kelly1311 и прошу помочь с анализом тестов, проведенных по Вашей методе.
В качестве источника выступал HD контент 1080p (.ts:VC-1).
скрипт AVS
DirectShowSource("C:\Videos\Mymy.ts")
crop( 0, 132, 0, -132)
selectTotal1=framecount()/100
selectTotal2=selectTotal1*2
selectrangeevery(selectTotal2,50)
--crf 18
[Information] Log for job1 (video, Mymy.avs -> Mymy (18).mkv)
-[Information] [24.09.2008 14:31:30] Started handling job
-[Information] [24.09.2008 14:31:30] Preprocessing
-[NoImage] Job commandline: "C:\Program Files (x86)\meGUI\tools\x264\x264.exe" --crf 18 --ref 16 --mixed-refs --bframes 16 --b-adapt 2 --b-pyramid --b-rdo --bime --weightb --filter -1:-1 --subme 7 --trellis 2 --partitions all --8x8dct --me umh --threads auto --thread-input --sar 1:1 --progress --no-psnr --no-ssim --output "C:\Videos\Mymy (18).mkv" "C:\Videos\Mymy.avs"
-[Information] [24.09.2008 14:31:36] Encoding started
-[NoImage] Standard output stream
-[NoImage] Standard error stream
--[NoImage] avis [info]: 1920x816 @ 29.97 fps (2550 frames)
--[NoImage] x264 [info]: using SAR=1/1
--[NoImage] x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 PHADD SSE4 Cache64
--[NoImage]
--[NoImage] x264 [info]: slice I:67 Avg QP:13.41 size:161601
--[NoImage] x264 [info]: slice P:941 Avg QP:15.74 size: 87571
--[NoImage] x264 [info]: slice B:1542 Avg QP:17.28 size: 50611
--[NoImage] x264 [info]: consecutive B-frames: 6.3% 19.6% 50.9% 10.0% 7.5% 3.1% 1.7% 0.0% 0.0% 0.0% 0.0% 1.0% 0.0% 0.0% 0.0% 0.0% 0.0%
--[NoImage] x264 [info]: mb I I16..4: 10.3% 80.4% 9.3%
--[NoImage] x264 [info]: mb P I16..4: 2.3% 28.4% 1.8% P16..4: 26.7% 19.1% 8.9% 0.2% 0.0% skip:12.6%
--[NoImage] x264 [info]: mb B I16..4: 0.6% 6.7% 0.3% B16..8: 46.9% 3.4% 3.5% direct:19.8% skip:18.9% L0:39.9% L1:41.8% BI:18.3%
--[NoImage] x264 [info]: 8x8 transform intra:86.6% inter:47.3%
--[NoImage] x264 [info]: ref P L0 55.2% 18.2% 7.5% 4.4% 3.1% 2.7% 2.1% 1.4% 1.1% 0.9% 0.7% 0.7% 0.6% 0.5% 0.4% 0.4%
--[NoImage] x264 [info]: ref B L0 64.6% 16.6% 5.3% 3.3% 2.2% 1.8% 1.4% 1.0% 0.9% 0.7% 0.6% 0.5% 0.4% 0.4% 0.3%
--[NoImage] x264 [info]: ref B L1 87.6% 12.4%
--[NoImage] x264 [info]: kb/s:16103.8
--[NoImage] encoded 2550 frames, 0.74 fps, 16104.16 kb/s
-[Information] Final statistics
--[NoImage] Constant Quality Mode: Quality 18 computed...
--[NoImage] Video Bitrate Obtained (approximate): 16107 kbit/s
-[Information] [24.09.2008 15:29:12] Job completed
-[Information] [24.09.2008 15:29:12] Postprocessing
--[Information] Deleting intermediate files
--crf 20
[Information] Log for job2 (video, Mymy.avs -> Mymy (20).mkv)
-[Information] [24.09.2008 15:29:12] Started handling job
-[Information] [24.09.2008 15:29:12] Preprocessing
-[NoImage] Job commandline: "C:\Program Files (x86)\meGUI\tools\x264\x264.exe" --crf 20 --ref 16 --mixed-refs --bframes 16 --b-adapt 2 --b-pyramid --b-rdo --bime --weightb --filter -1:-1 --subme 7 --trellis 2 --partitions all --8x8dct --me umh --threads auto --thread-input --sar 1:1 --progress --no-psnr --no-ssim --output "C:\Videos\Mymy (20).mkv" "C:\Videos\Mymy.avs"
-[Information] [24.09.2008 15:29:13] Encoding started
-[NoImage] Standard output stream
-[NoImage] Standard error stream
--[NoImage] avis [info]: 1920x816 @ 29.97 fps (2550 frames)
--[NoImage] x264 [info]: using SAR=1/1
--[NoImage] x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 PHADD SSE4 Cache64
--[NoImage]
--[NoImage] x264 [info]: slice I:67 Avg QP:15.14 size:127730
--[NoImage] x264 [info]: slice P:941 Avg QP:17.65 size: 62973
--[NoImage] x264 [info]: slice B:1542 Avg QP:19.28 size: 32513
--[NoImage] x264 [info]: consecutive B-frames: 6.3% 19.6% 50.9% 10.0% 7.5% 3.1% 1.7% 0.0% 0.0% 0.0% 0.0% 1.0% 0.0% 0.0% 0.0% 0.0% 0.0%
--[NoImage] x264 [info]: mb I I16..4: 11.4% 81.1% 7.5%
--[NoImage] x264 [info]: mb P I16..4: 2.5% 19.7% 1.1% P16..4: 36.7% 19.0% 7.6% 0.1% 0.0% skip:13.3%
--[NoImage] x264 [info]: mb B I16..4: 0.5% 2.9% 0.1% B16..8: 48.1% 1.9% 2.3% direct:16.6% skip:27.6% L0:41.3% L1:47.3% BI:11.4%
--[NoImage] x264 [info]: 8x8 transform intra:83.8% inter:57.6%
--[NoImage] x264 [info]: ref P L0 52.9% 18.9% 7.9% 4.6% 3.2% 2.9% 2.3% 1.5% 1.1% 1.0% 0.8% 0.8% 0.6% 0.5% 0.5% 0.4%
--[NoImage] x264 [info]: ref B L0 63.9% 16.8% 5.6% 3.4% 2.3% 1.8% 1.4% 1.0% 0.8% 0.7% 0.6% 0.5% 0.4% 0.4% 0.3%
--[NoImage] x264 [info]: ref B L1 88.9% 11.1%
--[NoImage] x264 [info]: kb/s:11090.1
--[NoImage] encoded 2550 frames, 0.76 fps, 11090.47 kb/s
-[Information] Final statistics
--[NoImage] Constant Quality Mode: Quality 20 computed...
--[NoImage] Video Bitrate Obtained (approximate): 11094 kbit/s
-[Information] [24.09.2008 16:25:06] Job completed
-[Information] [24.09.2008 16:25:06] Postprocessing
--[Information] Deleting intermediate files
--crf 22
[Information] Log for job5 (video, Mymy.avs -> Mymy (22).mkv)
-[Information] [24.09.2008 18:09:59] Started handling job
-[Information] [24.09.2008 18:09:59] Preprocessing
-[NoImage] Job commandline: "C:\Program Files (x86)\meGUI\tools\x264\x264.exe" --crf 22 --ref 16 --mixed-refs --bframes 16 --b-adapt 2 --b-pyramid --b-rdo --bime --weightb --filter -1:-1 --subme 7 --trellis 2 --partitions all --8x8dct --me umh --threads auto --thread-input --sar 1:1 --progress --no-psnr --no-ssim --output "C:\Videos\Mymy (22).mkv" "C:\Videos\Mymy.avs"
-[Information] [24.09.2008 18:10:01] Encoding started
-[NoImage] Standard output stream
-[NoImage] Standard error stream
--[NoImage] avis [info]: 1920x816 @ 29.97 fps (2550 frames)
--[NoImage] x264 [info]: using SAR=1/1
--[NoImage] x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 PHADD SSE4 Cache64
--[NoImage]
--[NoImage] x264 [info]: slice I:67 Avg QP:17.02 size: 98400
--[NoImage] x264 [info]: slice P:941 Avg QP:19.59 size: 44904
--[NoImage] x264 [info]: slice B:1542 Avg QP:21.40 size: 20176
--[NoImage] x264 [info]: consecutive B-frames: 6.3% 19.6% 50.9% 10.0% 7.5% 3.1% 1.7% 0.0% 0.0% 0.0% 0.0% 1.0% 0.0% 0.0% 0.0% 0.0% 0.0%
--[NoImage] x264 [info]: mb I I16..4: 14.2% 79.0% 6.9%
--[NoImage] x264 [info]: mb P I16..4: 2.7% 13.5% 0.7% P16..4: 46.3% 14.8% 6.7% 0.1% 0.0% skip:15.1%
--[NoImage] x264 [info]: mb B I16..4: 0.4% 1.4% 0.1% B16..8: 47.1% 1.1% 1.4% direct:11.0% skip:37.4% L0:41.5% L1:52.4% BI: 6.2%
--[NoImage] x264 [info]: 8x8 transform intra:79.1% inter:69.0%
--[NoImage] x264 [info]: ref P L0 53.0% 18.8% 8.2% 4.5% 3.2% 2.9% 2.3% 1.4% 1.1% 0.9% 0.8% 0.8% 0.6% 0.5% 0.5% 0.4%
--[NoImage] x264 [info]: ref B L0 65.6% 16.1% 5.6% 3.2% 2.2% 1.8% 1.3% 0.9% 0.8% 0.6% 0.5% 0.4% 0.4% 0.3% 0.2%
--[NoImage] x264 [info]: ref B L1 90.2% 9.8%
--[NoImage] x264 [info]: kb/s:7518.0
--[NoImage] encoded 2550 frames, 0.74 fps, 7518.37 kb/s
-[Information] Final statistics
--[NoImage] Constant Quality Mode: Quality 22 computed...
--[NoImage] Video Bitrate Obtained (approximate): 7521 kbit/s
-[Information] [24.09.2008 19:07:58] Job completed
-[Information] [24.09.2008 19:07:58] Postprocessing
--[Information] Deleting intermediate files
Если я всё правильно понял, то:
    1. использование B-фреймов более 7 бессмысленно
    2. p4x4 таки задейстованы
    3. использование ref-фреймов более 10 бессмысленно
    4. оптимальным выбором будет crf=20

Маленький offtopic
Полученные файлы проигрываются слишком быстро. FPS скачет от 23 до 33 (на титрах доходит и до 45).
В AVS-скрипте указывал fps=29.970. Результата это не принесло.
Не в курсе с чем это может быть связано?
[Профиль]  [ЛС] 

Гость


Гость · 24-Сен-08 22:05 (спустя 3 часа)

Меломан
Помоему у вас тут на всех 3х тестах задействованы все 16 ref-фреймов, ведь надо учитывать все значения что > 0.2%
 

Гость


Гость · 25-Сен-08 00:02 (спустя 1 час 56 мин.)

Пожалуй добавлю ещё один вопрос
shellgen писал(а):
Если видеоряд неравномерный, то желательно увеличить размер анализируемых фрагментов до размера GOPов и делать оценку по 5-10тыс. кадров, вместо 2500.
Видимо надо изменить те 3 строки, которые доб-ся в конец скрипта. я в этих делах не силен, может напишите поподробнее как их изменить, чтобы увеличить размер анализируемых фрагментов до размера GOPов.
 

Меломан

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

Сообщений: 64


Меломан · 25-Сен-08 07:54 (спустя 7 часов, ред. 25-Сен-08 07:54)

kelly1311
Цитата:
Помоему у вас тут на всех 3х тестах задействованы все 16 ref-фреймов, ведь надо учитывать все значения что > 0.2%
Именно. Хотел посмотреть количество реально используемых.
Цитата:
Видимо надо изменить те 3 строки, которые доб-ся в конец скрипта. я в этих делах не силен, может напишите поподробнее как их изменить, чтобы увеличить размер анализируемых фрагментов до размера GOPов.
Ну, это легко. Только я не знаю как узнать размер GOP.
Да и оптимизировать (убрать лишнее) эти три строчки можно, сведя к одной.
Код:
selectrangeevery(framecount()*GOP/N, GOP)
GOP - собственно размер GOP в кадрах
N - необходимое для анализа количество кадров
[Профиль]  [ЛС] 

Гость


Гость · 25-Сен-08 22:03 (спустя 14 часов, ред. 26-Сен-08 04:06)

Меломан
Спасибо за подсказку, а размер GOP насколько я знаю зависит от частоты кадров(если 23.976fps то GOP=24, если 25fps то GOP=25 и т.д.),кажется я где-то об этом читал...
Кстати в настройках x264 это, вроде бы, тоже стоит учитывать. В MeGUI нв вкладке "RC &ME" есть 2 параметра: "Keyframe Interval"(по умолчанию=250) & Min. GOP Size(по умолчанию=25).Это позволит ставить ключевые кадры приблизительно каждые 10 сек, что положително скажется на перемотке. Я лично меняю эти значения для NTSC на 240 и 24 (или на 300 и 30, но это очень редко). А в XVID4PSP я этого не нашел? впрочем думаю это не так важно.
 

Меломан

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

Сообщений: 64


Меломан · 26-Сен-08 04:37 (спустя 6 часов)

kelly1311
Мда, автора мы еще долго здесь не дождемся.
Профиль его посмотрите
[Профиль]  [ЛС] 

Гость


Гость · 27-Сен-08 00:00 (спустя 19 часов)

Да уж!
 

Pustovetov

AVC-Видео

Стаж: 17 лет

Сообщений: 4255

Pustovetov · 27-Сен-08 13:30 (спустя 13 часов)

kelly1311 писал(а):
1)Для меня размер конечного рипа не имеет значения, я хочу сохранить максимальное качество. Значит ли это, что я должен выбирать crf18, или может стоит еще понизить, например взять crf17 или это уже ничего не даст ? Т.е. crf18 - это действительно идеал, и даст ли он самый максимум качества?
Зависит от... попробуйте закодить отрывок с разным crf и сравните свои психо-визуальные ощущения от просмотра. Можно еще скриншотов понаделать и опять же их поизучать Лично я разницу между crf 16 и crf 18 замечаю обычно, а вот уже crf 14 и crf 16 разница становится заметной только "под микроскопом".
Цитата:
2)У меня не раз бывало такое, что тест выдавал битрейт, превышающий битрейт исходника.
Это нормально. Ведь неизвестно куда там попадут выбираемые кадры. Если хочется совсем точности то crf 18 и прогнать целиком весь фильм.
Цитата:
Разумеется я не превышал исходного значения, а брал даже чуть ниже. Мне интересно, если источник NTSC, 29.97fps, bitreit~1000Kbps, но после всех преобразований получается 23.976fps(+forced film), Значит ли это, что за максимум я теперь должен принимать не 1000Kbps а 800Kbps (1000Kbps/(29.97/23.976)) ?
Ну не совсем так, там экономия, от выкидывания дублей, получается меньше чем 20%. Ведь они дубли и кодируются с меньшими затратами битрейта чем нормальные кадры.
Цитата:
3)Я бы хотел узнать побольше по вопросу деблокинга. Я видел в сети графики зависимости деблокинга от квантизера и битрейта, но они довольно трарые и не знаю моно ли им оверять. В общем, если я хочу сохранить исходное видео как оно есть, если оно не блочное или просто меня устраивает, а кодировать я буду с максимальным качеством и битрейт выберу исходя из этого материала(crf18) - следственно новых артефактов появиться не должно? Значит я могу отключить деблокинг?
Отключать то совсем зачем? Мало ли где таки битрейта не хватит? Можно его понизить на пунктик другой (я обычно жму с деблокингом в пределах 0:0... -2:-2)
Цитата:
4)По поводу выбора уровня( L5.1 , L4.1 , L3.1 , ...... ). Влияет ли это значения на качество кодирования или нет? На сколько я понял этот уровень лишь несет информацию, и зависит от разрешения, чтобы устройство могло понять сможет ли воспроизвести это видео или нет. Или я ошибаюсь?
Ага. Плюс сейчас кодер сам ставит уровень если ему сказали Unrestricted/Autoguess. Так что если нет потребности воспроизводить обязательно на конкретной железке то проще всего Autoguess указывать.
[Профиль]  [ЛС] 

Гость


Гость · 28-Сен-08 05:34 (спустя 16 часов)

Pustovetov
Большое спасибо за объяснение, вы мне очень помогли.
 

shellgen

VIP (Адм)

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

Сообщений: 6417

shellgen · 16-Окт-08 02:09 (спустя 17 дней)

Обращаю внимание, что в свежих сборках x264 crf модель переработана, в идеале что было раньше crf 18, теперь crf 19 с нюансами. На практике надо ещё это дело поизучать.
[Профиль]  [ЛС] 

Tempter57

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

Сообщений: 4960

Tempter57 · 16-Окт-08 08:34 (спустя 6 часов)

Хочу добавить, что вышедший x264vfw_14beta3_999bm_15505.exe под кодирование в VDM имеет просто великолепную GUI, не чем не уступающую MEGUI с подключением дополнительно ещё и метрики от BM с опцией быстрого выбора ключевых кадров , о которой сообщал shellgen ещё в первом своём посте.
[Профиль]  [ЛС] 

shellgen

VIP (Адм)

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

Сообщений: 6417

shellgen · 16-Окт-08 10:42 (спустя 2 часа 7 мин., ред. 16-Окт-08 10:56)

Tempter57 писал(а):
x264vfw_14beta3_999bm_15505.exe
Эээ... не люблю я эти сборки, крутить их надо с точностью до последней частоты, иначе артефачат почём зря. Если имеете позитивный опыт эксплуатации - думаю, что всем будет интересно и полезно.
Меломан писал(а):
Ну, это легко. Только я не знаю как узнать размер GOP.
Да и оптимизировать (убрать лишнее) эти три строчки можно, сведя к одной.
Код:
selectrangeevery(framecount()*GOP/N, GOP)
GOP - собственно размер GOP в кадрах
N - необходимое для анализа количество кадров
Не сразу увидел... Я не зря разнёс эту красоту на три строки - AviSynth хронически бажит на арифметических операциях с комбинированием переменных и числовых констант в одной строке. Результатом операций типа 1/8 часто по мифическим причинам оказывается "1".
По поводу GOP - от частоты кадров оно никак не зависит. По умолчанию GOP в x264 равен 250. Не следует путать GOP и минимальный GOP, который по умолчанию равен 25, но в данном случае это нам не интересно. За размер GOPов отвечает параметр x264 -I ? и он же --keyint ?.
[Профиль]  [ЛС] 
 
Тема закрыта
Loading...
Error