title: Gstreamer - streaming with TCP sources
body: <p>I am trying to stream video using TCP. Following is the server pipeline:</p>
  
  <pre><code>gst-launch filesrc location=&lt;movie&gt;.mkv ! decodebin ! ffenc_mpeg4 bitrate=5000000 ! rtpmp4vpay mtu=1400 pt=96 ssrc=0 timestamp-offset=0 seqnum-offset=0 send-config=true ! tcpserversink host=0.0.0.0 port=5000
  </code></pre>
  
  <p>And the client pipeline is:</p>
  
  <pre><code>gst-launch tcpclientsrc host=192.168.1.93 port=5000 ! capsfilter caps="application/x-rtp, media=(string)video, clock-rate=(int)2147483647, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d88007d0a041e1463000001b24c61766335322e3132332e30, payload=(int)96, ssrc=(uint)298758266, clock-base=(uint)3097828288, seqnum-base=(uint)63478" ! rtpmp4vdepay ! ffdec_mpeg4 ! autovideosink
  </code></pre>
  
  <p>I had to include a capsfilter between tcpclientsrc and rtpmp4vdepay. This does not seem to be required if I use the udpsrc however. (I cant seem to get the multicast based streaming to work through my BT router). When started  the client starts to play the video, but it is garbage and I can see following warning in the client side.</p>
  
  <pre><code>WARNING: from element /GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0: Could not decode stream.
  Additional debug info:
  gstbasertpdepayload.c(387): gst_base_rtp_depayload_chain (): /GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0:
  Received invalid RTP payload, dropping
  </code></pre>
  
  <p>This warning is emitted continuously.</p>
  
  <p>What am I doing wrong here? </p>