H.264 Streaming - Error when changing resolution

ftvfev ftv.dev at gmail.com
Sat Jul 6 14:04:45 PDT 2013

I am using gstreamer to stream a video. So I am using the 2 scripts:

Client side :

    # this adjusts the latency in the receiver
    VIDEO_DEC="rtph264depay ! avdec_h264"
    VIDEO_SINK="videoconvert ! autovideosink"
    gst-launch-1.0 -v rtpbin name=rtpbin latency=$LATENCY                                 
         udpsrc caps=$VIDEO_CAPS port=5000 ! rtpbin.recv_rtp_sink_0                      
           rtpbin. ! $VIDEO_DEC ! $VIDEO_SINK                                            
         udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0                                      
             rtpbin.send_rtcp_src_0 ! udpsink port=5005 host=$DEST
sync=false async=false 

Server side:

    # tuning parameters to make the sender send the streams out of sync. Can
be used
    # ot test the client RTCP synchronisation.
    # H264 encode from the source
    # VELEM="v4l2src device=/dev/video0"
    VELEM="filesrc location=big_buck_bunny_1080p_stereo.ogg ! queue !
    VSOURCE="$VELEM ! queue ! videoscale ! videorate  ! $VCAPS"
    VENC="x264enc subme=7 ref=3 bframes=4 me=hex tune=zerolatency
byte-stream=true ! rtph264pay"
    VRTPSINK="udpsink port=5000 host=$DEST ts-offset=$VOFFSET name=vrtpsink"
    VRTCPSINK="udpsink port=5001 host=$DEST sync=false async=false
    VRTCPSRC="udpsrc port=5005 name=vrtpsrc"
    gst-launch-1.0 -v rtpbin name=rtpbin \
        $VSOURCE ! $VENC ! rtpbin.send_rtp_sink_0                                            
            rtpbin.send_rtp_src_0 ! $VRTPSINK                                                
            rtpbin.send_rtcp_src_0 ! $VRTCPSINK                                              
          $VRTCPSRC ! rtpbin.recv_rtcp_sink_0  

It works perfectly. However, when I change the resolution for example to
this 640x480. I get the following error on the client side :

    /GstPipeline:pipeline0/avdec_h264:avdec_h264-0.GstPad:src: caps =
video/x-raw, format=(string)I420, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)4/3, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)0/1
    ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal
data flow error.
    Additional debug info:
    gstbasesrc.c(2812): gst_base_src_loop ():
    streaming task paused, reason not-negotiated (-4)
    Execution ended after 2217228820 ns.
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    Setting pipeline to NULL ...
    Freeing pipeline ...

So what is the reason of this problem and how can I fix it ?

View this message in context: http://gstreamer-devel.966125.n4.nabble.com/H-264-Streaming-Error-when-changing-resolution-tp4660922.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.

More information about the gstreamer-devel mailing list