[не удалять] Обработка и пересжатие видео [архив №1]

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

Tempter57

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

Сообщений: 4995


Tempter57 · 09-Фев-09 09:49 (16 лет 7 месяцев назад, ред. 09-Фев-09 09:49)

WertNox писал(а):
Tempter57, разве один проход с постоянный битрейтом даёт качество видео лучше, чем два прохода с плавающим битрейтом?
Нет не лучше, во время 1-го прохода кодек анализирует исходник, намечая на какие сцены больше перераспределить битрейта, на какие меньше, второй проход -непосредственно кодирование с учётом анализа.
Но при тех максимальных квантах 2,2,3 можно, задав высокий битрейт от 1500 до 2000 кодеку XviD, получить очень высокое качество на выходе за один проход при кодировании с постоянным битрейтом (не путать с заданным размером), а подключив ещё и матрицу распределения квантов, например, EQM V3LR до 1600 кбит\с или EQM v3hr свыше 1600 кбит\с , можно получить ещё и более качественную выходную картинку, сократив при этом выходной размер на несколько процентов.
[Профиль]  [ЛС] 

WertNox

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

Сообщений: 67


WertNox · 09-Фев-09 10:39 (спустя 50 мин., ред. 09-Фев-09 10:39)

Tempter57, можешь подсказать как и где подключать матрицы распределения квантов?
P.S. По поводу ошибки при перекодирование BD-Remux, про которую я написал чуть выше, если понадобится, могу предоставить образец видео нужной длины.
[Профиль]  [ЛС] 

Tempter57

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

Сообщений: 4995


Tempter57 · 09-Фев-09 11:07 (спустя 27 мин.)

WertNox писал(а):
Tempter57, можешь подсказать как и где подключать матрицы распределения квантов?
Если в Megui на первой страничке настроек кодека XviD есть Quantization Type там в строке надо указать путь, где у вас лежат матрицы и подключить необходимую. Для XviD 4PSP открыть Настройки видео кодирования=> Quantization => Matrix. И обязательно прочти статью shellgen Матрицы распределения квантов
[Профиль]  [ЛС] 

crazy-cactus

Top Seed 02* 80r

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

Сообщений: 2812

crazy-cactus · 09-Фев-09 11:25 (спустя 17 мин.)

Tempter57
что лучше указывать кодеку при двухпроходном сжатии - желаемый битрейт или размер? Я так понимаю, что размер лучше, т.к. кодек в этом случае сможет более гибко перераспределять битрейт в зависимости от сцены. Я прав?
P.P.S. А как происходит трехпроходное сжатие? Двухпроходное понятно: анализ -> сжатие. А для чего третий проход?
[Профиль]  [ЛС] 

Tempter57

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

Сообщений: 4995


Tempter57 · 09-Фев-09 11:35 (спустя 9 мин.)

crazy-cactus писал(а):
Tempter57
что лучше указывать кодеку при двухпроходном сжатии - желаемый битрейт или размер? Я так понимаю, что размер лучше, т.к. кодек в этом случае сможет более гибко перераспределять битрейт в зависимости от сцены. Я прав?
P.P.S. А как происходит трехпроходное сжатие? Двухпроходное понятно: анализ -> сжатие. А для чего третий проход?
Правильно считаешь, дело в том, что зачастую в один проход с заданным битрейтом кодируются либо сериалы, либо домашнее видео. Правилом хорошего тона на трекере считается делать рипы в заданный размер: 700 MB, 1400 MB(1,37 GB), 2100 MB, 2800 MB или 1\3, 1\2, 1 DVD.
При 3-х проходном сжатии первые два прохода -анализ, кодировка идёт непосредственно только в последнем третьем проходе. Т.е. имеем более тщательный анализ исходника. Смысла особого нет, поскольку прибавка в качестве мизерная.
[Профиль]  [ЛС] 

WertNox

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

Сообщений: 67


WertNox · 09-Фев-09 11:52 (спустя 17 мин., ред. 09-Фев-09 15:31)

Tempter57, очень благодарю за подсказку и ссылку.
Я правильно понял, что .cqm файл - это матрица?
[Профиль]  [ЛС] 

viktor_

Top Bonus 02* 500GB

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

Сообщений: 879

viktor_ · 09-Фев-09 16:59 (спустя 5 часов)

crazy-cactus писал(а):
что лучше указывать кодеку при двухпроходном сжатии - желаемый битрейт или размер?
Абсолютно без разницы. Если задаешь битрейт в двухпроходном кодировании - это не значит, что он будет постоянным. По битрейту прога подсчитает исходный размер (время фильма х заданный битрейт), а потом все пойдет так же, как если задаешь размер сам.
[Профиль]  [ЛС] 

