2009-04-22 3 views
5

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

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

ответ

3

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

+0

Я рад, что вы нашли, что splicer сделал трюк :) – Bittercoder

+1

Splicer основан на upong DES, который устарел от Microsf. Есть ли альтернатива? –

+0

@ DareDevil73: Не знаю. С тех пор я не занимался видео. –

1

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

1

Ранее управляемых DirectX оберток от Microsoft поставляется узел AudioVideoPlayback, который можно было бы использовать для этого, но это имеет basically died

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

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

Однако делать это как приложение, а не как фильтр, должно быть хорошо.

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

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

+0

Вещь с «только одной версией CLR, которая может быть размещена за раз», должна исчезнуть с .NET 4.0, не так ли? – OregonGhost

+0

Да, однако это время ждать ... Даже Windows7 - это IIRC, не зависящий от 4.0, поэтому, несмотря на то, что он снабжает управляемый слой для расширения оболочки, будет опасно использовать их до 4.0. Я предполагаю, что они просто выпустят их с 4.0, чтобы избежать этого – ShuggyCoUk

+0

. Однако я обновлю ответ, так как он вам подходит – ShuggyCoUk

1

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

Смежные вопросы