Ich habe die folgende Implementierung verwendet, um einen geschützten Videoinhalt vom Medienserver abzuspielen, aber es zeigt ein Wiedergabesymbol mit einer Kreuzlinie.Wie geschützter Videoinhalt in iOS mit AVPlayer wiedergegeben wird
Nach der Anmeldung App müssen Sie die Cookies auf die Medien-Assets synchronisieren, um das geschützte Video nach der Authentifizierung zu spielen.
Mit AVURLAsset streamen wir das geschützte Video, aber es funktioniert nicht.
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
NSDictionary *opt = @{
AVURLAssetReferenceRestrictionsKey: @(AVAssetReferenceRestrictionForbidRemoteReferenceToLocal),
AVURLAssetHTTPCookiesKey: cookies
};
AVAsset *asset = [AVURLAsset URLAssetWithURL:linkUrl//Media protected URL(http://www.example.com/media/video/media_mp4)
options:opt];
AVPlayerItem * item = [AVPlayerItem playerItemWithAsset:asset];
AVPlayer *player = [[AVPlayer alloc] initWithPlayerItem:item];
AVPlayerViewController *playerVC = [[AVPlayerViewController alloc]init];
playerVC.player = player;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.6 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self presentViewController:playerVC animated:NO completion:nil];
});
Welche Art von geschützten Video? DRM? – Raptor
Es ist nicht DRM, aber es erfordert Single-Sign-On-Authentifizierung, die bereits vom Login-Service erhalten. –
Sie müssen erklären, wie die Authentifizierung auf das Video angewendet wird. Wenn jemand den direkten Link der Medien erhält, wird er das Video abspielen können? oder die Verbindung wird basierend auf dem Authentifizierungsergebnis generiert und wird einige Zeit später ablaufen? Wir brauchen viel mehr Details, bevor wir helfen können. – Raptor