IP 카메라에서 H.264 RTP 스트림을 처리합니다. 내가 사용하는 카메라는 각 I- 프레임을 여러 개의 NAL 단위로 나눕니다. 각 NAL 단위는 RTP 패킷으로 분할됩니다 (시작 및 끝 플래그는 프레임이 아닌 각 장치의 크기를 결정합니다).RTP 스트림에서 H.264 I- 프레임의 끝을 확인하십시오.
프레임 전송이 완료되고 압축을 풀 데이터가 충분한 지 어떻게 알 수 있습니까? 프레임은 여러 단위로 구성되므로 플래그를 사용하여 끝을 결정할 수 없습니다.
대부분의 카메라는 각 프레임을 플래그가 프레임의 시작과 끝을 결정하는 RTP 패킷으로 분할했습니다. 그래서 나는이 패킷에서 끝 플래그를 기다리는 데이터를 푸십시오 - 그리고 여기에 완전한 프레임이 있습니다.
나는이 카메라에서 얻을 NAL 단위의 순서는 다음과 같습니다
[NAL_UT_SPS] 시퀀스 파라미터 세트 +
[NAL_UT_PPS] 사진 파라미터 설정
[NAL_UT_SEI] 보충 개선 정보
[NAL_UT_IDR_SLICE] I- 프레임 사진 데이터의 부품 번호 1 번
[NAL_UT_IDR_SLICE] 파트 2의 1 번 즉 I 프레임의 화상 데이터
상기 I 프레임의[NAL_UT_IDR_SLICE] 파트 # 3 화상 데이터
[NAL_UT_SLICE] 첫번째 P 프레임
[NAL_UT_SLICE] 2 P 프레임
[ NAL_UT_SLICE] 제 3의 P 프레임...
이 서열로부터는 내가 [NAL_UT_SPS] + [NAL_UT_PPS] + [NAL_UT_SEI] + 3 * NAL_U을 결합 할 수 있다는 명백한 T_IDR_SLICE]를 최근에 디코더에 공급할 하나의 I- 프레임으로 변환합니다. 그러나 얼마나 많은 사진 데이터 부분을 결정할 수 있습니까? 시퀀스의 마지막 부분이 아닌 파트 #X를받은 시점을 어떻게 알 수 있습니까?
아이디어가 있으십니까?
감사를 4 프레임
을 반환합니다. 사실 NAL 단위를 해당 프레임에 결합해야 할 필요가 있습니다. 필요한 것은 프레임에서 마지막 NAL 단위를 결정하는 방법에 대한 정보입니다. 이 카메라에서 얻은 데이터는 위의 편집 된 질문에 있습니다. – paft