2012-07-19 6 views
1

현재 UDP를 통해 원격 원본에서 실시간 PCM 데이터를 수신하는 응용 프로그램이 있습니다. 간단하고 직선적 인 HTML5 태그를 통해 웹 브라우저로 스트리밍하고 싶습니다. 이 프로젝트를 연구하면서, IceCast를 여러 번 보았습니다. 내가 말할 수있는 한 가까이에서 원시 PCM을 가져 와서 MPEG 오디오 스트림을 제공하여 사용자의 요구를 충족시킬 수 있습니다. 그러나 이것이 IceCast와 함께 작동하거나 작동하지 않을 수도 있습니다. 그렇지만 자체 맞춤 솔루션을 구현하고 싶습니다.HTML5 태그를 사용하여 라이브 PCM을 웹 브라우저로 스트리밍

이 질문을 좀 더 구체적으로 말하자면, 원시 PCM 데이터가 도착하자마자 LAME 인코딩하고 HTTP를 통해 전달하는 것처럼 간단한 문제를 해결하고 있습니까? CGI/FastCGI 응용 프로그램으로 작동하는 것을 상상해 봅니다. 그러나 결코이 솔루션 형태와 결부되지 않습니다. IceCast와 함께 다른 마법이 진행되고 있습니까? 그리고 마침내, 온전한 체크를하기 위해서 : 먼저 보내야 할 특별한 "스트림/파일 헤더"가 없지요?

답변

1

추가 헤더가 필요하지 않습니다. 그러나 CGI/FCGI 응용 프로그램에서 수행 할 수없는 Icecast가 수행하는 주된 추가 사항은 (적어도 잘 작동하지 않음) 스트림을 여러 동시 청취자에게 배포하는 것입니다. 그 부분은 잘하기가 까다 롭습니다. 나는 그것을 피할 강력한 이유가 없다면 Icecast를 사용하라고 조언합니다.

+0

클라이언트가 WAV 헤더 나 그와 유사한 형식을 사용하지 않고 원시 PCM 데이터를 디코딩하는 방법을 어떻게 알 수 있습니까? 나는 초기 헤더 블록이 필요하다고 확신한다. 그렇지 않다면 브라우저 지원 스트림 형식이 어떤 시점에서 디코딩 될 수있는 원시 PCM을 지원하는지 알려주실 수 있습니까? – Brad

+0

Err ... PCM 오디오를 MP3로 인코딩하는 경우 필요한 헤더가 없습니다. 원시 PCM을 인터넷을 통해 보내는 것은 꽤 낭비입니다. 나는 그것을 추천하지 않을 것이다. – duskwuff

+0

아, 이제 이해합니다. 나는 그 질문의 제목을 읽고 혼란 스러웠다. – Brad

0

예 ogg을 스트리밍 pcm 용으로 사용할 수 있습니다. 그것은 페이지를 생성하고 스트리밍은 여전히 ​​파일 컨테이너를 사용합니다. 하지만 다시 이것은 파이어 폭스와 크롬만을 의미합니다. 실제로 오디오 API 자바 스크립트가 있습니다. pcm 데이터를 청크로 요청하고 클라이언트에서 버퍼링하고 오디오 API에 피드하면 트릭을 수행 할 수 있습니다. 이 API는 클라이언트 쪽에서 오디오 처리를 위해 구현됩니다. 다시 doent는 훌륭한 굉장한 속력을 기대한다. https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html