문제

CMVideoFormatDescriptionRefCMVideoFormatDescriptionCreateFromH264ParameterSets를 생성하려고 시도했지만 -12712 오류 (모든 헤더에서 정의되지 않은 것처럼 보이지 않는 것처럼 보이지 않는 것 참조)

iPhone 카메라 앱에서 생성 한 MOV 파일의 avcC 원자에서 SPS와 PPS를 가져 왔습니다.

61 76 63 43 01 64 00 29 FF E1 00 10 67 64 00 29 AC 56 80 78 02 27 E5 9A 80
80 80 81 01 00 05 28 EE 04 F2 C0
.

sps는 다음과 같이 보입니다 : 67 64 00 29 AC 56 80 78 02 27 E5 9A 80 80 80 81

... 및 pps : 28 EE 04 F2 C0

4 바이트 길이 (동일한 결과를 가진 1 바이트 및 2 바이트 길이도 노력)와 그런 전화를 발행 한 SPS 및 PPS와 PPS를 연주했습니다.

uint8_t sps[] = {0x00, 0x00, 0x00, 0x10, 0x67, 0x64, 0x00, 0x29, 0xAC, 0x56, 0x80, 0x78, 0x02, 0x27, 0xE5, 0x9A, 0x80, 0x80, 0x80, 0x81};

uint8_t pps[] = {0x00, 0x00, 0x00, 0x05, 0x28, 0xEE, 0x04, 0xF2, 0xC0};

uint8_t* props[] = {sps, pps};

size_t sizes[] = {0x14, 0x09}; // sizes include the 4-byte length

CMVideoFormatDescriptionRef formatDesc;

OSStatus formatCreateResult = CMVideoFormatDescriptionCreateFromH264ParameterSets(NULL, 2, props, sizes, 4, &formatDesc);
.

i -12712는 결과적으로 한 번씩 (일부 파일과 스트림에서 SPS / PPS를 시도 함)

무엇이 잘못 되었습니까?(시뮬레이터의 Xcode6-Beta4에서 코드가 확인되었습니다).나는 내 자신의 SPS와 PPS를 구문 분석하지 않고 일반 cmVideOformatDescriptionCreate를 사용하는 것을 선호합니다. -)

도움이 되었습니까?

해결책

4 바이트 크기를 포함하지 마십시오.SPS / PPS 페이로드 또는 크기 값이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top