Ru-Board.club
← Вернуться в раздел «Программы»

» Koepi's XViD codec

Автор: Gideon Vi
Дата сообщения: 07.06.2010 14:46

Цитата:
Я не понимаю смысла в этом действии: от этого хоть на 1% сжатие увеличивается?!

Игорь заявлял, что у него консоль кодирует процентов на 15 быстрее. Сам не проверял
Автор: Valery_Sh
Дата сообщения: 07.06.2010 16:38
с консольными геморно передавть кучу параметров.
комфортнее в дубе, с импортом\экспортом настроек
Автор: Gideon Vi
Дата сообщения: 07.06.2010 17:01

Цитата:
с консольными геморно передавть кучу параметров.

если параметры меняются, то да. у меня уже давно меняется только интервал для кей фреймов, так что при наличии какого-нибудь универсального батника ком.строка может быть даже удобнее даба
Автор: Vladins
Дата сообщения: 07.06.2010 22:58
Виртуал даб отдыхает и нервно курит:
Пакетная обработка всех файлов в папке (требуется установленный avisynth и отсутствие русских символов в названиях исходных файлов и путях). В одну папку кладутся исходные файлы, xvid_encraw.exe и .cmd файл следующего содержания:

@echo off

set qtype=1

set progress=3

set vhqmode=4

set threads=1

set framerate=30.00000


:: *** старт команд ***
for %%i in (*.avi) do (
echo ********** File %%i **********

echo.
echo [%DATE% %TIME%] start convert video
echo.
echo AviSource^("%%i", audio=false^) ConvertToYV12^ Crop(32,32,-32,-32^) Lanczos4resize(320,240^) FFT3DFilter(plane=4, sigma=1.5, sigma2=2.5, sigma3=2.5, sigma4=1.5, bt=1, bw=32, bh=32, ow=16, oh=16, sharpen=0.5^) >%%~ni.avs
echo [ %DATE% %TIME%] 1 pass
"xvid_encraw.exe" -i "%%~ni.avs" -pass1 ".stats" -bitrate 1000 -full1pass -kboost 1 -kreduction 1 -oimprove 100 -odegrade 100 -overhead 0 -nopacked -vhqmode 4 -qtype 1 -masking 2 -imin 3 -pmin 3 -bmin 3 -progress 3 -noclosed_gop -bvhq -threads 1 -framerate 30.00000 -avi "%%~ni.video.avi"
echo.
echo [ %DATE% %TIME%] 2 pass
echo.
"xvid_encraw.exe" -i "%%~ni.avs" -pass2 ".stats" -bitrate 1000 -kboost 1 -kreduction 1 -oimprove 100 -odegrade 100 -overhead 0 -nopacked -vhqmode 4 -qtype 1 -masking 2 -imin 3 -pmin 3 -bmin 3 -progress 3 -noclosed_gop -bvhq -threads 1 -framerate 30.00000 -avi "%%~ni.video.avi"

echo.
echo [%DATE% %TIME%] complete
echo.
)
pause


Источник: http://rutracker.org/forum/viewtopic.php?t=2110211

Скрипты .avs генерируются автоматически с заданными в .cmd файле параметрами, при желании можно прописать строку чтоб они автоматически удалялись. Микширование со звуком выполняется аналогично.
Автор: Gideon Vi
Дата сообщения: 08.06.2010 02:00

Цитата:
Виртуал даб отдыхает и нервно курит

VD - это ведь не только фреймворк к энкодеру. Хотя для Ваших задач вариант действительно интересный, пять баллов
Автор: Valery_Sh
Дата сообщения: 08.06.2010 18:12
в качестве разминки для мозгов это будет полезно. НО.

как быть в случае, если используются "зоны" в xvid ? а ведь это - одна из "вкусностей".

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

в случае батника, я плохо представляю себе эту процедуру без дополнительных телодвижений
имхо, разумеется.
Автор: Vladins
Дата сообщения: 09.06.2010 20:58
Valery_Sh
В консольной версии обработка зон тоже есть. Но это уже не пакетная обработка, смысл приведенного мною .cmd файла в конвертации большого количества файлов одним нажатием.
Кроме этого в полной мере можно использовать все возможности ависинта, который на порядок выше чем виртуал даб. Вот полный вариант конвертации avi to avi (для фотоаппаратов Canon MJPEG+wav):

