Здравствуйте, depressman, Вы писали:
D>DirectShow. Сжатие видео делаю с устройства видеозахвата. Подключаю параллельно превью и поток сжатия в файл на пин capture. Все работает вроде как нормально... на большинстве кодеков. На некоторых не получается вставить их между источником и MUX-ом. На некоторых все вешается... Объясните плиз в чем собствнно разница между кодеками в плане работы с ними в DirectShow?
Во-первых крайне не рекомендуется сжимать видео в реальном времени, скорее всего будет куча потеряных (dropped) кадров. Многие кодеки просто не успеют.
2) Что значит "не получается вставить их между источником и MUX-ом". В каком именно месте происходит ошибка? Вставка кодека производится вызовом функции ICaptureGraphBuilder2::RenderStream?
3) У некоторыхкодеков могут быть специфические требования к входному формату, например что-бы ширина и высота кадра были кратны 8. См. интерфейсы IAMVideoCompression и IAMStreamConfig как выходного пина кодека, так и выходного пина устройства захвата.