2012-08-27 161 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

使用udp进行直播就意味着像rtsp流媒体一样。看看live555,如果你想要做一些。在它里面有一个服务器[live555mediaServer或者类似的名字],你可以用它来做rtsp streaming。

Gstreamer还可以让你使用纯粹的rtp来做基本的流。像下面的管道可以让你做到这一点。

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

,你可以接受她,并消除抖动,然后depay它,然后解码和播放

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

或者你可以使用ffserver的做流媒体。有一点谷歌搜索rtp/rtsp会帮助你理解这些东西。有很多服务器可用来发送数据。 [达尔文,Live555]

还有其他形式的流[rtmp将需要flv文件]和流畅的流和HLS。 RTSP是真正的直播流协议。

相关问题