2017-01-27 5 views
0

그럼 이미지로 동영상을 만들고 싶다고합시다. 나는 과 함께 AVAssetWriter을 사용하여 CVPixelBuffer 개체를 추가하라고했습니다. 그러나 나는 매우 혼란 스럽다.AVAssetWriter가있는 CVBufferPool에 대한 설명?

왜 우리는 픽셀 버퍼를 만들고 비트 맵 컨텍스트를 만들어 동영상을 만든 다음 drawRectInViewHierarchy을 사용하여 그립니다?

+1

AVDataOutput을 카메라/파일에 추가하여 입력하면 CVPixelBuffers가 출력되어 원하는대로 할 수 있고 실시간으로 필터를 적용 할 수 있습니까? 무엇이든 변환해라. – SeanLintern88

+0

이것은'CVBufferPool'에 관한 질문인가? 귀하의 질문은 전혀 언급하지 않습니다. –

답변

1

귀하의 질문에 어떤 정보가 기초되어 있는지 확실하지 않지만 기본 사항을 설명하려고합니다.

먼저 CVPixelBuffer은 이미지 데이터를 저장하는 CoreVideo 객체입니다. 이미지 데이터를 다루는 모든 AVFoundation 클래스는이 유형의 객체를 사용합니다. 그러나 CVPixelBuffer은 간단한 개체로 구성 할 수 없으므로 JPEG 또는 PNG 데이터에서 인스턴스를 생성 할 수 없습니다.

CVPixelBuffer을 만드는 한 가지 가능한 방법은 CGImageDataProvider에서 CVPixelBufferCreateWithBytes을 호출하는 것입니다. 더 효과적이고 효과적 일 수있는 다른 솔루션이있을 수 있습니다. 그것은 당신이 시작하고있는 이미지의 종류에 달려 있습니다.