Я не знаю, будет ли это легко выполнимо. Различные кодеки, изначально доступные для Silverlight, заключены в элемент управления Silverlight MediaElement, и, насколько я могу судить, они не доступны напрямую через API, например, вы не можете получить доступ к необработанному декодированному потоку битов RGBA. (Если я ошибаюсь в этом, я хотел бы знать, но я осмотрелся и не могу понять, как это сделать.) В исходном дереве Mono есть реализация * 1001 только для декодирования Кодек * Dirac , но, насколько я знаю, ничего такого, что могло бы легко декодировать, например, файлы WMV или AVI.
И даже если бы вы могли каким-то образом получить необработанный, декодированный поток битов RGBA (или YCbCr), чтобы иметь возможность вставлять любые данные, которые вы хотите в эти кадры, вам все равно придется перекодировать видеопоток также и Silverlight не предоставляет никакой встроенной поддержки для этого. Вам нужно написать свои собственные кодировщики (совсем не тривиально), перенести их из библиотеки ffmpeg (тоже нетривиально) или подождать, пока кто-нибудь другой сделает это.
Короче говоря, я подозреваю, что на данный момент вам нужно будет придерживаться своего решения ActiveX - хотя при некотором умном кодировании JavaScript можно было бы обернуть это в красивый интерфейс Silverlight.