отправка событий синхронизирована с видео потоком - PullRequest
0 голосов
/ 12 июля 2011

Я хотел бы получить видеопоток с синхронизированными с ним событиями в реальном времени. Например, я хотел бы иметь возможность разблокировать кнопку после того, как что-то на экране произошло - когда что-то происходит перед камерой, должна быть отправлена ​​некоторая информация об этом (т.е. оператор нажимает специальную кнопку). Задача состоит в том, чтобы синхронизировать эту информацию (или событие) с ситуацией на экране. Можно ли отправлять и получать такие метаданные с помощью RTSP? Приложение будет написано в формате WPF.

Мне нужно получить функциональность, очень похожую на эту: http://www.adobe.com/devnet/flashmediaserver/articles/metadata_video_streaming.html предлагается Flash, но на платформе .NET. Вы знаете какие-нибудь библиотеки, которые могли бы мне помочь?

http://www.streamingmedia.com/conferences/west2010/presentations/SMWest-2010-Microsoft-Workshop.pdf

Ответы [ 2 ]

1 голос
/ 13 июля 2011

AFAIK, RTSP не предлагает такой возможности для отправки дополнительных метаданных.

Возможно, вы могли бы поместить некоторые метаданные в заголовок расширения кадров RTP (видео).

Другой способ - запустить параллельный поток метаданных (т. Е. XML). На стороне клиента вы синхронизируете оба потока, как это делается для потокового аудио / видео.

удачи.

0 голосов
/ 06 марта 2012

Я нашел 2 решения, которые предлагают необходимую функциональность. Первый - это Microsoft Media Server. Он предлагается Microsoft, поэтому его довольно легко использовать в WPF. Проблема в том, что это не протокол реального времени. Для меня лаги около 10-20 секунд (на локальном хосте) были неприемлемы.

Второй - это Flash Media Streaming Server, использующий RTMP. Он также предлагает требуемые функциональные возможности и, более того, его название говорит о том, что это протокол реального времени. Лаги здесь были незаметны (обычно намного меньше, чем 1 секунда на локальном хосте). Но поскольку это технология Flash, она должна обрабатываться кодом Flash. Я решил это, поместив Flash-компонент в формулу ActiveX. Для меня это была моя идеальная пара;)

...