I do not know if this will be easily doable. The various codecs available for Silverlight are all wrapped in a Silverlight MediaElement control, and as far as I can tell, they are not directly displayed through the API, for example, you cannot access the raw decoded RGBA bitstream. (If I am mistaken in this, I would love to know, but I still think it over, and I canβt figure out how to do it.) Only the Dirac decoding is implemented in the Mono source tree, but nothing that could easily allow you to decode , for example, WMV or AVI files, as far as I know.
And even if you could somehow capture the raw, decoded RGBA (or YCbCr) bitstream to be able to insert any data you want into these frames, you still have to re-encode the video stream, and Silverlight does not provide any support for this. You will have to write your own encoders (not at all trivial), transfer them from the ffmpeg library (also not trivial), or wait for someone else to do this.
In short, my suspicion is that you will need your ActiveX solution for now - although with some clever JavaScript coding, it might be possible to wrap it in a nice Silverlight user interface.
source share