Доброго времени суток. Подскажите, есть ли быстрый способ получения изображения с IP камеры? Я пробовал три варианта, но все потерпели неудачу. Первый вариант - это HTTP-запрос:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("IpCamera");
WebResponse resp = req.GetResponse();
Stream stream = resp.GetResponseStream();
Bitmap bmp = (Bitmap)Bitmap.FromStream(stream);
Вариант очень медленный, даже если выставить Proxy = null, как пишут на просторах интернета, все равно работает медленно. Вариант второй:
WebClient client = new WebClient();
Stream stream = client.OpenRead(IpCamera);
Bitmap bitmap; bitmap = new Bitmap(stream);
тоже самое как и в первом варианте - скорость оставляет желать лучшего. Ну, и третий вариант:
BitmapImage _image = new BitmapImage();
_image.BeginInit();
_image.CacheOption = BitmapCacheOption.None;
_image.UriCachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache);
_image.CacheOption = BitmapCacheOption.OnLoad;
_image.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
_image.UriSource = new Uri("IpCamera", UriKind.RelativeOrAbsolute);
_image.DecodePixelHeight = 800;
_image.DecodePixelWidth = 1280;
_image.EndInit();
но в отдельном потоке этот способ не работает, если его вызывать по клику Button, то все работает. Пожалуйста, подскажите как исправить или как найти быстрый способ получения данных с IP камеры?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей