1

我在 Windows 上对 GStreamer(ossbuild 0.10.7)进行了一些试验,但我似乎无法让两台计算机之间的音频流工作。我在接收器端听到的只是一声短促的哔哔声,然后是沉默。

这是发送方管道:

gst-launch -v audiotestsrc  ! audioconvert ! rtpL16pay ! udpsink host=224.0.0.7 auto-multicast=true port=4444

这是接收器管道:

gst-launch -v udpsrc multicast-group=224.0.0.7 port=4444 caps="application/x-rtp, media=(string)audio, channels=(int)1, clock-rate=(int)44100, encoding-name=(string)L16" ! gstrtpbin ! rtpL16depay ! audioconvert ! queue ! autoaudiosink

我已经尝试过不同的队列设置和编解码器。当我尝试流式传输音频文件时也是如此,我听到的只是大约 1 秒。可能是什么问题呢?

4

1 回答 1

1

似乎是 autoaudiosink 和 rtpL16 的问题。该管道有效:

发件人:

gst-launch -v directsoundsrc ! audioresample ! audio/x-raw-int, rate=8000 ! audioconvert ! udpsink host=224.0.0.7 port=4444

接收者:

gst-launch -v udpsrc multicast-group=224.0.0.7 port=4444 caps="audio/x-raw-int, channels=(int)2, rate=(int)8000, width=(int)16, depth=(int)16" ! audioconvert ! directsoundsink

该管道也适用:

发件人:

gst-launch -v directsoundsrc ! audioresample ! audio/x-raw-int, rate=22000 ! faac ! audio/mpeg,mpegversion=4  ! rtpmp4apay ! udpsink host=224.0.0.7 port=4444

接收者:

gst-launch -v udpsrc multicast-group=224.0.0.7 port=4444 caps="application/x-rtp, channels=(int)2, clock-rate=(int)22000, encoding-name=(string)MP4A-LATM, config=(string)40002410" ! gstrtpbin ! rtpmp4adepay ! faad ! directsoundsink
于 2010-12-13T08:04:41.410 回答