C++ DirectShow в поведении рендеринга

Кто-нибудь знает, как отображать видео DirectShow в контейнере HTML (например, DIV) вместо отдельного всплывающего окна.

Я уже сделал все необходимое для запуска пользовательского Rendering Behavior, он включает в себя все интерфейсы и обработку событий, но не могу найти ничего, связанного с моей проблемой, ни в Интернете, ни в книгах, которые у меня есть.

Кто-нибудь может подсказать, что мне нужно сделать?

P.S. В статьях MSDN упоминаются только DirectDraw и Direct3D при установке IFlags в IHTMLPainter, но, возможно, я ищу не то место :-)

С Уважением.


person Non Blocking    schedule 29.09.2010    source источник


Ответы (2)


В общем, какая-то мутная тема. Насколько я знаю, ваши варианты - это настраиваемый элемент управления ActiveX (фу... в общем, этот подход - логистический кошмар) или использование существующего проигрывателя, такого как Silverlight или Flash.

Silverlight не дает вам контроля на уровне DirectShow, но имеет дополнительную поддержку через MediaStreamSource, который может удовлетворить ваши потребности. И как только ваше аудио/видео находится в Silverlight, у вас есть всевозможные варианты расширенных наложений и элементов интерфейса.

person kidjan    schedule 05.10.2010

Я не буду комментировать Silverlight, так как у меня нет с ним опыта, но я бы не согласился с выводом Kidjan об использовании элемента управления ActiveX.

Пользовательский элемент управления ActiveX хорошо послужил нашей компании для многих целей, включая собственные приложения, управляемые приложения, веб-страницы...

Преимущество использования элемента управления ActiveX заключается в том, что у вас есть полный контроль над кодом вашего проигрывателя, механизмами потоковой аутентификации, возможностями рендеринга и т. д.

Я написал весь проигрыватель менее чем за месяц (включая сетевой код), а затем завернул его в элемент управления COM менее чем за неделю.

Однако не питайте иллюзий, DirectShow и программирование COM непросты. Все дело в компромиссе — решение Flash или Silverlight, вероятно, поможет вам быстро приступить к работе. Ctrl ActiveX даст вам полный контроль.

Я также читал, что стандарт HTML5 будет включать поддержку встраивания видеоконтента (!) Возможно, стоит изучить его, хотя я не знаю, сколько браузеров поддерживают (развивающийся) стандарт.

person Community    schedule 12.10.2010
comment
Не поймите меня неправильно — я думаю, что элемент управления ActiveX является жизнеспособным решением, но для него требуется программа установки и проверка (т. - person kidjan; 21.12.2010