2012-01-23 87 views
8

我已經完成了使用AVFoundation框架的ios中的實時視頻處理, 幫助this link。我測試過它工作正常。現在我想使用h264編碼和解碼[繪製之前]。我嘗試從AVCaptureSession獲取h264編碼數據,所以我已經在AVCaptureSession的視頻設置中設置AVVideoCodecH264,然後開始捕獲。h 264硬件編碼/解碼對於IOS(IPhone/Ipad)?

的NSDictionary * videoSettings = [NSDictionary的 dictionaryWithObjectsAndKeys:值,鍵,AVVideoCodecH264,AVVideoCodecKey, 零]。 [captureOutput setVideoSettings:videoSettings];

上面的代碼不會在輸出緩衝區中產生任何變化,相同的緩衝區格式會變得像以前一樣。如何完成我的要求?可能嗎 ?如果是這樣請幫助我開始,在ios h264。

+0

outputSettings參數和你的設備是什麼? –

+0

正在尋找armv7設備... –

+0

@Asta:Daniel給出的答案是否適合你?如果沒有,那麼你是如何解決這個問題的? –

回答

1

沒有對編碼關鍵幀的直接訪問。您可能會發現,關於這裏的一些有見地的意見:https://stackoverflow.com/questions/4399162/how-to-stream-live-video-from-iphone-to-a-media-server-like-wowza

一對AVVideoCodecH264, AVVideoCodecKey可以用作在

NSError *error = nil; 
NSDictionary *outputSettings = [NSDictionary dictionaryWithObjectsAndKeys: 
           AVVideoCodecH264, AVVideoCodecKey, nil]; 

AVAssetWriterInput *assetWriterInput = [[AVAssetWriterInput alloc] 
            initWithMediaType:AVMediaTypeVideo 
             outputSettings:outputSettings]; 
AVAssetWriter *assetWriter = [[AVAssetWriter alloc] initWithURL:fileURL 
                 fileType:AVFileTypeMPEG4 
                  error:&error]; 
if (!error && [assetWriter canAddInput:assetWriterInput]) 
    [assetWriter addInput:assetWriterInput];