Обработка видео в .NET - PullRequest
       23

Обработка видео в .NET

5 голосов
/ 22 апреля 2009

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

Какие опции у меня есть в .NET?

Ответы [ 4 ]

3 голосов
/ 20 мая 2009

Оказывается, Splicer был лучшим вариантом для меня. Это оболочка с открытым исходным кодом DirectShow.Net . Модель программирования настолько проста, что даже я смог ее понять.

1 голос
/ 22 апреля 2009

Ранее оболочки Managed DirectX от Microsoft поставляли сборку AudioVideoPlayback, которая могла бы использоваться для этого, но это в основном умерло

В этой статье перечислено несколько альтернатив, которые я перечислю здесь для полноты (я не могу говорить об их относительных достоинствах):

Стоит отметить, что одна из причин НЕ использовать управляемый код для реализации фильтров в цепочке DirectShow заключается в том, что одновременно может быть размещена только одна версия CLR [1], поэтому два фильтра с несовместимыми версиями не будут работать неприятные способы (это та же проблема, что и с надстройками управляемой оболочки).

Однако делать это как приложение , а не как фильтр, вполне подойдет.

Используя DirectShow, вы можете получить доступ к любому существующему аудио / видео потоку, декодируемому системой.

[1] 4.0 CLR - , предназначенная для устранения этой проблемы для всех версий CLR начиная с 2.0 и далее. Является ли это ретроспективным исправлением для существующих точек расширения, остается открытым вопросом.

1 голос
/ 23 апреля 2009

Вы также можете скачать бесплатно для некоммерческих целей VideoLab.NET - www.mitov.com и использовать его. В него входит демонстрация, показывающая, как получить растровые изображения из потока с помощью одной строки кода.

1 голос
/ 22 апреля 2009

Я использовал эту C # оболочку AVIFile в CodeProject для преобразования растрового изображения -> AVI, и он также может делать обратное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...