определить каким кодеком сжато видео

 
Начать новую тему   Ответить на тему    Список форумов DirectShow форум -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Tors
Активный


Зарегистрирован: 16.11.2006
Сообщения: 25
Откуда: Харьков

СообщениеДобавлено: Чт Мар 29, 2007 2:29 pm    Заголовок сообщения: определить каким кодеком сжато видео Ответить с цитатой

Я делаю так:
определяю fourcc
c помощью IMediaDet,

Код:

VIDEOINFOHEADER *vih=(VIDEOINFOHEADER *) mt.pbFormat;
                                BITMAPINFOHEADER bih=(BITMAPINFOHEADER)vih->bmiHeader;
                                DWORD nFourCC=bih.biCompression;
                                char szFourCC[5];
                                *(DWORD*)szFourCC = nFourCC;
                                szFourCC[4] = 0;
                                strcpy(Inf.VideoInf.FOURCC,szFourCC);

потом по fourcc создаю mediasubtype,
и с помощью FileMapper2 ищу кодек :

Код:

GUID arrayInTypes[2];
   arrayInTypes[0] = MEDIATYPE_Video;
   arrayInTypes[1] = MediaSubType;
   hr=pMapper->EnumMatchingFilters(&pEnum,
                           0,
                           TRUE,
                           0,//MERIT_DO_NOT_USE,
                           TRUE,
                           1,
                           arrayInTypes,
                           NULL,
                           NULL,
                           FALSE,
                           TRUE,
                           0,
                           NULL,
                           NULL,
                           NULL);     
   if (FAILED(hr))
   {
    }

для авишек все работает :
например fourcc==DIV3
находит кучу кодеков - DivX, XVID и тд
а для файла с расширением mpeg
определяется Y41P(наверное это не правильный fourcc)
и ни одного кодека не находит - хотя кодек есть - проигрывается плеером)

как программно опеделить каким кодеком сжат файл
(в идеале определить субтайп)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DirectShow форум -> Общий Часовой пояс: GMT + 4
Страница 1 из 1
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB


Рейтинг@Mail.ru