使用gstreamer将固定大小的带有原始数据的udp数据包发送到gnuradio接口

时间:2018-08-06 15:25:03

标签: audio udp gstreamer gnuradio

我正在尝试将gstreamer与gnuradio接口。 Gnuradio具有输入块,该块接收固定大小的有效载荷udp数据包https://www.gnuradio.org/doc/sphinx-3.7.0/blocks/networking_tools_blk.html中的数据。没有暗示协议:每个udp数据包都应包含相同数量的带符号的短裤(16位文件)。

显然,gstreamer可以使用udpsink发送udp数据包。我尝试跑步

gst-launch-1.0  audiotestsrc wave=saw ! queue2 ! audioconvert  ! audioresample ! audio/x-raw,rate=48000 ! udpsink host=127.0.0.1 port=1234

我挂断了Wireshark,发现数据包大小为2048个字节。我将其提供给GNUradio,一切正常。

但是,当我在gstreamer中尝试mp3源文件时:

gst-launch-1.0 filesrc location=/home/adamov/Kerensky_Interview_1964.mp3  ! mpegaudioparse ! mpg123audiodec ! queue ! audioconvert  ! audioresample ! audio/x-raw,rate=48000 ! udpsink host=127.0.0.1 port=1234

结果完全乱码。我发现,wireshark的数据包大小在5016到5012字节之间变化。

有人知道如何在gstreamer中强制固定包大小吗?还有其他将原始数据发送到udp的方法吗?

PS:这是用于测试的gnuradio流程图 Flow graph

0 个答案:

没有答案