Gstreamer Mac OS X ошибка udpsink - PullRequest
       12

Gstreamer Mac OS X ошибка udpsink

3 голосов
/ 04 ноября 2010

Я пытаюсь транслировать звук в Mac OS X, но постоянно получаю эту ошибку:

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, заменяя osxaudiosrc на autoaudiosrc, кто-нибудь знает, в чем проблема?

спасибо

Ответы [ 3 ]

7 голосов
/ 12 января 2011

Возможно, вам не хватает плагина gst-ffmpeg . Я говорю это потому, что я бы столкнулся с похожей проблемой .

Вы можете установить его, используя 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.

Удачи!

1 голос
/ 10 ноября 2010

В коде udpsink / multiudpsink имеется ошибка, связанная с системами с поддержкой IPV6 и созданием сокетов.

Если вы кодируете свой конвейер в 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-launch, я боюсь, что вам придется редактировать свой путь через multiudpsink.c, пока вы не поймете, как это обойти.

0 голосов
/ 02 апреля 2015

Эта ошибка была исправлена ​​в 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
...