如何使用gstreamer通过tcpserversink传输音频

如何使用gstreamer通过tcpserversink传输音频,gstreamer,audio-streaming,tcpserver,Gstreamer,Audio Streaming,Tcpserver,我需要互联网上的实时流音频。在互联网上快速搜索,我决定使用Gstreamer。我已经成功地使用udpsink进行了流式传输,但它只在LAN上工作。我使用tcpserversink进行测试,但它不工作: 服务器IP:113.160.166.87 gst-launch-1.0 filesrc location="G:/Project/Gstreamer/TestContent/Em-Gai-Mua-Huong-Tram.mp3" ! decodebin ! mulawenc ! tcpservers

我需要互联网上的实时流音频。在互联网上快速搜索,我决定使用Gstreamer。我已经成功地使用udpsink进行了流式传输,但它只在LAN上工作。我使用tcpserversink进行测试,但它不工作:

服务器IP:113.160.166.87

gst-launch-1.0 filesrc location="G:/Project/Gstreamer/TestContent/Em-Gai-Mua-Huong-Tram.mp3" ! decodebin ! mulawenc ! tcpserversink port=7001 host=0.0.0.0
客户:

gst-launch-1.0 tcpclientsrc host=113.160.166.87 port=7001 ! "audio/x-mulaw, channels=1, depth=16, width=16, rate=44100" ! mulawdec ! autoaudiosink

有人帮帮我!谢谢。

为什么要再次在发件人中编码?你能试试下面的管道吗

发件人:

gst-launch-1.0 -v filesrc location="G:/Project/Gstreamer/TestContent/Em-Gai-Mua-Huong-Tram.mp3" ! audioparse ! tcpserversink port=7001 host=0.0.0.0
接收人:

gst-launch-1.0 tcpclientsrc port=7001 host=113.160.166.87 ! decodebin ! autoaudiosink

谢谢你的回答。按照您的命令,接收器接收数据包并播放音频。但它不是实时流,发送方流在30秒内,音频文件为5m30s。我需要使用rtpL16pay之类的有效负载吗?