LINUX.ORG.RU

gstreamer rtsp #2

 ,


0

1

хочу тупо вывести в стрим udp снег и получить его

пишу так: Server

route add -net 239.1.0.0 netmask 255.255.0.0 dev eth0
gst-launch-1.0 videotestsrc pattern=snow ! video/x-raw,width=1280,height=720 ! rndbuffersize max=1316 min=1316 ! udpsink port=5554 host=239.1.1.1

Client

route add -net 239.1.0.0 netmask 255.255.0.0 dev eth0
gst-launch-1.0 udpsrc port=5554 host=239.1.1.1 ! decodebin ! autovideosink

на клиенте ничего не происходит

причем на том же сервера запускаю и сервер и клиент, убрав опцию host - тоже самое...

пытался проигрывать через VLC, указав udp://ip:5554 - тоже тишина...

что я делаю не так?))


Для начала — UDP не предполагает сохранения последовательности, пакеты могут прийти в любом порядке, порушив твоё видео. Тебе надо что-то типа rtpvrawpay или rtph264pay на стороне сервера и соответствующий depay на стороне клиента.

Дальше. decodebin тут вообще без надобности, ведь кодирования видео как такового нет. И кстати, тебе понадобится в деталях описывать параметры видео, если будешь использовать raw. Там ведь внутри нет никакой информации о формате цвета, размерах кадра, числе кадров в секунду и тому подобного.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

получилось так:

Server

gst-launch-1.0 videotestsrc pattern=snow !  video/x-raw,width=640,height=480 ! x264enc tune=zerolatency byte-stream=true bitrate=3000 threads=2 ! h264parse config-interval=1 !  rtph264pay ! udpsink host=239.1.1.1 port=5000

Client

gst-launch-1.0 udpsrc uri=udp://239.1.1.1:5000 !  application/x-rtp, encoding-name=H264,payload=96 !  rtph264depay ! h264parse ! avdec_h264 !  autovideosink
Menog
() автор топика
4 мая 2016 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.