Wergil

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

Сообщений: 50

Wergil · 09-Фев-09 21:19 (спустя 4 часа, ред. 09-Фев-09 21:19)

Имеется японский DVD (аниме). Хочу его пережать в x264 с помощью MeGUI. Споткнулся на деинтерлейсе. Автоматика выставила:
DGDecode_mpeg2source("E:\Anime\Edit\WA\VTS_01_1.d2v", info=3)
ColorMatrix(hints=true, interlaced=true, threads=0)
tfm(order=1).tdecimate(hybrid=1)
В общем, очень неплохо выходит, только в очень быстрых сценах картинка идет квадратами.
DGDecode_mpeg2source("E:\Anime\Edit\WA\VTS_01_1.d2v", cpu=4, info=3) не помогает
Семпл
С этим можно что-то сделать, или смириться?
[Профиль]  [ЛС] 

xizo

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

Сообщений: 67

xizo · 09-Фев-09 21:21 (спустя 2 мин.)

Когда прикрепляю две аудио дорожки к mkv (кодек x264), media player classic видит только одну - ту которая по дефолту или ту которая выше (и в выборе дорожек есть только одна). Можно как-то сделать что б была возможность выбирать дорожки?
[Профиль]  [ЛС] 

Wergil

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

Сообщений: 50

Wergil · 09-Фев-09 21:39 (спустя 17 мин., ред. 09-Фев-09 21:39)

xizo
А чем прикрепляешь?
Я пользуюсь mkvmerge GUI. Выбрал дорожки (галочками), указал описание/язык "Start muxing" и можно пить кофе (секунд 10 - 120 ).
[Профиль]  [ЛС] 

xizo

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

Сообщений: 67

xizo · 09-Фев-09 21:42 (спустя 3 мин.)

Точно так и делаю, только когда открываю в media player classic: play->audio-> там только 1 дорожка. Хоть к видео прикреплено две.
[Профиль]  [ЛС] 

crazy-cactus

Top Seed 02* 80r

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

Сообщений: 2812

crazy-cactus · 09-Фев-09 21:59 (спустя 17 мин.)

xizo, этот вопрос задается ловольно часто. Есть 2 решения:
1. В трее ищи Haali Media Splitter и переключай дорожки в нем.
2. Либо используй VLC - он лишен подобной проблемы.
[Профиль]  [ЛС] 

Wergil

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

Сообщений: 50

Wergil · 09-Фев-09 22:06 (спустя 6 мин., ред. 09-Фев-09 22:06)

Ясно. Попробуй Navigate -> Audio Language -> ???
И всё появится
Или как crazy-cactus пишет.
[Профиль]  [ЛС] 

xizo

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

Сообщений: 67

xizo · 09-Фев-09 22:12 (спустя 6 мин., ред. 09-Фев-09 22:12)

Спасибо всем, через Navigate -> Audio Language -> действительно все работает.
[Профиль]  [ЛС] 

Mike7L

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

Сообщений: 393

Mike7L · 10-Фев-09 01:06 (спустя 2 часа 53 мин., ред. 10-Фев-09 01:06)

Имеется 3 звуковых дорожки с DVD (25 fps) и видео с HDTV (23,976 fps) что целесообразнее подгонять? При условии, что и звук и видео будут перекодироваться в другой формат ? (x264 + aac + mkv)
Заранее спасибо
[Профиль]  [ЛС] 

So_What

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

Сообщений: 438

So_What · 10-Фев-09 03:35 (спустя 2 часа 28 мин.)

Mike7L лучше подгонять звук под HDTV/
[Профиль]  [ЛС] 

Pustovetov

AVC-Видео

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

Сообщений: 4247

Pustovetov · 10-Фев-09 07:18 (спустя 3 часа, ред. 10-Фев-09 07:18)

Wergil писал(а):
Имеется японский DVD (аниме). Хочу его пережать в x264 с помощью MeGUI. Споткнулся на деинтерлейсе. Автоматика выставила:
А причем здесь деинтерлейс? Это нормальная красивая такая блочность. cpu=4 конечно для начала, ну а далее к примеру попробовать использовать dfttest
Mike7L писал(а):
Имеется 3 звуковых дорожки с DVD (25 fps) и видео с HDTV (23,976 fps) что целесообразнее подгонять? При условии, что и звук и видео будут перекодироваться в другой формат ? (x264 + aac + mkv)
"Замедление" звука это операция влияющая на качество дорожек. "Ускорение" видео никак на качество видео не влияет (ну будут показываться картинки на 4% быстрее, будет демонстрироваться не ~24, а 25 кадров в секунду...). Из этих соображений наверно лучше сделать из видео 25 fps
[Профиль]  [ЛС] 

