2015-11-08 2 views
0

J'essaie de décoder la vidéo avec les codecs "PNG, Timecode" avec AVFoundation et obtenir erreurDecode fichier vidéo .mov avec le type de codec PNG

Error Domain=AVFoundationErrorDomain Code=-11833 "Cannot Decode" UserInfo={NSLocalizedFailureReason=The decoder required for this media cannot be found.,NSUnderlyingError=0x610000044050 {Error Domain=NSOSStatusErrorDomain Code=-12906 "(null)"}, AVErrorMediaTypeKey=vide, NSLocalizedDescription=Cannot Decode} 

de AVAssetReader. Peut-être besoin d'utiliser un type de format de pixel spécifique pour AVAssetReaderTrackOutput?

Information de videoTrack.formatDescriptions:

<CMVideoFormatDescription 0x618000042ac0 [0x7fff7b281390]> { 
    mediaType:'vide' 
    mediaSubType:'png ' 
    mediaSpecific: { 
     codecType: 'png '  dimensions: 2852 x 1871 
    } 
    extensions: {<CFBasicHash 0x61800006c180 [0x7fff7b281390]>{type = immutable dict, count = 9, 
entries => 
    0 : <CFString 0x7fff7eee0750 [0x7fff7b281390]>{contents = "TemporalQuality"} = <CFNumber 0x27 [0x7fff7b281390]>{value = +0, type = kCFNumberSInt32Type} 
    1 : <CFString 0x7fff7eee0790 [0x7fff7b281390]>{contents = "Version"} = <CFNumber 0x117 [0x7fff7b281390]>{value = +1, type = kCFNumberSInt16Type} 
    2 : <CFString 0x7fff7eee0590 [0x7fff7b281390]>{contents = "FormatName"} = PNG 
    3 : <CFString 0x7fff7ad964d8 [0x7fff7b281390]>{contents = "CVPixelAspectRatio"} = <CFBasicHash 0x61800006c140 [0x7fff7b281390]>{type = immutable dict, count = 2, 
entries => 
    1 : <CFString 0x7fff7ad964f8 [0x7fff7b281390]>{contents = "HorizontalSpacing"} = <CFNumber 0xb2427 [0x7fff7b281390]>{value = +2852, type = kCFNumberSInt32Type} 
    2 : <CFString 0x7fff7ad96518 [0x7fff7b281390]>{contents = "VerticalSpacing"} = <CFNumber 0xb2427 [0x7fff7b281390]>{value = +2852, type = kCFNumberSInt32Type} 
} 

    4 : <CFString 0x7fff7eee0550 [0x7fff7b281390]>{contents = "VerbatimSampleDescription"} = <CFData 0x618000140370 [0x7fff7b281390]>{length = 106, capacity = 106, bytes = 0x0000006a706e67200000000000000001 ... 00000b2400000000} 
    5 : <CFString 0x7fff7eee07b0 [0x7fff7b281390]>{contents = "RevisionLevel"} = <CFNumber 0x117 [0x7fff7b281390]>{value = +1, type = kCFNumberSInt16Type} 
    6 : <CFString 0x7fff7eee0770 [0x7fff7b281390]>{contents = "SpatialQuality"} = <CFNumber 0x40027 [0x7fff7b281390]>{value = +1024, type = kCFNumberSInt32Type} 
    7 : <CFString 0x7fff7eee07d0 [0x7fff7b281390]>{contents = "Vendor"} = appl 
    8 : <CFString 0x7fff7eee05b0 [0x7fff7b281390]>{contents = "Depth"} = <CFNumber 0x2017 [0x7fff7b281390]>{value = +32, type = kCFNumberSInt16Type} 
} 
} 
} 

Puis-je décoder cette vidéo avec AVFoundation?

Aussi si ouvert cette vidéo avec QuickTime Player et ré-enregistrer, il a enregistré la vidéo avec les codecs "Apple ProRes 4444, Timecode" et cette vidéo peut être décodée avec AVFoundation, mais la taille du fichier passe de 800Ko à 2Mb.

Merci pour toute aide!

Répondre

0

Vous pouvez uniquement ouvrir une vidéo codée H264 avec ces API.