2012-08-23 4 views
2

UDP (비디오 데이터)를 통해 RTP를 수신하고 있습니다.UDP를 통한 RTSP의 데이터 손실 처리

RTP에 해독해야하는 H264가 있습니다. 불행히도 대부분의 RTP는 조각난 데이터를 보유합니다. RTP 시퀀스가 ​​없기 때문에 H264를 올바르게 재구성 할 수 없습니다.

적어도 몇 개의 프레임을 디코딩 할 수 있도록 데이터 손실을 줄이는 방법에 대한 아이디어가 있습니까?

답변

2

말할 수있는 게 많지 않습니다. 형용사가 제시 한대로 잃어버린 데이터는 손실됩니다. 너는 그것을 다시 얻을 수 없다. 거의 모든 경우에 남아있는 NAL을 디코더에 공급하고 비디오를 렌더링 할 수 있습니다. 누락 된 NAL에 의해 소개되지만 그것이 생명이라는 인공물을 볼 수 있습니다.

손실 된 데이터가 손실됩니다.

데이터 손실을 줄이려면 전송 프로토콜을 변경해야합니다. RTSP의 인터리브 된 RTP는 유사한 기술 스택을 기반으로하는 좋은 선택 일 수 있습니다.

비디오를 전송할 충분한 대역폭이있는 경우에만 TCP로 변경하면 분명 도움이 될 것입니다.

+0

LAN이 아닌 인터넷을 통해 캡처 중이므로 손실률이 증가 할 수 있습니다. 앞에서 말했듯이 나머지 NAL을 디코더에 제공하면 이미지가 ~ 20 % 완성됩니다. 또한 불완전한 프레임을 모두 제거하려고했습니다. 또한, 나는 MP4 컨테이너에 h264를 넣기 위해'mp3parser'를 사용하려했으나 작동하지 않는 것 같습니다. TCP를 고수해야 겠군. 아니면 무엇을 제안하겠습니까? –

+0

비현실적인 네트워크를 통해 안정적으로 데이터를 전송하려는 경우 TCP가 아마도 최선의 방법 일 것입니다. – che

+0

서버 쪽을 제어 할 수 있습니까? 예인 경우 : 내 편집에 추가 한대로 : RTSP의 인터리브 된 RTP : 없으면 할 수있는 일이 없습니다! –

0

H264 인코더를 제어 할 수있는 경우 오류 내성 도구 (http://www.slideshare.net/coldfire7/error-resiliency-and-concealment-in-h264-presentation) 을 사용하면 비디오를 더 많이 만듭니다 전송 오류에 강하다.

UDP를 통한 RTP가 패킷 손실에 대해 '내성'이되도록하십시오.