Internal data stream error - RTP/UDP streaming on Android

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Internal data stream error - RTP/UDP streaming on Android

Carlos
Hi, I have a working pipeline on a Raspberry Pi that streams video from the camara using RTP over UDP:
raspivid -t 0 -w 640 -h 480 -fps 30 -b 2000000 -hf -vf -ex auto -awb auto -o - | \
gst-launch-1.0 -e -v fdsrc \
  ! video/x-h264,width=640,height=480,framerate=30/1,profile=baseline,stream-format=avc,alignment=au \
  ! queue \
  ! h264parse \
  ! rtph264pay \
      config-interval=1 \
      pt=96 \
  ! udpsink \
      sync=false \
      host=192.168.1.95 \
      port=5004 \
      bind-address=192.168.1.99 \
      bind-port=5004
Now I try to play it on Android by modifying the pipeline in Tutorial 3. This is what I use:
udpsrc port=5004 caps=application/x-rtp,payload=96,clock-rate=90000,encoding-name=H264 \
    ! rtph264depay \
    ! video/x-h264,width=640,height=480,framerate=30/1,stream-format=avc,alignment=au \
    ! h264parse \
    ! autovideosink
But this throws the following error:
Error received from elements udpsrc0: Internal data stream error
I have also tried to
mpegtsmux
the parsed H264 video before linking it to
autovideosink
but I got the same error. It is kinda weird because dumping video to a file does work:
udpsrc port=5004 caps=application/x-rtp,payload=96,clock-rate=90000,encoding-name=H264 \
    ! rtph264depay \
    ! video/x-h264,width=640,height=480,framerate=30/1,stream-format=avc,alignment=au \
    ! h264parse \
    ! mpegtsmux \
    ! filesink location=/sdcard/video.mpeg
Can anybody tell me what I am doing wrong? Thank you very much in advance!