Установка XviD
От: consumer  
Дата: 28.02.06 23:04
Оценка:
Я тут задал вопрос про DVDx+ffmpeg, но пока результатов нет. В общем-то, как вариант на первое время можно сделать DVDx+XviD. Только XviD придётся распространять вместе с самой прогой и устанавливать следовательно автоматически. Тут где-то предлагался вариант установки с помощью INF-файла. Я пробовал — работает, только с всплывающим окном "Установка оборудования: Устройство не тестировалось на совместимось с XP ... и т.д.". С другой стороны релиз XviD'а сам по себе ставится без такого сообщения, но со всеми стандартными для инсталлятора (выбор папки и т.п.).

Поэтому вопрос:
Как зарегить в системе Xvid (xvid.ax, xvidcore.dll, xvidvfw.dll) без участия юзера?

Спасибо.
Re: Установка XviD
От: NSP Россия  
Дата: 09.03.06 10:50
Оценка:
Здравствуйте, consumer, Вы писали:

C>Я тут задал вопрос про DVDx+ffmpeg, но пока результатов нет. В общем-то, как вариант на первое время можно сделать DVDx+XviD. Только XviD придётся распространять вместе с самой прогой и устанавливать следовательно автоматически. Тут где-то предлагался вариант установки с помощью INF-файла. Я пробовал — работает, только с всплывающим окном "Установка оборудования: Устройство не тестировалось на совместимось с XP ... и т.д.". С другой стороны релиз XviD'а сам по себе ставится без такого сообщения, но со всеми стандартными для инсталлятора (выбор папки и т.п.).


C>Поэтому вопрос:

C>Как зарегить в системе Xvid (xvid.ax, xvidcore.dll, xvidvfw.dll) без участия юзера?

C>Спасибо.


Всё элементарно:программно копируешь xvid.dll,xvidcore.dll,xvidvfw.dll,xvid.ax в win\system,
регистрируешь xvid.ax как com-объект и ставишь reg-файл с настройками(советую написать функцию экспорта из файла в реестр):


REGEDIT4

[HKEY_CURRENT_USER\Software\GNU\XviD]
"Supported_4CC"=dword:00000007
"Brightness"=dword:00000019
"Deblock_Y"=dword:00000000
"Deblock_UV"=dword:00000000
"Dering"=dword:00000000
"FilmEffect"=dword:00000000
"ForceColorspace"=dword:00000000
"FlipVideo"=dword:00000000
"Videoinfo_Compat"=dword:00000001


На интересной работе и сны интересные видишь
Re[2]: Установка XviD
От: consumer  
Дата: 09.03.06 11:56
Оценка:
Здравствуйте, NSP, Вы писали:

NSP>Всё элементарно:программно копируешь xvid.dll,xvidcore.dll,xvidvfw.dll,xvid.ax в win\system,

NSP>регистрируешь xvid.ax как com-объект и ставишь reg-файл с настройками(советую написать функцию экспорта из файла в реестр):

Вот я для проверки Вашего варианта сделал такой батничек:
NSP>
@echo off
copy xvid.ax %systemroot%\system32\xvid.ax
copy xvidcore.dll %systemroot%\system32\xvidcore.dll
copy xvidvfw.dll %systemroot%\system32\xvidvfw.dll

regsvr32 /s %systemroot%\system32\xvid.ax
reg IMPORT xvid.reg
NSP>


В xvid.reg — это ранее экспортированная в файл ветка ...\GNU\XviD\
для моей версии XviD'a.

Да, всё проходит без взаимодействия с юзером. Только кодек не добавляется в список кодеков. Что я сделал не так? Может программная регистрация COM-объекта принципиально отличается от вызова DllRegisterServer regsvr32?
Re[3]: Установка XviD
От: NSP Россия  
Дата: 09.03.06 19:05
Оценка:
Здравствуйте, consumer, Вы писали:

C>Здравствуйте, NSP, Вы писали:


NSP>>Всё элементарно:программно копируешь xvid.dll,xvidcore.dll,xvidvfw.dll,xvid.ax в win\system,

NSP>>регистрируешь xvid.ax как com-объект и ставишь reg-файл с настройками(советую написать функцию экспорта из файла в реестр):

C>Вот я для проверки Вашего варианта сделал такой батничек:

NSP>>
C>@echo off
C>copy xvid.ax %systemroot%\system32\xvid.ax
C>copy xvidcore.dll %systemroot%\system32\xvidcore.dll
C>copy xvidvfw.dll %systemroot%\system32\xvidvfw.dll

C>regsvr32 /s %systemroot%\system32\xvid.ax
C>reg IMPORT xvid.reg
NSP>>


