Программа видеозахвата/редакции в MPEG4

Алексей18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
12.12.2006

1. Общие сведения.

Требуется разработать заново или переделать частично ПО, которое используется для видеозахвата, записи, воспроизведения и редактирования видеофильма. Необходимо сохранить имеющийся программный интерфейс и среду программирования. Хотя это ПО используется для получения синхронизированной с ЭЭГ (электроэнцефалограммой) видеозаписи пациента, оно существует абсолютно автономно от использующей его программы управления электроэнцефалографом.

2. Функциональность имеющегося ПО.

- видеозахват, конвертирование в реальном времени в формат MPEG4 (DivX или Xvid);

- запись в реальном времени на жеский диск с возможностью пауз в записи, вызов заданной извне процедуры (feedback) при поступлении каждого записываемого фрейма (для синхронизации с внешним процессом);

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

- редактирование фильма (сохранение вместо исходного фильма его части, состоящей из заданного извне набора сегментов [от фрейма , до фрейма]); вызов заданного извне callback’а для возможности оценить оставшееся время редактирования.

3. Недостатки имеющегося ПО и функциональность, которой должно обладать новое ПО.

- запись звука осуществляется отдельно от записи фильма, потом все как-то синхронизируется. Надо записывать звук вместе с фильмом:

- фильм записывается с покадровым сжатием (т.е. использование MPEG4 неэффективно), а надо использовать сжатие по серии кадров, как обычно в MPEG4. (Использование покадрового сжатия обусловлено работой существующего ПО с кодеком через общие функции Direct Show, без использования особенностей конкретного кодека. При отказе от покадрового сжатия паузы при записи и редактирование не работают.)

- чтобы отредактировать фильм, сейчас приходится вызывать стороннюю программу (.exe), иначе редактирование не работает (недостаточно просто закрыть файл с фильмом и все объекты Direct Show). Нужно избавиться от этого ограничения.

- запись фильма осуществляется в один файл при любой длине фильма. Надо предусмотреть возможность автоматического сегментирования – закрывать файл с фильмом и открывать новый через заданное время записи. Эта опция требует незначительного изменения программного интерфейса и может быть сделана в последнюю очередь.

4. Практические детали.

Среда программирования – C++Builder, версия 5. Видео: Direct Show.

Имеется 2 демо-программы, использующие объекты, реализующие имеющееся ПО. Одна программа записывает фильм, другая – воспроизводит и редактирует. Поскольку интерфейс к новому ПО должен остаться прежним, предлагается использовать эти демо-программы в качестве «упаковки» для нового ПО. Проекты под C++ Builder’ом, включающие весь код как для демо-оболочки, так и для объектов для работы с видео, будут предоставлены.

Заявки фрилансеров