Strona 1 z 1

Gstreamer: udpsrc, udpsink

: 19 kwietnia 2010, 19:36
autor: tecumseh12
Witam!

Od jakiegoś czasu próbuję przesłać plik za pomocą gstreamera i protokołu udp. z wykorzystaniem protokołu tcp kopiowanie działa b. dobrze natomiast z udp niestety nie. Przeczytałem kilka wątków na ten temat na różnych forach internetowych, ale z jakiegoś powodu rozwiązania tam sugerowane u mnie się nie sprawdzają.

oto przykład mojej konfiguracji nadajnik/odbiornik - może ktoś mi powiedzieć gdzie popełniam błąd - chciałbym, aby plik (..)/Linux.mp3 został skopiowany do pliku nowy.mp3:

,,nadajnik'':

Kod: Zaznacz cały

gst-launch -v filesrc location=/home/kafar/Pobrane/Linux.mp3 ! udpsink port=5000 host=localhost sync=false
,,odbiornik'':

Kod: Zaznacz cały

gst-launch -v udpsrc port=5000 ! filesink location=nowy.mp3
nadajnik zaczyna transmitować, ale bardzo szybko się wyłącza, oto kod który zostaje zwrócony:

Kod: Zaznacz cały

Ustawianie potoku na PAUZOWANIE...
Potok jest PRZEWIJANY...
Potok jest PRZEWINIĘTY...
Ustawianie potoku na ODTWARZANIE...
New clock: GstSystemClock
Otrzymano EOS od elementu "pipeline0".
Execution ended after 135143 ns.
Ustawianie potoku na PAUZOWANIE...
Ustawianie potoku na GOTOWOŚĆ...
Ustawianie potoku na NULL...
Zwalnianie potoku...
powstaje nowy plik lecz jest on pusty:

Kod: Zaznacz cały

du -sh nowy.mp3 
0    nowy.mp3
uważam, że błąd leży gdzieś w okolicach wykorzystania udpsink, poniewaz np. lącze poniżej wyświetla plik (..)/Linux.mp3 na ekranie

Kod: Zaznacz cały

gst-launch -v filesrc location=/home/kafar/Pobrane/Linux.mp3 ! fdsink
Docelowo chciałbym zrealizować przesyłanie dźwięku z alsasrc do alsasink pomiędzy dwoma hostami z wykorzystaniem protokołu UDP.

Będę wdzięczny za pomoc.
Krzysiek