참고만 하세요.
애플의 Airport Express의 롬을 리버스 엔지니어링해서 암호키를 해독하는데 성공해서 애플의 Airplay (=과거 Airtunes)를 적용시키는 프로그램이 만들어졌습니다.
Shairport 란 이름의 이 대박 프로그램은 소스코드가 공개되어서 각종 플랫폼으로 포팅되고 있습니다.
이 셰어포트를 설치하면 애플 기기에서 Airplay 로 인식됩니다.
예를 들어, 윈도우즈 PC에서 아이튠스를 띄우면 새롭게 Airplay 스테이션이 잡힙니다.
여기로 스트리밍을 하면 이 shairport가 데이타를 받아서 Apple Lossless로 인코딩되어 있는 데이타를 PCM으로 컨버팅해서 바로 ALSA 로 출력을 해줍니다.
스퀴즈박스에서는 조금 다른 방식으로 사용을 하게 되는데,
한 사용자가 셰어포트 코드를 수정해서 제작자에게 건네어 현재 0.5 버전에서는 스퀴즈박스 사용자를 위한 출력기능이 포함되어 있습니다.
디폴트 상태에서는 그냥 ALSA로 소리를 출력하지만,
옵션을 줄 경우에는 pipe로 파일형태로 출력을 합니다.
스퀴즈박스에서 이 파일을 불러서 스트리밍을 하게 되는 구조입니다.
문제는 스트리밍한 것을 다시 스트리밍하게되다보니,
시스템에 따라서 끊김이 있을 수 있는데 현재로서는 인터넷 방송 들을 때처럼 중간중간 끊기는 경우도 발생합니다.
제 경우 우분투에 스퀴즈박스 서버를 구성해 놓고 있는데,
우분투에 적용하는 방법은 대략 다음과 같습니다.
1) Shairport 소스 다운받아서 컴파일하기
2) 컴파일된 shairport.pl과 hairtunes 를 적당히 폴더에 복사하기
3) 소스에 포함된 init 스크립트에 옵션을 적용해서 /etc/init.d에 넣고 업데이트
4) 스퀴즈박스 폴더에 파이프로 사용될 파일 만들고 권한 변경하기
5) 스퀴즈박스 서버에서 WaveInput 플러그인 설치하기
6) WaveInput에 포함된 custom-convert.conf에서 ecasound로 파이프를 불러오게 변경
7) 스퀴즈박스 서버의 Favorite에서 wavin:default 추가
8) 재생
뭐 이렇게 됩니다.
자세한 방법은 소개하지 않을 생각입니다.
제 생각으로는 파이프를 처리하는 유틸을 변경하거나 최적화하면 중간에 끊기는 현상을 완화할 수 있을 듯 합니다.
아직 셰어포트가 만들어진지 얼마 되지 않아서 아이폰이나 아이패드에서 스트리밍하는 건 잘 안된다는 얘기도 있으니 버그가 다 잡히려면 시간이 더 필요할 것으로 보입니다.
|