2012-01-23 4 views
8

J'ai fait le traitement vidéo en temps réel dans ios en utilisant le cadre AVFoundation, l'aide de this link. J'ai testé il fonctionne très bien. Maintenant, je veux utiliser l'encodage et le décodage h264 [Avant de dessiner]. J'essaie d'obtenir des données codées h264 à partir de AVCaptureSession, donc j'ai mis AVVideoCodecH264 dans la vidéo de AVCaptureSession, avant de commencer la capture.h 264 Codage/décodage matériel Pour IOS (IPhone/Ipad)?

NSDictionary * VideoSettings = [NSDictionary dictionaryWithObjectsAndKeys: valeur, clé, AVVideoCodecH264, AVVideoCodecKey, nil]; [captureOutput setVideoSettings: videoSettings];

Le code ci-dessus ne produit aucun changement dans le tampon de sortie, le même format de tampon est comme avant. comment accomplir mon exigence? c'est possible ? Si oui S'il vous plaît Aidez-moi à commencer, h264 dans ios.

+0

et votre appareil est? –

+0

Je suis à la recherche d'un appareil armv7 ... –

+0

@Asta: La réponse donnée par Daniel a-t-elle fonctionné pour vous? Si non alors comment avez-vous finalement résolu cela? –

Répondre

1

Il n'y a pas d'accès direct aux images clés codées. Vous pouvez trouvé des commentaires perspicaces à ce sujet ici: https://stackoverflow.com/questions/4399162/how-to-stream-live-video-from-iphone-to-a-media-server-like-wowza

Une paire AVVideoCodecH264, AVVideoCodecKey peut être utilisé comme paramètres outputSettings dans

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