@echo off

set qtype=1

set progress=3

set vhqmode=4

set threads=1

set framerate=30.00000


:: *** старт команд ***
for %%i in (*.avi) do (
echo ********** File %%i **********

echo.
echo [%DATE% %TIME%] start convert video
echo.
echo AviSource^("%%i", audio=false^) ConvertToYV12^ >%%~ni.avs
echo [ %DATE% %TIME%] 1 pass
"xvid_encraw.exe" -i "%%~ni.avs" -pass1 ".stats" -bitrate 2000 -full1pass -kboost 1 -kreduction 1 -oimprove 100 -odegrade 100 -overhead 0 -nopacked -vhqmode 4 -qtype 1 -masking 2 -imin 3 -pmin 3 -bmin 3 -progress 3 -noclosed_gop -bvhq -threads 1 -framerate 30.00000 -avi "%%~ni.video.avi"
echo.
echo [ %DATE% %TIME%] 2 pass
echo.
"xvid_encraw.exe" -i "%%~ni.avs" -pass2 ".stats" -bitrate 2000 -kboost 1 -kreduction 1 -oimprove 100 -odegrade 100 -overhead 0 -nopacked -vhqmode 4 -qtype 1 -masking 2 -imin 3 -pmin 3 -bmin 3 -progress 3 -noclosed_gop -bvhq -threads 1 -framerate 30.00000 -avi "%%~ni.video.avi"
del %%~ni.avs
ffmpeg -i %%~ni.avi -vn -acodec copy %%~ni.wav
lame.exe --cbr --strictly-enforce-ISO --noreplaygain -b 160 -q0 %%~ni.wav %%~ni.mp3
del %%~ni.wav
ffmpeg -i %%~ni.mp3 -i %%~ni.video.avi -vcodec copy -acodec copy D:\temp\outputbp\%%~ni.avi
del %%~ni.video.avi
del %%~ni.mp3
)
pause


В папке с видео должны лежать xvid_encraw.exe, lame.exe, ffmpeg.exe.

Автор: Valery_Sh
Дата сообщения: 09.06.2010 22:49
Vladins
за работающий пример - зачОт
но :
как вы собираетесь указывать начало\конец зон ? если номера кадров заранее известны, то нет проблем.

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

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

многоэтапно ? да, безусловно, зато результат предсказуем, а кому надо "в один клик", пользуются другими "цацками"

зы\ а вот Lame как раз из ком.строки, если нужен МР3. тут соглашусь неглядя
Автор: Vladins
Дата сообщения: 10.06.2010 17:44

Цитата:
многоэтапно ? да, безусловно, зато результат предсказуем


Этот вариант действительно лучше. Обычно кодирую отдельно видео, звук обрабатываю в Adobe audition, сведение avi + mp3 делаю в виртуал дабе. Interleaving в виртуал дабе оставлял всегда по умолчанию (1 кадр), а в приведенной выше пакетной обработке ffmpeg ставит 26 мс (0,78 кадра), влияют ли как то эти значения на совместимость с железными плеерами и какие значения лучше использовать чтобы обеспечить читаемость на них?

Добавлено:

Цитата:
за работающий пример - зачОт


К сожалению еще рано: есть небольшая проблема http://forum.ru-board.com/topic.cgi?forum=5&topic=8879&start=160#8
Автор: MihaNix
Дата сообщения: 18.06.2010 17:26
Будет ли прирост производительности если попробовать ASM код переписать на CUDA. или все ввод вывод сожрет? В ASM-е не шарю, как и в C, но половину кода на асме понимаю на С сложней только изучать начали. Параллельно с учебой полезной практикой для себя занимаюсь - ковыряю Xvid. Юзаю Xvid1.2.2. Компилирую в Visual Studio 2008 + Nasm.
Если выигрышь будет, то что будет эффективней переписать на куду?
Как при помощи GCC под виндами собрать проект Xvid?
Автор: Vladins
Дата сообщения: 18.06.2010 19:31
Усовершенствованный вариант пакетной конвертации AVI to AVI:

Код: @echo off
:: *** старт команд ***
for %%i in (*.avi) do (
echo ********** File %%i **********

echo.
echo [%DATE% %TIME%] start convert video
echo.
echo AviSource^("%%i", audio=false^) ConvertToYV12^ >%%~ni.avs
echo [ %DATE% %TIME%] 1 pass
"C:\Program Files\1\clienc\xvid_encraw.exe" -i "%%~ni.avs" -pass1 ".stats" -full1pass -kboost 1 -kreduction 1 -oimprove 100 -odegrade 100 -overhead 0 -nopacked -vhqmode 4 -qtype 1 -masking 2 -imin 3 -pmin 3 -bmin 3 -progress 3 -noclosed_gop -bvhq -threads 1 -framerate 30.00000 -avi "%%~ni.video.avi"
echo.
echo [ %DATE% %TIME%] 2 pass
echo.
"C:\Program Files\1\clienc\xvid_encraw.exe" -i "%%~ni.avs" -pass2 ".stats" -bitrate 2000 -kboost 1 -kreduction 1 -oimprove 100 -odegrade 100 -overhead 0 -nopacked -vhqmode 4 -qtype 1 -masking 2 -imin 3 -pmin 3 -bmin 3 -progress 3 -noclosed_gop -bvhq -threads 1 -framerate 30.00000 -avi "%%~ni.video.avi"
del %%~ni.avs
echo.
echo [%DATE% %TIME%] start convert audio
echo.
echo DirectShowSource^("%%i"^) >%%~ni.avs
"C:\Program Files\1\clienc\Wavi.exe" %%~ni.avs - | "C:\Program Files\1\clienc\lame.exe" --cbr --strictly-enforce-ISO --noreplaygain -b 160 -q0 - %%~ni.mp3
"C:\Program Files\1\clienc\ffmpeg.exe" -i %%~ni.mp3 -itsoffset 00:00:00.030 -i %%~ni.video.avi -vcodec copy -acodec copy D:\temp\outputbp\%%~ni.avi
del %%~ni.video.avi
del %%~ni.mp3
del %%~ni.avs
del .stats
)
pause
Автор: V0lt
Дата сообщения: 18.06.2010 20:35
Vladins

Цитата:
Кто знает как выставить в командной строке низкий приоритет?

попробуй свой батник так запустить:
start /LOW convertAVI.cmd
Автор: Gideon Vi
Дата сообщения: 19.06.2010 01:59
если не поможет, запускай сначала cmd, ставь ему низкий приоритет, а уже в нем запускай батник

Добавлено:

Цитата:
CUDA

будет. Вместе с серьезным падением в качестве. Либо потребуется такое кол-во времени и такой объем костылей, которые тратить на морально устаревший энкодер смысла нет.
Если хочеться повозиться, то лучше копай в сторону многопоточности, ибо она в сабже не очень.
Автор: MihaNix
Дата сообщения: 19.06.2010 13:27
Просто кодек ну очень медленно работает. Посмотрел вставки на астме sse, mmx и считаю что подобное хорошо ляжет на куду. Или я не прав? Скачал xvid.1.3.0-(cvs).091025.03.29-vaq-mtk-icl11_x64_no_inst -под Win7 x64 - работать не захотело, али с командной строки юзать?
Автор: MihaNix
Дата сообщения: 20.06.2010 05:33
только пересылка данных с CPU наGPU всю производительность думаю съест.
Автор: Valery_Sh
Дата сообщения: 28.06.2010 16:42
мне, положим, фиолетово, что он "морально устарел". когда все без исключения бытовые шарманки начнут принимать x264, перейду на него.

недавно попросили пережать цикл документальных с DVD, с сохранением совместимости с бытовыми балалайками. сделал в Xvid на ура.
Автор: Ironcast
Дата сообщения: 29.06.2010 00:56

Цитата:
морально устарел

Есть категория людей, мчащихся впереди паровоза и радующихся новым рюшкам.. Я же , к примеру, никогда не понимал в чём смысл смотреть фильм в кинотеатре в первую неделю,
когда через две можно будет спокойно посмотреть дома.. Кому-то это кажется мегакрутым...
А мне именно x264 кажется мегатормозом..
Автор: Gideon Vi
Дата сообщения: 29.06.2010 01:53

Цитата:
мне, положим, фиолетово, что он "морально устарел".

Абсолютно не понятно, к чему этот Ваш манифест.