javum

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

Сообщений: 32

javum · 10-Фев-09 09:26 (спустя 2 часа 7 мин.)

Wergil писал(а):
В общем, очень неплохо выходит, только в очень быстрых сценах картинка идет квадратами.
DGDecode_mpeg2source("E:\Anime\Edit\WA\VTS_01_1.d2v", cpu=4, info=3) не помогает
С этим можно что-то сделать, или смириться?
Не советовал бы использовать "cpu=". Это, как говорится, прошлый век
Мне понравился скриптик Deblock_QED. Для начала попробуй с параметрами по-умолчанию:
Код:
Deblock_QED()
[Профиль]  [ЛС] 

Mike7L

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

Сообщений: 393

Mike7L · 10-Фев-09 12:29 (спустя 3 часа, ред. 10-Фев-09 13:13)

Pustovetov
Я тоже склоняюсь к этому варианту (изменить Fps видео). К тому-же раcкладывать, растягивать и пересобирать 4 6-канальных дороги как-то не очень хочеться...
Могли бы вы посоветовать Avisynth фильтр для моего случая? Подойдет ли AssumeFPS (не скажеться ли на качестве изображения)?
Дело в том, что в исходнике есть пара глюков - картинка рассыпается на 1с (благо, в коротких сценах (2-4 сек)). Эти сцены хочу заменить полностью апскейлом с DVD(25 fps).
[Профиль]  [ЛС] 

9Nickko

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

Сообщений: 137

9Nickko · 10-Фев-09 12:56 (спустя 26 мин.)

