h 264 Аппаратное кодирование / декодирование Для IOS (IPhone / Ipad)? - PullRequest
9 голосов
/ 23 января 2012

я выполнил обработку видео в реальном времени в ios с использованием фреймворка AVFoundation, Справка по по этой ссылке .i проверила, работает нормально. Теперь я хочу использовать кодирование и декодирование h264 [Перед отрисовкой]. Я пытаюсь получить данные, закодированные в h264, из AVCaptureSession, поэтому я установил AVVideoCodecH264 в видеосеттинг AVCaptureSession перед началом захвата.

NSDictionary * videoSettings = [NSDictionary dictionaryWithObjectsAndKeys: значение, ключ, AVVideoCodecH264, AVVideoCodecKey, ноль]; [captureOutput setVideoSettings: videoSettings];

код выше не производит никаких изменений в выходном буфере, тот же формат буфера получается, как и раньше. как выполнить мое требование? Является ли это возможным ? если да, пожалуйста, помогите мне начать работу, h264 в ios.

1 Ответ

1 голос
/ 03 апреля 2012

Нет прямого доступа к закодированным ключевым кадрам.Вы можете найти некоторые проницательные комментарии об этом здесь: https://stackoverflow.com/questions/4399162/how-to-stream-live-video-from-iphone-to-a-media-server-like-wowza

Пара AVVideoCodecH264, AVVideoCodecKey может использоваться в качестве параметров в outputSettings в

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];
...