Цитата:
Я же , к примеру, никогда не понимал в чём смысл смотреть фильм в кинотеатре в первую неделю

У Вас дома аппаратура, сравнимая по эффекту с мега кинотеатром? Искренне за Вас рад.
Поход в кинотеатр - это ещё и способ проголосовать рублем за понравившийся фильм. К примеру, у нас больше не будет фильмов, сравнимых по эффекту с Watchmen именно из-за того, что основная прибыль в кинотеатрах делается на молодых людях, которые в силу отсутствия жизненного опыта увидели в отличном фильме только шокирующий их фасад.

Цитата:
когда через две можно будет спокойно посмотреть дома..

Вот из-за такой жизненной позиции теперь приходиться брать PS3, так как на PC с каждым годом все меньше мега игр.
Почему-то большинство не понимает, что за ништяки надо платить.
Автор: Valery_Sh
Дата сообщения: 29.06.2010 06:06
Gideon Vi
да какой там манифест, это больше для неофитов чтоб не пугать. ага.
Автор: Ironcast
Дата сообщения: 29.06.2010 14:29

Цитата:
Поход в кинотеатр - это ещё и способ проголосовать рублем за понравившийся фильм.

Да нет, на новые фильмы и игры меня уже не подсадить..Эффекты просто не люблю во всём.
Но я не понимал этого явления и в докомповую эпоху. Когда первые сеансы были в самое смотримое время забиты, и с дорогими ценами, а спустя две-три недели на тот же фильм свободно можно было попасть и довольно ощутимо дешевле..Вот этого-то явления я точно н не понимаю Стремления толпы куда-то спешить и потом хвалиться этим друг перед дружкой (иного объяснения не могу предположить, хотя буду признателен за иной вариант рали интереса )
Автор: MihaNix
Дата сообщения: 17.07.2010 15:19
Подскажите пожалуйста ресурсы на русском языке, касающиеся Xvid. Интересует компиляция из исходников. Очень большое желание разобраться в коде что к чему, какие алгоритмы используются.
Еще вопрос назрел - много ли ресурсов требует DCT? Так же в исходниках содержится несколько реализаций на астме, в зависимости от используемой архитектуры зависимостей в сишных кодах не нашел, только в файлах проекта ссылки на асм и си файлы - как правильно подключать новые файлы к проекту на Visual Studio 2008.
Понимаю что тексты изобилуют комментариями, но вот беда с английским языком у меня плоховато. Что такое предсказание движения, и какие участки кода отвечают за данные функции.
Исходники Xvidcore версии 1.2.2
Автор: Vladins
Дата сообщения: 07.08.2010 19:43
Консольная версия 1,3,0 при -threads 4 загружает 4 ядра на 60%, можно ли сделать 100%?
Автор: SamLab
Дата сообщения: 08.08.2010 00:47

Цитата:
с учетом использования моих настроек

Файл удален...
Автор: szl
Дата сообщения: 14.08.2010 02:25
XviD.1.3.0-(CVS).100814.02.44-VAQ-MTK x86/x64

XviD.1.3.0-(CVS).100814.02.44-VAQ-MTK-DivX-icl11 x86 Вариант с инсталлятором / With installer (886.97 Кбайт 2010-08-14 03:09:52) (xvid_encraw.exe, xvidcore.dll; xvidvfw.dll; xvid.ax (static). Intel® C++ Compiler Professional Edition for Windows 11.1.065)

XviD.1.3.0-(CVS).100814.02.44-VAQ-MTK-DivX-icl11 x64 Вариант с инсталлятором / With installer (1.01 Мбайт 2010-08-14 03:08:39) (xvid_encraw.exe, xvidcore.dll; xvidvfw.dll; xvid.ax (static). Intel® C++ Compiler Professional Edition for Windows 11.1.065)

Изменения:
•skip mv_bits assert in _DEBUG mode;
•app-level multi-threading for xvid_encraw;
•typo with sequence splitting;
•fixed multithreaded AVI input (hopefully);
•fixed rounding issue for app-level multi-threading;
•API change: signal fourcc to xvidcore;
•decoder: better distinguish between xvid and non-xvid streams.
Автор: ALEX666999
Дата сообщения: 15.08.2010 05:34

