Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
AynurSib23
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 3
#1

Как захватывать кадр из потока? - Windows Phone

27.07.2016, 13:57. Просмотров 874. Ответов 1

Здравствуйте.
Как захватывать кадр из видеопотока в WinRT? При этом этот кадр должен быть в одном из YUV форматов, желательно YUY2.
На данный момент я могу захватывать кадр несколькими способами:
  1. CapturePhotoToStream.
  2. GetPreviewFrameAsync.
При первом способе я получаю или BMP, или JPEG и т.д., и таким образом мне придется менять с RGB на YUY2 с просмотром всех пикселей. И это производится слишком долго. При втором способе я могу получить:
  1. SoftwareBitmap;
  2. Direct3DSurface.
При первом способе я могу получить SoftwareBitmap как в NV12, так и в YUY2. Но я не знаю, как проверить, работает ли это. То есть я могу сохранить байты, взятые из этого SoftwareBitmap, в .yuv файле, но я не могу открыть данное изображение.
А что делать с Direct3DSurface? Этот Surface всегда в YUY2. Так вот, как можно сохранить его в файл? В байты перевести именно его я не могу. Я могу получить байты лишь создав SoftwareBitmap из этого Surface, затем из созданного Bitmap могу получить байты. Вот код получения Direct3DSurface:
C#
1
2
3
4
5
6
7
8
try
{
    VideoFrame currentFrame = await this.mediaCapture.GetPreviewFrameAsync();
    _surface = currentFrame.Direct3DSurface;
    SoftwareBitmap softBitmap = await     SoftwareBitmap.CreateCopyFromSurfaceAsync(_surface);
    byte[] bytes = new byte[_surface.Description.Width * _surface.Description.Height * 2];
    softBitmap.CopyToBuffer(bytes.AsBuffer());
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2016, 13:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как захватывать кадр из потока? (Windows Phone):

MediaPlayer1 нужно сохранить кадр с видео потока - C++ Builder
нужна помощь, с помощью MediaPlayer1 я проигрываю видео поток мне нужно с этого видео потока сохранить кадр. в формат. скажем *.bmp ...

Как из потока управлять формой, если функции потока находятся в другом классе? - C#
Добрый вечер. Возник такой вопрос, никак не могу разобраться. Как из потока управлять формой, если функции потока находятся в другом...

Как из одного потока узнать состояние другого потока - C#
Подскажите пожалуйста, как из одного потока узнать, что другой поток еще не запущен. Например, второй поток формируется в классе...

VC++6.0, как из порожденного потока прочитать переменную главного потока? - Visual C++
Visual C++ 6.0 SP5 Простое диалоговое окно, (MFC) созданное мастером среды VC По нажатию на кнопку создаю поражденный поток, в...

Как срезать один кадр из mpeg и сохранить его как картинку? - PHP
Подскажите, может кто знает как срезать один кадр из mpeg и сохранить его как картинку? А то блин уже все облазил (что знал) наёти ни как...

Как после того как закончится видео, перейти на кадр вперед? - ActionScript
Как после того как закончится видео, перейти на кадр вперед? На первый кадр добавляю видео компонент с видео, и нужно, когда заканчивается...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
AynurSib23
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 3
01.08.2016, 14:32  [ТС] #2
Оказывается, выложенный ранее код работает.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2016, 14:32
Привет! Вот еще темы с ответами:

AS 2.0 Как не возвращаться на первый кадр? - ActionScript
Всем доброе утро) Есть мувик мне надо остановить его в конце и сделать так, что бы он не возвращался на первый кадр. Есть ли функции...

3ds Max Как визуализировать каждый кадр? - 3D моделирование
Сделал анимацию в 3dmax. Некий логотип с различными эффектами. Анимация растягивается на 100 кадров. Хочу сделать из неё видео. Но когда я...

Как получить кадр bmp из avi? - Java SE
Как получить кадр bmp из avi?

Как получить первый кадр из видеофайла - Visual Basic .NET
Здравствуйте, уважаемые форумчане. Прошу помощи в решении такой задачи: Как получить первый кадр из видеофайла. Практически, вопрос решен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru