오디오 스트림으로 다시 어셈블하려는 RTP 패킷이 있습니다. 각 패킷마다 시퀀스 번호, SSRC, 타임 스탬프 및 데이터 자체를 나타내는 바이트 배열이 있습니다.RTP 패킷 결합
현재 각각의 SSRC에 의해 패킷의 각 하위 세트를 가져 와서 타임 스탬프로 순서를 지정하고 순서대로 바이트 배열을 결합합니다. 그런 다음 바이트 배열을 혼합합니다. 결과로 나오는 오디오 데이터는 훌륭하게 들립니다. (모든 것이 제 시간에 끝났음을 의미합니다.) 많은 패킷 손실이 없기 때문에 걱정입니다. 나는 빈 오디오의 비트를 추가해야 할 곳없는 패킷에 대한 그래서
, 몇 가지 질문 ...
는 누락 된 일련 번호를 보여줍니다. 나는 시퀀스 번호가 "랩 어라운드 (wraps around)"되는 경우가 많으므로 타임 스탬프를 사용하여 부분 집합으로 나누어야한다. 그런 다음 해당 하위 집합에서 누락 된 시퀀스 번호를 찾아 필요에 따라 추가 할 수 있습니다. 그게 옳은 일처럼 들리니?
나는 타임 스탬프가 무엇에 좋은지 전혀 알지 못했다. 이미 기존 패킷을 녹음하고 누락 된 패킷을 채우기 때문에 걱정하지 않아도 될까요?
2) 시퀀스 번호가 단조롭게 증가하므로 타임 스탬프가 필요하지 않습니다. 예를 들어, h.264 코덱의 비디오 프레임은 전에 전송 된 미래의 프레임에 의존합니다. 나는 비슷한 접근법을 사용하는 오디오 코덱을 알고 있지 않다. – Boris
즉, 침묵 억제가있는 경우 시퀀스 번호 나누기를 사용했다. 즉, 일부 장비는 무음을 감지하고 패킷 전송을 중지하며 5 초 후에 패킷 전송을 다시 시작합니다. 이제 패킷 사이에 5 초가 걸리지 만 그만큼 연속적입니다. 시퀀스 번호 (적절한 타임 스탬프는 5 초간의 침묵을 알려줍니다). – nos
@nos 예. 쾌적함이나 침묵 억제가 필요한 경우 적합합니다. 나는 나의 대답을 편집했다. – Alam