static void Main(string[] args) { JpegVideoSourceFilterRegistry registry = new JpegVideoSourceFilterRegistry(); foreach (JpegVideoSourceFilterRegistryItem item in registry) { Console.WriteLine(string.Format("{0} - {1}", item.InstanceName, item.FriendlyName)); } Console.WriteLine("-- Before Registration --"); JpegVideoSourceFilter filter = new JpegVideoSourceFilter(); // NOTE: Registration and Unregistration requires administrative access and elevated permissions filter.Location = "http://192.168.88.21/nph-mjpeg.cgi"; filter.Width = 1280; filter.Height = 960; registry.Register("Test Camera", filter); Console.WriteLine("-- After Registration --"); foreach (JpegVideoSourceFilterRegistryItem item in registry) { Console.WriteLine(string.Format("{0} - {1}", item.InstanceName, item.FriendlyName)); } Console.WriteLine("-- Before Unregistration --"); //registry["Test Camera"].Unregister(); Console.WriteLine("-- After Unregistration --"); foreach (JpegVideoSourceFilterRegistryItem item in registry) { Console.WriteLine(string.Format("{0} - {1}", item.InstanceName, item.FriendlyName)); } }
static void Main(string[] args) { FilterGraph filterGraph = new FilterGraph(); IJpegVideoSourceFilter sourceFilter = new JpegVideoSourceFilter() as IJpegVideoSourceFilter; IBaseFilter sourceBaseFilter = sourceFilter as IBaseFilter; (filterGraph as IFilterGraph2).AddFilter(sourceBaseFilter, "Source"); sourceFilter.Location = @"http://192.168.88.21/nph-mjpeg.cgi"; sourceFilter.Width = 800; sourceFilter.Height = 448; IPin pin = DsFindPin.ByDirection(sourceBaseFilter, PinDirection.Output, 0); (filterGraph as IFilterGraph2).Render(pin); (filterGraph as IMediaControl).Run(); EventCode eventCode; (filterGraph as IMediaEvent).WaitForCompletion(-1, out eventCode); }