How to do video recording with Text overlay using Directshow and C#? -


according previous post have tried use samplegrabber grab frames video file , calls call function:

type comtype = type.gettypefromclsid(new guid("e436ebb3-524f-11ce-9f53-0020af0ba770")); igraphbuilder graphbuilder = (igraphbuilder)activator.createinstance(comtype);  comtype = type.gettypefromclsid(new guid("c1f400a0-3f08-11d3-9f0b-006008039e37")); isamplegrabber samplegrabber = (isamplegrabber)activator.createinstance(comtype);  graphbuilder.addfilter((ibasefilter)samplegrabber, "samplegrabber");  ammediatype mediatype = new ammediatype(); mediatype.majortype = mediatype.video; mediatype.subtype = mediasubtype.rgb24; mediatype.formattype = formattype.videoinfo; samplegrabber.setmediatype(mediatype);  int hr = graphbuilder.renderfile(@"d:\test.wmv", null);  imediaeventex mediaevent = (imediaeventex)graphbuilder; imediacontrol mediacontrol = (imediacontrol)graphbuilder; ivideowindow videowindow = (ivideowindow)graphbuilder; ibasicaudio basicaudio = (ibasicaudio)graphbuilder;  videowindow.put_autoshow(oabool.false); basicaudio.put_volume(-10000);  samplegrabber.setoneshot(false); samplegrabber.setbuffersamples(true);  //the same object has implemented isamplegrabbercb interface. //0 sets callback isamplegrabbercb::samplecb() method. samplegrabber.setcallback(this, 0);  mediacontrol.run();  eventcode eventcode; mediaevent.waitforcompletion(-1, out eventcode);   marshal.releasecomobject(samplegrabber); marshal.releasecomobject(graphbuilder); 

call function

   public int samplecb ( double sampletime, imediasample mediasample )    {     //what here.    } 
  1. what do in call function add overlay on each frame , whole video store overlay text?

  2. is there way add overlay text when video recording?

the best way add text-overlay during recording implement dmo or directshow transform-filter. prefer dmo, because simpler , can reuse later in mediafoundation.

you set rgb24 or rgb32 input-type dmo/filter , can draw gdi want on each frame.

in graph looks way: videosource -> dmo -> asf writer.


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -