Воспроизведение потока байтов UDP H.264 в UWP с MediaElement - PullRequest
0 голосов
/ 29 декабря 2018

Я получаю поток H.264 через UDP от дрона Tello.Я хочу показать видео в реальном времени в приложении UWP.Я попытался записать в MemoryStream, который назначен MediaSource, который назначен MediaElement.Нет радости

var mediaSource = MediaSource.CreateFromStream(_stream.AsRandomAccessStream(), "video/avc");
_mediaPlayerElement.Source = mediaSource;

Несколько лет назад я использовал DirectShow.Я смотрел на Media Foundation, но похоже, что они устарели много лет назад.

На данный момент я не могу найти идеи, которые стоит попробовать.Как я могу получить потоковый UDP H.264 для отображения в приложении UWP?

1 Ответ

0 голосов
/ 29 декабря 2018

UWP MediaElement имеет Media Foundation на своем бэкэнде (Media Foundation хорошо зарекомендовал себя и является текущим медиа-API низкого уровня в Windows, включая UWP).Тем не менее, нет встроенной поддержки протокола, который вы ищете.Предполагается, что вы разработаете слой интеграции, который преобразует имеющиеся у вас данные в то, что MediaElement может потреблять.

Это может быть, например, обработчик протокола, поскольку вы в основном хотите внедрить данные H.264 и отформатировать их дружественным способом Media Foundation, чтобы MediaElement мог применить стандартный декодер и направить содержимое через конвейер Media Foundation впрезентация.Страница 12 из Презентация Media Extensions должна быть хорошим ориентиром с точки зрения используемого API.

Или это также может быть, по-видимому, более простой источник Media Stream Source, описанный здесь в Создание презентаций приложений для потокового видео и аудио на слайдах 5, 20.

...