C>В xvid.reg — это ранее экспортированная в файл ветка ...\GNU\XviD\

C>для моей версии XviD'a.

C>Да, всё проходит без взаимодействия с юзером. Только кодек не добавляется в список кодеков. Что я сделал не так? Может программная регистрация COM-объекта принципиально отличается от вызова DllRegisterServer regsvr32?



Нет,не отличается.У меня всегда так ставилось нормально.А,если не секрет, откуда Вы берёте этот список кодеков?
На интересной работе и сны интересные видишь
Re[4]: Установка XviD
От: consumer  
Дата: 09.03.06 20:55
Оценка:
Здравствуйте, NSP, Вы писали:

NSP>Здравствуйте, consumer, Вы писали:


C>>Здравствуйте, NSP, Вы писали:


NSP>>>Всё элементарно:программно копируешь xvid.dll,xvidcore.dll,xvidvfw.dll,xvid.ax в win\system,

NSP>>>регистрируешь xvid.ax как com-объект и ставишь reg-файл с настройками(советую написать функцию экспорта из файла в реестр):

C>>Вот я для проверки Вашего варианта сделал такой батничек:

NSP>>>
C>>@echo off
C>>copy xvid.ax %systemroot%\system32\xvid.ax
C>>copy xvidcore.dll %systemroot%\system32\xvidcore.dll
C>>copy xvidvfw.dll %systemroot%\system32\xvidvfw.dll

C>>regsvr32 /s %systemroot%\system32\xvid.ax
C>>reg IMPORT xvid.reg
NSP>>>


C>>В xvid.reg — это ранее экспортированная в файл ветка ...\GNU\XviD\

C>>для моей версии XviD'a.

C>>Да, всё проходит без взаимодействия с юзером. Только кодек не добавляется в список кодеков. Что я сделал не так? Может программная регистрация COM-объекта принципиально отличается от вызова DllRegisterServer regsvr32?



NSP>Нет,не отличается.У меня всегда так ставилось нормально.А,если не секрет, откуда Вы берёте этот список кодеков?


Ну дк. система\Диспетчер устройств\Звуковые, видео и игровые устр-ва\Видео Кодеки\Свойства...

Ну и ещё прога моя список выдаёт, где идёт работа через API ICOpen, ICGetSettings и т.п...

Не знаю. Не добавляется.
Re[5]: Установка XviD
От: NSP Россия  
Дата: 10.03.06 14:12
Оценка:
C>Ну дк. система\Диспетчер устройств\Звуковые, видео и игровые устр-ва\Видео Кодеки\Свойства...

C>Ну и ещё прога моя список выдаёт, где идёт работа через API ICOpen, ICGetSettings и т.п...


C>Не знаю. Не добавляется.


Дык туда и не должно...Он прекрано будет работать и так,но если надо,чтобы был виден именно там,добавь в reg-файл регистрацию (по образцу там) XviD в
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers32
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc

и все дела!
На интересной работе и сны интересные видишь
Re[6]: Установка XviD
От: consumer  
Дата: 10.03.06 14:53
Оценка:
Здравствуйте, NSP, Вы писали:

C>>Ну дк. система\Диспетчер устройств\Звуковые, видео и игровые устр-ва\Видео Кодеки\Свойства...


C>>Ну и ещё прога моя список выдаёт, где идёт работа через API ICOpen, ICGetSettings и т.п...


C>>Не знаю. Не добавляется.


NSP>Дык туда и не должно...Он прекрано будет работать и так,но если надо,чтобы был виден именно там,добавь в reg-файл регистрацию (по образцу там) XviD в

NSP>HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers32
NSP>HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc

NSP>и все дела!
Да. Всё фурычит. Спасибо Вам и Вашим потомкам.


P/S/
Вот эта функция без записей в drivers.desc и drivers32 не выводит кодек. Может некоторым утилитам они не нужны, но всё таки эти записи необходимы по "ГОСТам". Или этот метод устарел...

int AVIEnumVideoCompressor(int h_size,int v_size,int out_format,ICINFO *codec_info) {
    
    AVISetDimension(h_size,v_size,out_format);

    ICINFO info;
    ZeroMemory(&info, sizeof(ICINFO));
    info.dwSize = sizeof(ICINFO);

    int i,j;

    for(i=0,j=0; ICInfo(ICTYPE_VIDEO, i, &info); i++) {
      
      HIC hic = ICOpen(info.fccType, info.fccHandler, ICMODE_COMPRESS);
      
      if (hic) {
        if ( ICCompressQuery(hic, lpinput, NULL)==ICERR_OK )
          ICGetInfo(hic, &codec_info[j++], sizeof(ICINFO));
        ICClose(hic);
      }

    }

    return j;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.