0
我正在尝试创建一个通过UDP连接传输音乐(MP3文件)的程序。到目前为止,我已经创建了一个程序来发送整个MP3文件并将其写入客户机器上的文件。然后客户端用pygame.mixer
播放文件。通过UDP流式传输音乐Python
这显然不是流式传输。我不能为了我的生活而想出如何将音乐流式传输到客户端。
如果有人能指出我的方向会很棒。
我正在尝试创建一个通过UDP连接传输音乐(MP3文件)的程序。到目前为止,我已经创建了一个程序来发送整个MP3文件并将其写入客户机器上的文件。然后客户端用pygame.mixer
播放文件。通过UDP流式传输音乐Python
这显然不是流式传输。我不能为了我的生活而想出如何将音乐流式传输到客户端。
如果有人能指出我的方向会很棒。
使用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是真正的直播流协议。
我只是好奇而已,我觉得它可能是一个有趣的项目。 – Max00355
请阅读:http://www.jejik.com/articles/2007/01/streaming_audio_over_tcp_with_python-gstreamer/ –
您可以将MP3文件分解为各个帧,编号并发送。如果一帧丢失,也许你可以认为它是全零或什么。 –