나는 당신을 보내지 않습니다. 스트리밍되는 동영상의 너비와 높이를 알고 있습니까?
- 이 정수
000001B0
(16 진수)의 스트림을 구문 분석하면 스트림 화는 항상 제일 먼저 : 그렇다면를 heres 방법 (그리고 나는 그것이 "차원"당신이 찾고있는 것을 생각). 그렇지 않다면 스트림의 SDP를 봅니다. (있다면, config=
필드를 검색하십시오. 지금은 Base16 문자열입니다.
- 정수가 될 때까지 모든 바이트를 읽습니다.
000001B6
(16 진수)
- 당신은 이런 일 (16 진수)를 받아야은 :
000001B0F5000001B5891300000100000001200086C40FA28 A021E0A2
- 이것은 "스트림 구성 헤더"또는 프레임 또는 무엇, 정확한 이름은 비디오 객체 순서입니다 그것은 디코더가 필요로하는 모든 정보를 보유하고 있습니다. 비디오 스트림 디코드
- 마지막 4 바이트 읽기 (내 예에서는 하나의 공백으로 분리됨 -
A021E0A2
)
- N 흐름
- 이 폭는 처음 8 비트를 읽어 얻으려면 ... 한 32 비트 부호없는 정수로이 바이트를 관찰하고 곱셈 다음에 7 비트 4
- 건너 뛰기로 무엇을 얻을
- 얻으려면 의사 코드 높이 판독 다음 9 비트
을 :
WIDTH = readBitsUnsigned(array, 8) * 4;
readBitsUnsigned(array, 7);
HEIGHT = readBitsUnsigned(array, 9);
,617,
자 ... 너비와 높이. (:
1280x1024라는 스트림의 프레임을 디코딩하려고합니다.이 논리를 사용하면 너비가 1020을 초과 할 수 없으며 높이가 511보다 커질 수 없습니다. – Ninjammer
너비는 곱해야합니다. 4 대신 8 씩 증가하며, HEIGHT는 4 바이트 대신 마지막 5 바이트에서 읽은 정수에도 2를 곱해야합니다. –