Я должен разработать приложение, которое записывает и воспроизводит записанное видео во время записи (без остановки графика). Я знаю, как использовать и разрабатывать с использованием DirectShow, но мне нужна архитектура моего графика. Какие фильтры я должен использовать?
Я сделал это с необработанным видео, используя DirectShow и SampleGrabber но я должен сжать видео, и я понятия не имею, как это сделать в сжатом видеофайле (который не закрыт, потому что запись продолжается).
Я думаю, что запись MPEG-2 является лучшей для моего приложения, но, пожалуйста, сообщите мне о фильтрах, которые я должен использовать.
Спасибо
Вы пробовали StreamBufferEngine?
Запись файла и его одновременный просмотр немного проблематичны, потому что Demuxer необходимо проанализировать записанный файл, чтобы узнать о новых частях. Я никогда не видел демультиплексора, делающего это.
Другая большая проблема — блокировка файлов! DirectShow filewriter и большинство других подобных фильтров блокируют файл для записи. Таким образом, никакой другой процесс не может открыть файл для чтения.
Вы ищете систему TimeShift. Для этого есть несколько SDK. Но это также может быть реализовано с собственными фильтрами DirectShow, но вам потребуется много времени и знаний для этого. Я знаю, что это возможно, потому что я сделал это в видеоплеере от моей компании (Utilius Fairplay 5).
Других решений пока нет …