2016-06-29 2 views
1

00 00 00 01 67 42 00 1F E6 20 0A 00 B6 60 22 00 00 03 00 02 00 00 03 00 79 C0 00 00 10 FD D0 00 00 40 16 43 F4 A4 18 00 00 03 02 1D 97 00 00 1A B3 F1 FA 52 05 00 00 00 01 68H264 헤더 이해 방법

내 NAL 단위는 다음과 같습니다

는 어떻게 페이로드 크기와 같은 RBSP의 데이터를 어떤 데이터가 그것을

+0

에있는 표 7.1을 참조 할 수 있습니다.이 웹 사이트의 형식에 대한 좋은 설명을 발견했습니다 : [http : //gentlelogic.blogspot. nl/2011/11/exploring-h264-part-2-h264-bitstream.html). 귀하의 질문에 실제로 대답하는지 모르겠지만 도움이 될 수 있다고 생각합니다. – Trugis

답변

4

을 의미 이해할 수 H264 형식에서 바이트 스트림은 많은 NAL 단위로 구성됩니다. NAL 장치가 3 바이트 또는 4 바이트 시작 코드 (0x000001 또는 0x00000001)를 시작하는 위치를 이해하기 위해 각 NAL 장치의 시작 부분에 배치됩니다. 이 시퀀스는,이 경우에 에뮬레이션 방지 바이트은 0x03가 0x000000에서, 0x000001, 0x000002 및 0x000003 0x00000300, 0x00000301, 0x00000302으로 서열을 변형하는 데 사용되는, 원 데이터에 또한 존재할 가능성이있다

image 및 각각 0x00000303이다.

각 NAL 단위에서 헤더는 시퀀스의 첫 번째 바이트 만 차지하며 나머지 바이트는 실제 페이로드를 나타냅니다.

image2

헤더는 페이로드에 포함되는 데이터의 타입에 대한 정보를 포함하고,이 세 부분으로 나눌 수있다.

예를 들어 헤더 0x67 (NAL 단위의 헤더)은 이진 시퀀스 에 해당합니다. 이 시퀀스의 첫 번째 비트()는이 금지 된 이며, 패킷 전송 중 오류가 발생했는지 확인하는 데 사용됩니다.

다음 2 비트합니다 ( 11)은 된 nal_ref_idc라는와 NAL 단위가 참조 필드, 프레임 또는 픽쳐 인 경우 그들은 나타내고있다.

나머지 5 비트는 nal_unit_type을 지정합니다. NAL 유닛에 포함 된 RBSP 데이터 구조의 유형을 지정합니다. NAL 유닛 헤더에 대한 더 자세한 설명은 here 또는 official RFC

+0

헤더에서 얼마나 많은 데이터가 헤더에서 알 수 있습니까? 그것은 페이로드의 크기가 얼마입니까? –

+0

페이로드 크기와 관련하여 헤더에 정보가 없으므로 3 바이트 또는 4 바이트 시작 코드를보고 각 NAL 장치의 크기를 가져옵니다. – Trugis

+0

크기의 정보를 얻을 수 있다고 말한대로 3 바이트 또는 4 바이트의 정보는 무엇입니까 –