Декодировать и передавать h264 через udp с помощью GStreamer

Я пытаюсь декодировать видео с h264 и перекодировать его для передачи клиенту через UDP:

На стороне передатчика:

gst-launch-1.0 -v filesrc location=/home/ubuntu/Videos/test.mp4 ! qtdemux name=demux ! h264parse ! omxh264dec ! nvvidconv ! omxh264enc ! rtph264pay ! udpsink host=127.0.0.1 port=5000

На стороне получателя:

gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 ! rtph264depay ! h264parse ! omxh264dec ! nveglglessink

Я делаю это локально, для теста, на NVidia Tegra TK1, но ничего не отображается, хотя никаких ошибок не возникает.

Кто-нибудь видит, что добавить? Заранее спасибо.

1 ответ

Хорошо, наконец-то я заработал, но использовал другой сетевой протокол:

Только для тестирования, отправляйте и получайте локально на самом Tegra TK1:

Послать:

gst-launch-1.0 filesrc location=/home/ubuntu/Videos/test.mp4 ! qtdemux name=demux ! h264parse ! omxh264dec ! nvvidconv ! omxh264enc ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=127.0.0.1 port=5000 

Получать:

gst-launch-1.0 -v tcpclientsrc host=127.0.0.1 port=5000 ! gdpdepay ! rtph264depay ! h264parse ! omxh264dec ! nveglglessink sync=false

Результат нестабилен, но на данном этапе мне все равно. Я получаю что-то!!

Получите на Ubuntu PC:

gst-launch-1.0 -v tcpclientsrc host=<Tegra IP> port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false
Другие вопросы по тегам