2010-11-04 131 views
3

我想在Mac OS X中传输音频,但我不断收到此错误:的Gstreamer的Mac OS X udpsink错误

gst-launch osxaudiosrc ! audioresample ! audioconvert ! alawenc ! rtppcmapay ! udpsink port=10001 host=192.168.2.10 

Setting pipeline to PAUSED … 
ERROR: Pipeline doesn’t want to pause. 
ERROR: from element /GstPipeline:pipeline0/GstUDPSink:udpsink0: Could not get/set settings from/on resource. 
Additional debug info: 
gstmultiudpsink.c(804): gst_multiudpsink_configure_client(): /GstPipeline:pipeline0/GstUDPSink:udpsink0: 
Could not set TTL socket option (22): Invalid argument 
Setting pipeline to NULL … 
Freeing pipeline … 

此工程在Windows替换osxaudiosrcautoaudiosrc,谁知道是什么问题?

感谢

+0

这是发生在我身上也对类似的案件:HTTP:// stackoverflow.com/q/4649925/207894您是否找到解决方案? – 2011-01-11 21:07:24

回答

1

有在有关IPV6的udpsink/multiudpsink代码中的错误功能的系统和套接字创建。

如果你用C语言编写你的管道,你可以通过手动创建套接字来使用和使用这个套接字来避开这种情况。

my_sink = gst_element_make_from_uri(GST_URI_SINK, "udp://233.34.28.1:31337", NULL); 
int my_tx_socket; 
my_tx_socket = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) 
g_object_set(G_OBJECT(my_sink), “sockfd”, my_tx_socket, NULL); 

如果你只是打算用GST推出恐怕你将不得不通过multiudpsink.c编辑您的方法,直到你弄清楚如何绕过因此使用它。

7

您可能会错过gst-ffmpeg插件。我说这是因为I'd encoutered a similiar problem

您可以使用Homebrew(首选)或MacPorts进行安装。

家酿命令:brew install gst-ffmpeg

我也建议安装其他包。该命令将安装GStreamer及其所有软件包:brew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg

使用brew search gst来搜索您可能需要的与GStreamer有关的其他软件包。

祝你好运!

0

此bug已被固定在GStreamer的-1.0这样安装(如port install gstreamer1-gst-plugins-good)和运行 - 确保您使用V1管道:

gst-launch-1.0 osxaudiosrc ! audioresample ! audioconvert ! alawenc ! rtppcmapay ! udpsink port=10001 host=192.168.2.10