Цитата:
szl: XviD.1.3.0-(CVS).100814.02.44-VAQ-MTK x86/x64

Спасибо. Однако мелкий глюк, то ли у меня, то ли в инсталляторе (x86): вроде указал, что не нужно декодировать xvid'овским декодером, но всё равно, декодерует им по-умолчанию Разрегистрировал вручную (ax).
Автор: MihaNix
Дата сообщения: 29.08.2010 11:37
Кто ковырял исходники Xvid - подскажите пожалуйста. Что описывается в файле sad.c. А то лажа какаято получается си я знаю плохо, видимо от того мне кажется что там левый код, бесполезно нагружающий процессор - не могу его связать с остальным кодом.
Автор: V0lt
Дата сообщения: 29.08.2010 12:01
MihaNix

Цитата:
Что описывается в файле sad.c.

Судя по комментариям там есть Functions used in motion estimation algorithms
Автор: MihaNix
Дата сообщения: 01.09.2010 16:47
Да это я понял. И даже нашел куски, которые способен понять. Но в целом замутно все, как будто в холостую CPU циклами нагружают. Может какой ресурс Русскоязычный подскажете, где бы все разжовывалось по Xvid-у?

Добавлено:
Да к чему я?
Вот эта конструкция как нельзя кстати параллелится(на SIMD ляжет хорошо). Короче есть куда еще копать.
for (j = 0; j < 16; j++) {
            sad += abs(ptr_cur[0] - ptr_ref[0]);
            ...
            sad += abs(ptr_cur[15] - ptr_ref[15]);

            if (sad >= best_sad)
                return sad;

            ptr_cur += stride;
            ptr_ref += stride;
Только как все это реализовать? Пока только планы.

Добавлено:
iDCT тоже хорошо распараллелится - по моим расчетам прирост в производительности от 30 до 40% будет.

Кстати сходил по ссылочке(см. выше) на Xvid 1.3.0 - так она заработала у меня наконецто(раньше не рабочая была).
Автор: szl
Дата сообщения: 02.09.2010 12:50
Если у кого то касперский ругается на файл xvid_encraw.exe, то не обращайте на это внимание, это ложное срабатывание антивирусной программы.

[more=ответ из KAV:]Здравствуйте,

Это было ошибочное срабатывание.
Оно будет исправлено.
Благодарим Вас за помощь.

-------------------------------------------
С наилучшими пожеланиями,
Фирсов Павел.
Вирусный аналитик,
ЗАО "Лаборатория Касперского"
_______________________________
http://www.kaspersky.ru/virusscanner - oнлайн тестирование самыми свежими KAV-базами.
http://www.kaspersky.com/helpdesk.html - техническая поддержка
_______________
Тел.: +7(095)797-8700 Факс: +7 (495) 948-43-31
newvirus@kaspersky.com
http://www.kaspersky.com http://www.viruslist.com


Развернуть
From: szl@*******.ru
Sent: 02.09.2010 1:38:00
To: "New Virus" <newvirus@kaspersky.com>
Subject: [VirLabSRF][False alarm on a file][M:1][LN:RU][L:0]


LANG: ru
email: szl@*****.ru

description:
Проверенный файл: xvid_encraw.exe - Инфицирован

xvid_encraw.exe - инфицирован Trojan.Win32.Buzus.fgsv


Статистика проверки:
Известных вирусов: 4173897 Дата последнего обновления: 01-09-2010
Размер файла (Kb): 200 Тел вирусов: 1
Файлов: 1 Предупреждений: 0
Архивов: 0 Подозрительных: 0

Загруженные файлы:
xvid_encraw.exe[/more]
Автор: mrdime
Дата сообщения: 06.09.2010 15:24
Господа!
Возник такой вопрос. Делаю рип ДВД с помощью AutoGK. Несмотря на то, что кодирую в 2 прохода, выставляю довольно большой (2250Мб для фильма 1:36 ч. и размере картинки 720*544) конечный размер, получаю ужасное по качеству видео - шлейф из мелких черных квадратиков - особенно, когда идет быстрое перемещение объектов.

Подозреваю, что проблема в кривых настройках кодека. Что, надо изменить, чтобы получалось качественное видео?

Страницы: 12345678910111213141516171819202122232425262728

Предыдущая тема: WM Cracker


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.