Подскажите кто-нибудь пожалуйста почему может не работать Deblock_QED?
В папке plugins в ависинте файлик Deblock_QED.avs лежит.
Вот его содержимое:
скрытый текст
Код:
function Deblock_QED ( clip clp, int "quant1", int "quant2",
\                     int "aOff1", int "bOff1", int "aOff2", int "bOff2", int "uv", bool "usegrid", bool "fixmod" )
{
quant1 = default( quant1, 20 )
quant2 = default( quant2, 40 )
aOff1  = default( aOff1, quant1/2 )  #  I've no clue if these are clever values or not!
bOff1  = default( bOff1, quant1/4 )  #  So:
aOff2  = default( aOff2, quant1/4 )  #  Also try all these 4 values @ 0 (zero),
bOff2  = default( bOff2, quant1/8 )  #  and quant1=30, quant2=40~45 instead.
uv     = default( uv,      3 )       #  u=3 -> use proposed method for chroma deblocking
                                     #  u=2 -> no chroma deblocking at all (fastest method)
ox     = clp.width()                 #  u=1|-1 -> directly use chroma debl. from the normal|strong deblock()
oy     = clp.height()
usegrid=default(usegrid,false)
fixmod=default(fixmod,true)
# With avisynth scripting, there is no information available about the position of the  currently
# processed pixel ... there simply is no such thing like an "actual" processed pixel.
# So first I've to build up a grid covering the transitions between all 8x8 blocks,
# and make some LUTmania with it later. Yes, this is cumbersome.
Assert(clp.isyv12(),"Deblock_QED: Requires YV12.")
o=clp
clp=clp.makemod(8)
Assert(clp.width() % 8 == 0 && clp.height() % 8 == 0,"Deblock_QED: Requires mod8 video.")
block=clp.grid().trim(1,1).loop(framecount(clp))
# create normal deblocking (for block borders) and strong deblocking (for block interiour)
normal   = clp.deblock(quant=quant1,aOffset=aOff1,bOffset=bOff1)
strong   = clp.deblock(quant=quant2,aOffset=aOff2,bOffset=bOff2)
# build difference maps of both
normalD  = mt_makediff(clp,normal,chroma=uv>2?"process":"ignore")
strongD  = mt_makediff(clp,strong,chroma=uv>2?"process":"ignore")
# separate border values of the difference maps, and set the interiours to '128'
strongD2 = mt_lutxy(StrongD,block,expr="y 255 == x 128 ?",U=uv,V=uv)
normalD2 = mt_lutxy(normalD,block,expr="y 255 == x 128 ?",U=uv,V=uv)
# interpolate the border values over the whole block: DCTFilter can do it. (Kiss to Tom Barry!)
# (Note: this is not fully accurate, but a reasonable approximation.)
strongD3 = strongD2.mt_lut(expr="x 128 - 1.01 * 128 +",U=uv,V=uv).dctfilter(1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0)# .yv12lut("x 128 - 2 / 128 +")
# apply compensation from "normal" deblocking to the borders of the full-block-compensations calculated
# from "strong" deblocking ...
strongD4 = mt_lutxy(strongD3,normalD2,expr="y 128 == x y ?",U=uv,V=uv)
# ... and apply it.
deblocked= mt_makediff(clp,strongD4,chroma=uv>2?"process":"ignore")
# simple decisions how to treat chroma
deblocked = (uv<0) ? deblocked.mergechroma(strong) : uv<2 ? deblocked.mergechroma(normal) : deblocked
deblocked.crop(0,0,o.width,o.height)
return( last )
}
function Grid(clip clp) {
block = blankclip(clp,width=6*4,height=6*4,color=$000000).addborders(4,4,4,4,color=$FFFFFF)
block = stackhorizontal( block,block,block,block)
block = stackvertical(   block,block,block,block) .pointresize(32,32) .mt_binarize(upper=false)
block = stackhorizontal( block,block,block,block,block,block,block,block)
block = stackvertical(   block,block,block,block,block,block)
block = stackhorizontal( block,block,block)
block = stackvertical(   block,block,block)
block = stackhorizontal( block,block,block)
block = stackvertical( block,block)
#return clp.subtitle(string(block.width)+"x"+string(block.height))
block = block .crop(0,0,ox,oy)
block = (uv!=3) ? block
\    : YtoUV(block.crop(0,0,ox/2,oy/2),block.crop(0,0,ox/2,oy/2),block)
return block
}
function makemod(clip c,int "xmod",int "ymod",bool "mirror",bool "crop") {
xmod=default(xmod,16)
ymod=default(ymod,xmod)
mirror=default(mirror,false)
crop=default(crop,false)
ox=c.width
oy=c.height
w=c.isrgb32() || c.isrgb24() ? 1 : 2
right=c.crop(ox-w,0,w,0)
right=right.stackhorizontal(right,right,right)
right=xmod>w*4 ? right.stackhorizontal(right,right,right) : right
vx=ox % xmod==0 ? c : stackhorizontal(c,right.crop(0,0,xmod-(ox % xmod),0))
bottom=vx.crop(0,oy-w,0,w)
bottom=bottom.stackvertical(bottom,bottom,bottom)
bottom=ymod>w*4 ? bottom.stackvertical(bottom,bottom,bottom) : bottom
vy=oy % ymod==0 ? vx : stackvertical(vx,bottom.crop(0,0,0,ymod-(oy % ymod)))
cropped = c.crop(0,0,int(c.width/xmod)*xmod,int(c.height/ymod)*ymod)
return crop == true ? cropped : vy
}
#loadplugin(avsplugins+"dctfilter.dll")
#loadplugin(avsplugins+"grid.dll")
Файла Deblock_QED.dll нет, но я так понимаю его и не существует (и он не нужен).
Вот как выглядит мой скрипт:
Код:
AVISource("E:\[AKROSS Con 2003] Misato - Neverwhere.avi", audio=false)
Deblock_QED()
Ошибку в AvsP пишет такую:
Script error: there is no function named "Deblock_QED" (Новый файл, line 2)
Кстати может лучше просто использовать dfttest? Или Deblock_QED лучше с блоками справляется?
[Профиль]  [ЛС] 

Pustovetov

AVC-Видео

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

Сообщений: 4247

Pustovetov · 10-Фев-09 13:22 (спустя 26 мин.)

Mike7L писал(а):
Pustovetov
Я тоже склоняюсь к этому варианту (изменить Fps видео). К тому-же раcкладывать, растягивать и пересобирать 4 6-канальных дороги как-то не очень хочеться...
Могли бы вы посоветовать Avisynth фильтр для моего случая? Подойдет ли AssumeFPS (не скажеться ли на качестве изображения)?
? Просто при муксе сказать 25 fps и всё.
Цитата:
Дело в том, что в исходнике есть пара глюков - картинка рассыпается на 1с (благо, в коротких сценах (2-4 сек)). Эти сцены хочу заменить полностью апскейлом с DVD(25 fps).
Ну и соответственно заменяем сцены другими кадрами. Какая разница с какой частотой результат будед проигрываться? Главное чтобы дорожки звуковые остались синхронными.
[Профиль]  [ЛС] 

