使用objective-c从url获取网络摄像头图像
Posted
技术标签:
【中文标题】使用objective-c从url获取网络摄像头图像【英文标题】:web cam image from url using objective-c 【发布时间】:2013-05-02 18:16:14 【问题描述】:我正在用 cocoa 编写一个 OS X 应用程序,并试图弄清楚如何获取网络摄像头静止图像 来自此网址的轴摄像头:
http://bigwatersedge.axiscam.net/view/snapshot.shtml?picturepath=/jpg/image.jpg×tamp=
使用这里建议的调度/队列/块:
Getting Image from URL Objective C
它将返回页面的html代码。
从网络摄像头而不是页面获取图像数据的建议方法是什么? 由于没有直接链接到 jpg 图像,所以有点混乱。
我能够在 C# 中完成这项工作 - Save Webcam Image From Website 这是我在底部的回答/问题 - 看起来我忘记了我的旧帐户并开始了一个新帐户。
【问题讨论】:
我建议你获取视频流的 url,正如它在网站上显示的那样,你可以使用MPMoviePlayerController
直接在 ios 设备上流式传输和显示视频,不需要下载图像并从那个页面你什么都得不到
我的意图是在定义的时间间隔收集静止图像。此外,视频流只能播放 20 秒,需要刷新才能继续。预期的平台是 OS X 而不是 iOS。
【参考方案1】:
看来我想通了。
Headers需要设置如下:
self.bweHeader = @"http://bigwatersedge.axiscam.net/view/snapshot.shtml?picturepath=/jpg/image.jpg?timestamp=";
self.bweImage = @"http://bigwatersedge.axiscam.net/jpg/image.jpg?timestamp=";
self.bweHost = @"bigwatersedge.axiscam.net";
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[self.bweImage stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0];
[theRequest setHTTPMethod:@"GET"];
[theRequest addValue:self.bweHost forHTTPHeaderField:@"Host"];
[theRequest addValue:self.bweHeader forHTTPHeaderField:@"Referer"];
NSData *data = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response error:&returnError];
NSImage *camImage = [[NSImage alloc] initWithData:data];
[self.imageView setImage:camImage];
[self.imageView setImageScaling:NSImageScaleProportionallyUpOrDown];
【讨论】:
以上是关于使用objective-c从url获取网络摄像头图像的主要内容,如果未能解决你的问题,请参考以下文章
使用 openCV 和 wxPython 从网络摄像头获取流