Потоковое видео с малины на Ubuntu, используя Gstreamer и easycap - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь передать изображение с камеры raspberry pi2 на машину Ubuntu с помощью GStreamer.

камера подключена к raspberry pi с помощью USB с помощью easycap.

Код, используемый для потоковой передачикамера:

  #!/bin/bash
clear 
gst-launch-1.0 -v v4l2src device=/dev/video0 !omxh264enc ! avimux !udpsink host=192.168.0.102 port=6030

и для Ubuntu я использую следующие

    #!/bin/bash
clear
gst-launch-1.0 -e -v udpsrc port=6000 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=false

, когда я запускаю коды, Raspberry Pi передает данные и Ubuntu получает их, но окно потоковой передачи не открыто, и я получаю следующую ошибку

WARNING: from element /GstPipeline:pipeline0/GstRtpJitterBuffer:rtpjitterbuffer0: Could not decode stream.
Additional debug info:
gstrtpjitterbuffer.c(3247): gst_rtp_jitter_buffer_chain (): /GstPipeline:pipeline0/GstRtpJitterBuffer:rtpjitterbuffer0:
Received invalid RTP payload, dropping

Я открыт для предложений, Спасибо

1 Ответ

0 голосов
/ 09 октября 2018

Попробуйте выполнить следующие действия:

  1. Для простоты используйте один и тот же номер порта у отправителя и получателя.
  2. В отправителе используйте элемент rtph264pay

    gst-launch-1.0 -v v4l2src device=/dev/video0 ! omxh264enc ! rtph264pay ! udpsink host=192.168.0.102 port=6030

  3. Используйте одну из следующих команд на приемнике для мониторинга статистики UDP:

    cat /proc/net/snmp | grep Udp\:

    cat /proc/net/udp

Кроме того, вы также можете использовать элемент h264parse в своих конвейерах:

#Sender
gst-launch-1.0 -v v4l2src device=/dev/video0 ! omxh264enc ! h264parse ! rtph264pay ! udpsink host=192.168.0.102 port=6030


#Receiver
gst-launch-1.0 -e -v udpsrc port=6030 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! h264parse ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=false
...