2012-08-27 6 views
0

UDP 연결을 통해 음악 (MP3 파일)을 스트리밍하는 프로그램을 만들려고합니다. 지금까지 MP3 파일 전체를 보내고 클라이언트 컴퓨터의 파일에 쓰는 프로그램을 만들었습니다. 그런 다음 클라이언트는 pygame.mixer으로 파일을 재생합니다.UDP Python을 통한 음악 스트리밍

분명히 스트리밍되지 않습니다. 나는 내 삶에 대해 음악을 클라이언트로 스트리밍하는 방법을 알 수 없다.

누군가가 올바른 방향으로 나를 가리킬 수 있다면 좋을 것입니다.

+0

저는 궁금 해서요. 재미있는 프로젝트라고 생각합니다. – Max00355

+0

다음을 읽어보십시오. http://www.jejik.com/articles/2007/01/streaming_audio_over_tcp_with_python-gstreamer/ –

+0

MP3 파일을 개별 프레임으로 분리하고 번호를 지정하고 넘겨 보낼 수 있습니다. 프레임이 누락 된 경우, 아마도 그것이 모두 0 또는 무언가라고 가정 할 수 있습니다. –

답변

0

udp를 통한 실시간 스트리밍은 rtsp 스트리밍과 같은 것을 의미합니다. 원한다면 live555를 살펴보십시오. rtsp 스트리밍에 사용할 수있는 서버 [live555mediaServer 또는 그와 같은 이름]가 있습니다.

Gstreamer를 사용하면 순수한 rtp를 사용하여 기본 스트림을 수행 할 수도 있습니다. 다음과 같은 파이프 라인을 사용하면 작업을 수행 할 수 있습니다.

gst-launch filesrc location=<yourfile> ! mp3parse ! rtpmpapay <someoptions> ! udpsink port=<someport> 

당신은 그것을받을하고 dejitter 한 다음 depay 다음 디코딩과

gst-launch udpsrc port<the-some-port in the sender> ! gstrtpjitterbuffer ! rtpmpapay ! decodebin2 ! queue ! autoaudiosink 

을 재생 또는 스트리밍을 할 ffserver 사용할 수 있습니다. rtp/rtsp를 이해하기 위해 인터넷 검색을하면이 내용을 이해하는 데 도움이됩니다. 이미 데이터를 보낼 수있는 서버가 많이 있습니다. [Darwin, Live555]

[flv 파일이 필요한 rtmp]와 부드러운 스트리밍 및 HLS의 다른 형태의 스트리밍도 있습니다. RTSP는 진정한 라이브 스트리밍 프로토콜입니다.