Я сделал консольную программу, которая просматривает видео с веб-камеры и записывает его через фильтр сжатия MJPEG в формат .avi. Моя схема:
WebCam
->IBaseFilter(Video capture filter)
->IBaseFilter(MJPEG compression filter)
------------->ICaptureGraphBuilder2::RenderStream
->.avi
Любые советы о том, как настроить параметры сжатия MJPEG через интерфейс IAMVideoCompression, чтобы получить наименьший размер видео и хотя бы среднее качество? Сейчас я установил для параметра метода putQuality значение 0,1, и это мне очень помогает; размер моего видеофайла составляет около 15 мб/минуту.
Я не могу воспроизвести этот захваченный файл .avi ни с одним видеоплеером (я пробовал Windows Media Player, WMP Classic, VLC). Нужно ли делать декомпрессор перед просмотром этого видео?
Есть ли другой фильтр сжатия, который я должен использовать? Какой из них лучше?
Моя цель - написать сервер потокового видео (например, Skype). Считаете ли вы, что 15 МБ/мин — это хороший размер для передачи видеопакетов по сети? Я собираюсь использовать сокет UDP (RTP) для передачи медиапотока.