• 목록
  • 아래로
  • 위로
  • 쓰기
  • 검색

유머 락 음악을 듣기 싫어하는 스트리밍 어플



저는 LAN선을 경유한 음악 스트리밍 애플리케이션 문제를 해결하고 있었습니다.

사용자는 클래식 음악을 스트리밍할 때는 아무 문제 없었지만 락 음악은 계속 문제가 생겼습니다.

농담이 아니었습니다.

클래식은 괜찮았습니다. 하지만 락을 틀면 연결이 자꾸 끊기는 겁니다.


해당 애플리케이션은 오디오 데이터를 가져와 무손실 코덱으로 압축한 다음 각 데이터를 별도의 udp 패킷으로 전송하는 방식이었습니다.

필요하다면 IPv4를 쓸 수도 있지만 LAN환경이 더 안정적이었기 때문에 가능한한 IPv6를 사용하려 했습니다.


지루한 문제 해결 과정 끝에 마침내 답이 보이기 시작했습니다.


MTU(네트워크 최대 전송단위)가 1200바이트로 설정되어있었던 겁니다.

IPv6는 1280바이트 미만의 패킷에 대해 자동 조각화를 수행하지 않기 때문에 그보다 더 큰 패킷이 전송될 경우 작동하지 않았습니다.


스트리밍이 1200바이트보다 큰 오디오 패킷을 보내려고 한다면 당연히 오류가 발생해 접속이 끊어졌던 겁니다.


그런데 왜 락음악에서만 그런 일이 일어났을까요?

원인은 간단했습니다.

무손실 코덱은 가변 비트레이트이기 때문에 일반적으로 락음악보다 클래식 음악의 압축률이 더 좋습니다.

클래식을 스트리밍할 때는 오디오 패킷이 계속 1200바이트 이하로 압축되었지만 락음악은 가끔씩 한계값을 넘어서는 패킷을 생성했습니다.


최대 전송 단위를 다시 올려놓자 서비스는 문제없이 작동했습이다.


--


어플 : 아 클래식 듣고 싶다고요 ㅇㅅ"ㅇ



댓글은 회원만 열람할 수 있습니다.

로그인 회원가입
게시판 설정
|