2016-02-19 56 views
1

在通過HTTP Live Streaming從服務器播放實況視頻的iPhone應用程序中,是否可以在解碼後訪問解碼的視頻幀?在iOS上的HTTP Live Streaming客戶端中截取視頻幀

據我所見,AVPlayer,MPMoviePlayerCoreVideo似乎沒有提供回調來通知應用程序單個幀已被解碼。

我的問題類似於「Record HTTP Live Streaming Video To File While Watching?」,但我不一定對完整的DVR功能感興趣。那裏的一個答案提出了一個服務器端解決方案,並且對客戶端解決方案的可能性很模糊。它也類似於「Recording, Taking Snap Shot with HTTP Live streaming video running MPMoviePlayerController in iOS」,但我不需要解決方案來與MPMoviePlayerController一起使用。

回答

1

它使用「AVPlayerItemVideoOutput」像這樣的可能:

NSDictionary *options = @{ (__bridge NSString *)kCVPixelBufferPixelFormatTypeKey : @(kCVPixelFormatType_32BGRA), 
          (__bridge NSString *)kCVPixelBufferOpenGLESCompatibilityKey : @YES }; 
myOutput = [[AVPlayerItemVideoOutput alloc] initWithPixelBufferAttributes:options]; 
myOutput.suppressesPlayerRendering = NO; 
[myOutput requestNotificationOfMediaDataChangeWithAdvanceInterval:1]; 
[myOutput setDelegate:self queue:dispatch_get_main_queue()]; 
[playerItem addOutput:myOutput]; 

我已經做到了在我的幾個項目的..保重,祝你好運!

FYI:(AVPlayerItem *playerItem;)

/安德斯。