Потоковая передача IP-камеры на iPad зависла

Я получаю поток на iPad с IP-камеры Foscam. Если я открываю IP в браузере iPad, он работает хорошо, но когда я получаю поток в своем приложении, он попадает на первый снимок экрана и застревает на нем. Приложение не получает непрерывную потоковую передачу с камеры. Я использую этот способ

- (IBAction)powerChanged:(id)sender {
    UISwitch * s = (UISwitch *)sender;
    if( s.on == TRUE){
        [self initializeData];
        if(![deviceClient connect]){
            UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Can not connect to T-Rex device!"
                                                              message:[[NSString alloc] initWithFormat:@"Could not connec to %@ and %d port",deviceClient.host,deviceClient.port] 
                                                             delegate:nil
                                                    cancelButtonTitle:@"OK"
                                                    otherButtonTitles:nil];
                                    [message show];
                                    [s setOn:FALSE animated:TRUE];
        } else {
           [self adjustLayout:TRUE]; 
            [self startFrequencyTimer];
        }
    }else {
        [self stopFrequencyTimer];
        [self adjustLayout:FALSE];
    }
}

-(void)initializeData {
    [cameraViewFront loadRequest:[NSURLRequest requestWithURL:[frontCameraClient getVideoStreamURL]]];
}
-(BOOL)connect {
    if (udpSocket == nil){
        udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
    }
    NSLog(@"host %@ and port %i", self.host, self.port);
    return [udpSocket connectToHost:self.host onPort:self.port error:nil];
}
- (NSURL *) getURL:(NSString *)forPage {
    NSLog(@"front cam IP %@" ,self.host);
    return [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"http://%@/%@user=%@&pwd=%@",self.host,forPage,self.username, self.password]];
}

-(NSURL *)getVideoStreamURL{
    return [self getURL:@"videostream.cgi?"];
}

person Mashhadi    schedule 17.06.2013    source источник


Ответы (1)


Я понял. Я использую foscam, и foscam предоставляет список URL-адресов по этой ссылке, поэтому я искал мою модель камеры, а затем пробовал все указанные URL-адреса для типа подключения MPEG и http://IPADDRESS/videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0 URL работал в моем случае. Но все еще есть проблема, что он отлично работает на iOS5, а на iOS6 все еще зависает на первом кадре. Чтобы решить эту проблему, это ссылка мне очень помогла. Этот метод работает как для iOS5, так и для 6.

person Mashhadi    schedule 17.06.2013