0

Media Foundation (MFT)의 H264 인코더를 사용하고 있습니다.
부드럽게 스트리밍을하기 때문에 SPS와 PPS를 추출했습니다.
MSDN은 각 NALU 앞에 나타나는 길이 필드에 사용 된 바이트 수가 1, 2, or 4 일 수 있다고 말합니다. 이것은 모두 네트워크 바이트 순서입니다. 보시다시피, 버퍼의 처음 4 바이트는 0, 0, 0, 1입니다. 가능한 길이를 적용하면 아무 것도 얻지 못할 것입니다. length에 사용 된 바이트 수가 1이면 길이가 0이고, 2이면 길이가 다시 0입니다. 그것이 4라면 첫 번째 NALU의 길이는 1입니다. 그리고 그것은 정확하지 않습니다.
아무도 내가이 SPS와 PPS를 어떻게 결합시켜야 하는지를 알고 있습니까?

extracted SPS + PPSMedia Foundation의 H264 인코더에서 SPS 및 PPS (일명 dwSequenceHeader)

답변

5

여기 대답은 간단 데이터 시작 코드 00 00 00 01 접두어 유효 및 부록 B에 따른 포맷 및 길이 부호화를 실행할 수 없습니다.

H.264 extradata (partially) explained - for dummies

이 형식의 부록 B 형식

각 NAL은 4 바이트 시작 코드 덧붙일된다 : 0x00으로 × 00 × 00하는 0x01 따라서 어디 NAL 개시 어디를 알기 위해 이 중지되면 비트 스트림의 각 바이트를 읽어야하며 시작 코드를 찾고 이 형식과 다른 형식간에 변환해야하는 경우 고통이 될 수 있습니다.

자세한 내용은 H.264 spec - 무료로 다운로드 할 수 있습니다. 페이지 326은 "부록 B - 바이트 스트림 형식"으로 시작합니다.

+0

알아요, 내가 갖고 있지 않은 h.264 사양이 필요합니다 .--( – user1764961