Pustovetov

AVC-Видео

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

Сообщений: 4247

Pustovetov · 10-Фев-09 13:26 (спустя 3 мин.)

javum писал(а):
Не советовал бы использовать "cpu=". Это, как говорится, прошлый век
Только cpu= использует реальные данные из видео потока о квантах (т.е. где наверняка есть блок, а где быстрее всего нет). Все скрипты (пока я таки не допишу соответствующий плагин) деблочат все что попадется.
[Профиль]  [ЛС] 

javum

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

Сообщений: 32

javum · 10-Фев-09 13:36 (спустя 10 мин.)

Micleo
его надо импортировать в скрипт
Код:
Import("путь к плагинам\DeBlock_QED.avs")
[Профиль]  [ЛС] 

javum

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

Сообщений: 32

javum · 10-Фев-09 13:40 (спустя 3 мин.)

Pustovetov писал(а):
Только cpu= использует реальные данные из видео потока о квантах (т.е. где наверняка есть блок, а где быстрее всего нет).
Использует - это хорошо, но деблочит, ИМХО, хуже, чем Deblock_QED.
Цитата:
Все скрипты (пока я таки не допишу соответствующий плагин) деблочат все что попадется.
Будем ждать с нетерпением
[Профиль]  [ЛС] 

shellgen

VIP (Адм)

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

Сообщений: 6417

shellgen · 10-Фев-09 13:45 (спустя 5 мин.)

javum писал(а):
Использует - это хорошо, но деблочит, ИМХО, хуже, чем Deblock_QED.
...и мажет тоже хуже.
[Профиль]  [ЛС] 

9Nickko

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

Сообщений: 137

9Nickko · 10-Фев-09 13:52 (спустя 6 мин.)

javum писал(а):
Micleo
его надо импортировать в скрипт
Код:
Import("путь к плагинам\DeBlock_QED.avs")
Теперь вот такую ерунду выдаёт:
[Профиль]  [ЛС] 

Mike7L

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

Сообщений: 393

Mike7L · 10-Фев-09 14:04 (спустя 12 мин., ред. 10-Фев-09 14:04)

Pustovetov
Цитата:
Какая разница с какой частотой результат будед проигрываться?
Если рассматривать видеопоток как последовательность кадров, то дейтсвительно - разницы никакой. Абсолютно. Ну подержим кадр на экране не 1/24 сек а 1/25 - качество не при чем. Спасибо.
[Профиль]  [ЛС] 

Tempter57

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

Сообщений: 4995


Tempter57 · 10-Фев-09 14:30 (спустя 25 мин., ред. 10-Фев-09 14:30)

Micleo
Ничего, что для подключения DeBlock_QED, надо подключить Dctfilter, MaskTools и deblock.dll
смотри http://avisynth.org/mediawiki/Deblock_QED
и лучше сразу применить Deblock_QED_MT2.avs
[Профиль]  [ЛС] 

9Nickko

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

Сообщений: 137

9Nickko · 10-Фев-09 15:45 (спустя 1 час 15 мин., ред. 10-Фев-09 16:12)

Tempter57 писал(а):
Micleo
Ничего, что для подключения DeBlock_QED, надо подключить Dctfilter, MaskTools и deblock.dll
смотри http://avisynth.org/mediawiki/Deblock_QED
и лучше сразу применить Deblock_QED_MT2.avs
DctFilter.dll, mt_masktools.dll, deblock.dll и так лежали в папке plugins
а вот Deblock_QED_MT2 заработал в отличие от просто Deblock_QED
всё бы хорошо, только эффекта от этого фильтра практически ноль. может правда потому что я делаю апскейл аниме клипа. но dfttest гораздо лучше убирает блоки
Пример сравнения:
скрытый текст
- оригинал

- Deblock_QED_MT2

- dfttest

- Deblock_QED_MT2 + dfttest
Делаю апскейл из 320*240 до 640*480
Оригинальное видео:
http://multi-up.com/57206
Видео после ресайза, обработанное dfttest и потом LSFmod:
http://multi-up.com/57213
[Профиль]  [ЛС] 

javum

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

Сообщений: 32

javum · 10-Фев-09 15:48 (спустя 3 мин.)

Micleo
Опередил меня Tempter57
Можешь еще порыться в поисках его последней версии архива plugins_filtering. Там много всего хорошего.
[Профиль]  [ЛС] 
 
Тема закрыта
Loading...
Error