Как захватить видеокадры из удаленного видео в Quickblox iOS

Я хочу получить скриншот удаленного пользователя (удаленный поток) во время выполнения, я пытался получить текущий CurrentImageContext с удаленным просмотром в качестве параметра UIGraphicsBeginImageContextWithOptions(myRemoteView.bounds.size, myRemoteView.opaque, 0.0f) с [myRemoteView drawViewHierarchyInRect:myRemoteView.bounds afterScreenUpdates:YES], но я получаю пустой экран во время захвата во время выполнения, любая подсказка по как действовать в этом отношении? Я использую последнюю версию Quickblox, ios 10 и xcode 8.

Этот метод вызывается как обратный вызов при подключении удаленного пользователя,

  • (пустой) сеанс: (QBRTCSession *) полученный сеансRemoteVideoTrack:(QBRTCVideoTrack *)videoTrack fromUser:(NSNumber *)userID{

    QBRTCVideoTrack *remoteVideoTrak=[self.session remoteVideoTrackWithUserID:@(user.ID)]; QBRTCRemoteVideoView *remoteVideoView = [[QBRTCRemoteVideoView alloc] init]; remoteVideoView.frame = self.remoteVV.bounds;

    [remoteVideoView setVideoTrack:remoteVideoTrak];
    [self.remoteVV addSubview:remoteVideoView];
    

}

Я хочу сделать снимок экрана «self.remoteVV», но он всегда дает мне черное изображение.


person Hafiz Arshad    schedule 15.11.2016    source источник
comment
Та же проблема опубликована в репозитории QuickBlox Git по адресу github.com/QuickBlox/quickblox-ios- sdk/issues/649, нужен обходной путь   -  person Hafiz Arshad    schedule 24.11.2016


Ответы (1)


Вы можете попробовать этот код, чтобы сделать снимок экрана удаленного потока в той же видеоконференции. Это работает для меня.

UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, 2.0f);
        [self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES];
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
person jayprakash    schedule 17.01.2020