Gstreamer жидкость RTP (MPEG2 TS) воспроизведения - PullRequest
2 голосов
/ 21 марта 2012

Я читал о поддержке gstreamer для rtp, и должна быть возможность воспроизводить потоки rtp с помощью gstreamer.

Я пробовал с этим

GST_DEBUG="*:3" gst-launch-0.10 -v udpsrc buffer-size="5000"   \
port=1234 multicast-group="239.0.0.17"   \
caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264"   \
! .recv_rtp_sink_0 gstrtpbin ! rtpmp2tdepay   \
! mpegtsdemux ! ffdec_h264 ! xvimagesink

и я получаю видео для показа, но полностью недоступно для просмотра - один кадр в 3 секунды (и этот кадр вообще не выглядит нормально)

Кто-нибудь знает, как заставить gstreamer воспроизводить потоки rtp, которые находятся в MPEG2 TS? В этом формате я получаю спутниковые каналы от IPTV, так что это должно быть распространено.

Ответы [ 3 ]

0 голосов
/ 23 марта 2012

Вот пример, где я могу воспроизвести видео dvb-s (mpeg2) из ​​многоадресного, многопрограммного транспортного потока:

gst-launch -v udpsrc port=1234 multicast-group="239.255.219.99" ! queue2 ! mpegtsdemux program-number=2004 ! queue2 ! ffdec_mpeg2video ! autovideosink

Если я не добавлю очереди до и после tsdemux,У меня такие же проблемы, как вы описали, так что это может быть и вашей проблемой.

0 голосов
/ 29 марта 2012

Мне удалось решить эту проблему:

gst-launch-0.10 -vm udpsrc port=1234 multicast-group=239.0.0.1 \
caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,payload=(int)96" \
! .recv_rtp_sink_0 gstrtpbin latency=800 ! rtpmp2tdepay \
! tsdemux ! ffdec_h264 ! xvimagesink

и это прекрасно работает.

Спасибо за помощь!

0 голосов
/ 22 марта 2012

Почему вы используете такой маленький буфер на udpsrc?Был ли дефолт плохим?Также проверьте еще раз на irc, возникла проблема с mpegtsdemuxer.

...