Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Xvid codec

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Открыть новую тему     Написать ответ в эту тему

vasill

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

XviD это популярный открытый (open source) ISO MPEG-4 совместимый видеокодек, представляющий собой альтернативу для коммерческого DivX кодека. Кодек написан на С при использованием ассемблерных оптимизаций для улучшения качества и скорости, включая поддержку возможностей MMX, SSE, SSE2 и 3Dnow! для современных процессоров и AltiVec для PowerPC (макинтош). Кодек содержит множество настроек и фильтров. В последнее время широко используются во многих цифровых фильмах и роликах. Это некоммерческий проект и он разрабатывается и поддерживается многими энтузиастами по всему миру.
 
По тестам одного из самых известных ресурсов посвященных цифровому видео - doom9.org, XviD является лидером среди ASP (Advanced Simple Profile) кодеков. (Для просмотра выключите JavaScript)
 
Где скачать:
 
На официальном сайте Xvid.org можно скачать уже скомпилированный готовый кодек с графической оболочкой, либо исходный код XviD для девелоперов.  
 
 
Статьи по XviD на русском:
  • Настройки кодека XviD (от 27.11.2005)
  • Кодек Xvid (от 23.12.2003)
  • Руководство по трансформации DVD в DivX/XviD (от 04.03.2004)
     
    Русскоязычные форумы по видеокодированию:
  • "Цифровое видео" на ruforum.net
  • "Цифровое видео" на forum.ixbt.com
     
    Англоязычные ресурсы по XviD:
  • forum.doom9.org
  • www.xvid.org
  • forum.digital-digest.com
  • страница XviD на wikipedia.org

  • Всего записей: 360 | Зарегистр. 23-08-2001 | Отправлено: 21:38 12-12-2002 | Исправлено: ndch, 11:27 08-06-2020
    Ironcast



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    а как же у вас с такими настройками получился такой размерчик ?
    действительно, привели бы настройки второго прохода
    1500 это размер первого прохода. Он с максимальным квантом, то есть 2. А с 7 где-то 350 мегов будет  
     

    Всего записей: 3886 | Зарегистр. 20-04-2008 | Отправлено: 23:19 04-06-2010
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    дык этта... а как же у вас с такими настройками получился такой размерчик ?

    да ни как.

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 04:21 05-06-2010
    Vladins

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Измерил PSNR и SSIM - трехпроходное кодирование ничего не дает, цифры одинаковы как при 2 так и при 3-х проходах. Опция -masking 2 дает меньшие квантизеры, значит можно переходить на 1.3.127. А теперь главный вопрос: как выполнить пакетное кодирование большого количества файлов с одинаковыми параметрами в xvid_encraw.exe? Раньше для кажого файла писал параметры в .bat файл, но это сильно долго.

    Всего записей: 68 | Зарегистр. 22-05-2010 | Отправлено: 22:51 05-06-2010
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    а требуется именно консоль? Свежие версии VirtualDub в сочетании с vfw версией сабжа позволяют делать пакетное кодирование с одинаковыми настройками

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 04:26 06-06-2010
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Он с максимальным квантом, то есть 2
    это как раз есть минимальный.
     
    Gideon Vi
    у меня старая версия 1.2.1 final от 04.12.08.  
    на какую менять и есть ли смысл ?
    спсб.

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 05:50 06-06-2010 | Исправлено: Valery_Sh, 05:51 06-06-2010
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    на какую менять и есть ли смысл ?

    на эту. Правда, с учетом использования моих настроек

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 16:35 06-06-2010
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    данке шон. попробум.

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 18:41 06-06-2010
    Vladins

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Gideon Vi С консоли возвращаться на vfw как-то не хочется. Есть такая инструкция, может кто-нибудь подскажет как это сделать:  
     
    Create a batch file by first creating a text document and changing the extension to bat.  
     
    Parameter list - 2pass  
     %1 - avisynth script  
     %2 - output file name without mp4 extension  
     %3 - video bitrate  
     %4 - audio bitrate  
     %5 - minimum quantizer - 17 should be used for 320x240 resolution, 19 for 640x480 or higher.  
     %6 - delete stats file after encoding, 0=off, 1=on  
     %7 - delete elementary streams after muxing, 0/blank=off, 1=on  
     
    Parameter list - 1pass  
     %1 - avisynth script  
     %2 - output file name without mp4 extension  
     %3 - audio bitrate  
     %4 - quantizer - 17 should be used for 320x240 resolution, 19 for 640x480 or higher.  
     %5 - delete elementary streams after muxing, 0/blank=off, 1=on  
     
    Parameter list - xvid  
     %1 - avisynth script  
     %2 - output file name without avi extension  
     %3 - video bitrate  
     %4 - audio bitrate  
     %5 - delete stats file, 0=off, 1=on  
     %6 - delete elementary video stream, 0=off, 1=on  
     
     
    runatlow.bat - This will run encode.bat in low priority mode like MeGUI does. It will let you run other things while the encoding is taking place without computer lag, though doing other things will slow down the encoding.  
    start /LOW /B encode.bat
     
    encode.bat - The main batch file. The call lines are how you set up your jobs. Everything below that you'll change maybe once. Look at the parameter list to see what the values correspond to. As you can see, starting from the left, %1 refers to script_mq.avs and you keep going to the right, ending with %7 referring to the value 1 which means the elementary streams will be deleted after being multiplexed.  
     
    You need to configure the lines with x264 and xvid to your liking. If you are using MeGUI and already have your own profiles, you can look at the command line by clicking on config and looking at the bottom part of the window. Or don't change anything, the settings here are quite reasonable.  
     
    Tip: You can tell the encoder to skip a call line by typing REM before it.  
    REM SDA batch encoder v1.1
    @echo off
     
    call :2pass script_mq.avs script_lq 128 64000 17 1 1
    call :2pass script_mq.avs script_mq 512 64000 17 1 1
    call :2pass script_hq.avs script_hq 2048 128000 19 1 1
    call :2pass script_hq.avs script_iq 5000 320000 19 1 1
    call :1pass script_hq.avs script_qp19_iq 320000 19 1
     
    call :xvid script_mq.avs script_mq 512 64 1 1
    call :xvid script_mq.avs script_lq 128 64 1 1
     
     
    echo Finished!
    pause
    GOTO :EOF
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    :2pass
     
    REM TURBO
    x264.exe --pass 1 --bitrate %3 --stats "%~dp1%2.stats" --bframes 5 --direct auto --subme 1 --analyse none --qpmin %5 --me dia --threads auto --thread-input --progress --no-psnr --no-ssim --output NUL %1
     
    x264.exe --pass 2 --bitrate %3 --stats "%~dp1%2.stats" --ref 8 --mixed-refs --no-fast-pskip --bframes 5 --b-rdo --bime --weightb --direct auto --subme 7 --trellis 1 --analyse p8x8,b8x8,i4x4,p4x4 --qpmin %5 --me umh --threads auto --thread-input --progress --no-psnr --no-ssim --output "%~dp1%2_video.mp4" %1
     
    bepipe.exe --script "DirectShowSource(^%~f1^)" | "neroAacEnc.exe" -br %4 -lc -if - -of "%~dp1%2_audio.mp4"
     
    MP4Box.exe -new -add "%~dp1%2_video.mp4" -add "%~dp1%2_audio.mp4" "%~dp1%2.mp4"
     
    if "%6" == "1" del "%~dp1%2.stats"
    if "%7" == "1" del "%~dp1%2_video.mp4" | del "%~dp1%2_audio.mp4"
     
    GOTO :EOF
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    :1pass
     
    x264.exe --qp %4 --ref 8 --mixed-refs --no-fast-pskip --bframes 5 --b-rdo --bime --weightb --nf --direct auto --subme 7 --analyse p8x8,b8x8,i4x4,p4x4 --threads auto --thread-input --progress --no-psnr --no-ssim --output "%~dp1%2_video.mp4" %1
     
    bepipe.exe --script "DirectShowSource(^%~f1^)" | "neroAacEnc.exe" -br %3 -lc -if - -of "%~dp1%2_audio.mp4"
     
    MP4Box.exe -new -add "%~dp1%2_video.mp4" -add "%~dp1%2_audio.mp4" "%~dp1%2.mp4"
     
    if "%5" == "1" del "%~dp1%2_video.mp4" | del "%~dp1%2_audio.mp4"
     
    GOTO :EOF
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    :xvid
     
    xvid_encraw.exe -i %1 -bitrate %3 -pass1 "%~dp1%2.stats" -kboost 100 -ostrength 15 -oimprove 15 -odegrade 15 -overhead 0 -vhqmode 3 -qpel -gmc -closed_gop -lumimasking -max_bframes 3 -bvhq -threads 1
     
    xvid_encraw.exe -i %1 -bitrate %3 -pass2 "%~dp1%2.stats" -avi "%~dp1%2_video.avi" -kboost 100 -ostrength 15 -oimprove 15 -odegrade 15 -overhead 0 -vhqmode 3 -qpel -gmc -closed_gop -lumimasking -max_bframes 3 -bvhq -threads 1
     
    bepipe.exe --script "DirectShowSource(^%~f1^)" | lame.exe -b 64 --cbr -h --silent - "%~dp1%2_audio.mp3"
     
    ffmpeg.exe -i "%~dp1%2_audio.mp3" -acodec copy -i "%~dp1%2_video.avi" -vcodec copy -y "%~dp1%2.avi"
     
    if "%5" == "1" del "%~dp1%2.stats"
     
    if "%6" == "1" del "%~dp1%2_video.avi" | del "%~dp1%2_audio.mp3"
     
    GOTO :EOF
     
    Для virtual duba есть такой вариант пакетной обработки http://blog.danxee.com/archives/211

    Всего записей: 68 | Зарегистр. 22-05-2010 | Отправлено: 19:38 06-06-2010
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Есть такая инструкция, может кто-нибудь подскажет как это сделать:  

    в программах есть топик по bat-никам

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 02:44 07-06-2010
    Ironcast



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я не понимаю смысла в этом действии: от этого хоть на 1% сжатие увеличивается?!

    Всего записей: 3886 | Зарегистр. 20-04-2008 | Отправлено: 12:29 07-06-2010
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

    Игорь заявлял, что у него консоль кодирует процентов на 15 быстрее. Сам не проверял

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 15:46 07-06-2010
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    с консольными геморно передавть кучу параметров.
    комфортнее в дубе, с импортом\экспортом настроек

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 17:38 07-06-2010
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

    если параметры меняются, то да. у меня уже давно меняется только интервал для кей фреймов, так что при наличии какого-нибудь универсального батника ком.строка может быть даже удобнее даба

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 18:01 07-06-2010
    Vladins

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Виртуал даб отдыхает и нервно курит:
    Пакетная обработка всех файлов в папке (требуется установленный 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 файле параметрами, при желании можно прописать строку чтоб они автоматически удалялись. Микширование со звуком выполняется аналогично.

    Всего записей: 68 | Зарегистр. 22-05-2010 | Отправлено: 23:58 07-06-2010 | Исправлено: Vladins, 00:01 08-06-2010
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

    VD - это ведь не только фреймворк к энкодеру. Хотя для Ваших задач вариант действительно интересный, пять баллов

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 03:00 08-06-2010
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    в качестве разминки для мозгов это будет полезно. НО.
     
    как быть в случае, если используются "зоны" в xvid ? а ведь это - одна из "вкусностей".
     
    в дубе все просто и прозрачно : глянули начальный конечный\кадры эпизодов, ввели номера фреймов, настроили зоны, вырубили отображение в панелях, сохранили настройки, запустили.
     
    в случае батника, я плохо представляю себе эту процедуру без дополнительных телодвижений
    имхо, разумеется.

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 19:12 08-06-2010
    Vladins

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    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.
     
     

    Всего записей: 68 | Зарегистр. 22-05-2010 | Отправлено: 21:58 09-06-2010
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Vladins
    за работающий пример - зачОт
    но :
    как вы собираетесь указывать начало\конец зон ? если номера кадров заранее известны, то нет проблем.
     
    пакетная мне не нужна, у меня нет такого материала.
    но это не означает, что она не нужна никому. вполне может быть, что у кого-то большое количество исходников с одинаковыми характеристиками. обычно всё наоборот - материал очень и очень разный, потому и настройки кодека разумнее менять, неговоря уже про скрипты аСинта.
     
    положим, я в дубе обработку не делаю, совсем. всё в аСинте, исходя из источника. для работы со звуком есть отдельные средства, специально для этого предназначенные. дуб используется только для сведения потоков в контейнер.
     
    многоэтапно ? да, безусловно, зато результат предсказуем, а кому надо "в один клик", пользуются другими "цацками"
     
    зы\ а вот Lame как раз из ком.строки, если нужен МР3. тут соглашусь неглядя

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 23:49 09-06-2010
    Vladins

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

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

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

     
    К сожалению еще рано: есть небольшая проблема http://forum.ru-board.com/topic.cgi?forum=5&topic=8879&start=160#8

    Всего записей: 68 | Зарегистр. 22-05-2010 | Отправлено: 18:44 10-06-2010
    MihaNix

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Будет ли прирост производительности если попробовать ASM код переписать на CUDA. или все ввод вывод сожрет? В ASM-е не шарю, как и в C, но половину кода на асме понимаю на С сложней только изучать начали. Параллельно с учебой полезной практикой для себя занимаюсь - ковыряю Xvid. Юзаю Xvid1.2.2. Компилирую в Visual Studio 2008 + Nasm.
    Если выигрышь будет, то что будет эффективней переписать на куду?
    Как при помощи GCC под виндами собрать проект Xvid?

    Всего записей: 124 | Зарегистр. 18-06-2010 | Отправлено: 18:26 18-06-2010
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

    Компьютерный форум Ru.Board » Компьютеры » Программы » Xvid codec


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru