2014-11-06 2 views
0

Мне нужно получить необработанные кадры из камеры в формате YUV/YCbCr на Windows Phone 8.1 (без Silverlight), я не вижу никакого примера в Интернете, возможно ли это с помощью MediaCapture или CameraPreviewImageSource (Nokia SDK)?raw frames windows phone 8.1

Благодаря

ответ

1

Рекомендуемый способ обработки сырья видеокадры на Windows Phone 8.1 для записи пользовательских MFT плагин, а затем добавить его в MediaCapture объекта через AddEffectAsync. MFT действует как фильтр DSP между декодером и богатым XAML-компоновщиком.

Вы можете выбрать цветовое пространство, которое вы хотите поддержать в вашем MFT, и Media Foundation автоматически вставляют цветовые преобразователи пространства для вас. Имейте в виду, что цветовые пространства, доступные на телефоне, ограничены. При этом NV12 является стандартным цветовым пространством для большинства видеоустройств и считается цветовым пространством 4: 2: 0 YUV.

Хотя это звучит просто, теоретически это может быть довольно сложным на практике. MFT должны записываться в C++/MoCom. Написание MFT требует довольно глубоких знаний о C++ и COM. Я не хочу отпугивать вас от попытки попробовать, но у него есть кривая обучения.

Вот образец для Windows Store, в котором показано, как создать плагин MFT и добавить его в объект MediaCapture. К сожалению, по какой-либо причине этот образец не был преобразован в универсальное приложение. Однако преобразование должно быть простым. Поскольку это такой семенной образец, я попрошу опубликовать его как универсальное приложение.

Media capture using capture device sample

Я надеюсь, что это помогает,

Джеймс

+0

Спасибо за вашу помощь Джеймс. Я видел это раньше, но я должен был не использовать его. Также мне было интересно, является ли этот пример хорошим примером? Как вы думаете, я могу использовать код «GrayScale», представленный в этом примере? В принципе, если я не ошибаюсь, камера захватывает необработанный кадр, сжимает эти кадры, а затем с помощью MFT я буду их несжатым, чтобы иметь этот необработанный кадр? Разве это не слишком сильно зависит от процессора телефона? –

+0

Hello Sebastien, «GrayScale» MFT - отличное место для начала и должно быть очень просто переносить его на приложение Windows Runtime. Я работал с несколькими девелоперами, которые сделали это успешно. –

+0

Когда вы добавляете свой MFT через «AddEffectAsync», он добавляется перед кодировщиком, поэтому вы получите «сырые» несжатые кадры. –