Trying to get streaming work with x264 encoding.
I am doing some black magic with stitching two images which is known to work:
gst-launch-1.0 -e \
v4l2src device=/dev/video0 ! \
video/x-raw,framerate=90/1,width=640,height=480 ! m.sink_0 \
v4l2src device=/dev/video1 ! \
video/x-raw,framerate=90/1,width=640,height=480 ! m.sink_1 \
videomixer name=m sink_1::xpos=640 ! \
video/x-raw,framerate=90/1,width=1280,height=480 ! \
xvimagesink
Now I am trying to get same thing over x264 stream with help of internet:
gst-launch-1.0 -e \
v4l2src device=/dev/video0 ! \
video/x-raw,framerate=90/1,width=640,height=480 ! m.sink_0 \
v4l2src device=/dev/video1 ! \
video/x-raw,framerate=90/1,width=640,height=480 ! m.sink_1 \
videomixer name=m sink_1::xpos=640 ! \
video/x-raw,framerate=90/1,width=1280,height=480 ! \
x264enc tune=zerolatency byte-stream=true bitrate=3000 threads=2 ! \
h264parse config-interval=1 ! \
rtph264pay ! \
udpsink host=127.0.0.1 port=5000
And seems to work because no errors appear. But I see no way to receive image.
I have tried
gst-launch-1.0 udpsrc port=5000 ! application/x-rtp ! rtph264depay ! h264parse ! avdec_h264 ! xvimagesink
which does not provide anything useful. Also attempted to use VLC with SDP file:
c=IN IP4 127.0.0.1
m=video 5000 RTP/AVP 96
a=rtpmap:96 H264/3000
I must be doing something wrong but unsure what.
EDIT: Question about version of GStreamer. Probably this is information needed:
ubuntu@tegra-ubuntu:~$ gst-launch-1.0 --version
gst-launch-1.0 version 1.2.4
GStreamer 1.2.4
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0
ubuntu@tegra-ubuntu:~$
$ dpkg -l | grep gstreamer
ii gir1.2-gstreamer-1.0 1.2.4-0ubuntu1.1 armhf Description: GObject introspection data for the GStreamer library
ii gstreamer-tools 0.10.36-1.2ubuntu3 armhf Tools for use with GStreamer
ii gstreamer0.10-alsa:armhf 0.10.36-1.1ubuntu2 armhf GStreamer plugin for ALSA
ii gstreamer0.10-fluendo-mp3:armhf 0.10.23.debian-3 armhf Fluendo mp3 decoder GStreamer 0.10 plugin
ii gstreamer0.10-nice:armhf 0.1.4-1 armhf ICE library (GStreamer 0.10 plugin)
ii gstreamer0.10-plugins-bad:armhf 0.10.23-7.2ubuntu1.3 armhf GStreamer plugins from the "bad" set
ii gstreamer0.10-plugins-bad-multiverse 0.10.21-1ubuntu3 armhf GStreamer plugins from the "bad" set (Multiverse Variant)
ii gstreamer0.10-plugins-base:armhf 0.10.36-1.1ubuntu2 armhf GStreamer plugins from the "base" set
ii gstreamer0.10-plugins-base-apps 0.10.36-1.1ubuntu2 armhf GStreamer helper programs from the "base" set
ii gstreamer0.10-plugins-good:armhf 0.10.31-3+nmu1ubuntu5.2 armhf GStreamer plugins from the "good" set
ii gstreamer0.10-plugins-ugly:armhf 0.10.19-2ubuntu5 armhf GStreamer plugins from the "ugly" set
ii gstreamer0.10-pulseaudio:armhf 0.10.31-3+nmu1ubuntu5.2 armhf GStreamer plugin for PulseAudio
ii gstreamer0.10-tools 0.10.36-1.2ubuntu3 armhf Tools for use with GStreamer
ii gstreamer0.10-x:armhf 0.10.36-1.1ubuntu2 armhf GStreamer plugins for X11 and Pango
ii gstreamer1.0-alsa:armhf 1.2.4-1~ubuntu2 armhf GStreamer plugin for ALSA
ii gstreamer1.0-clutter 2.0.8-1build1 armhf Clutter PLugin for GStreamer 1.0
ii gstreamer1.0-fluendo-mp3:armhf 0.10.23.debian-3 armhf Fluendo mp3 decoder GStreamer 1.0 plugin
ii gstreamer1.0-libav:armhf 1.2.4-1~ubuntu1 armhf libav plugin for GStreamer
ii gstreamer1.0-nice:armhf 0.1.4-1 armhf ICE library (GStreamer plugin)
ii gstreamer1.0-plugins-bad:armhf 1.2.4-1~ubuntu1.1 armhf GStreamer plugins from the "bad" set
ii gstreamer1.0-plugins-bad-faad:armhf 1.2.4-1~ubuntu1.1 armhf GStreamer faad plugin from the "bad" set
ii gstreamer1.0-plugins-bad-videoparsers:armhf 1.2.4-1~ubuntu1.1 armhf GStreamer videoparsers plugin from the "bad" set
ii gstreamer1.0-plugins-base:armhf 1.2.4-1~ubuntu2 armhf GStreamer plugins from the "base" set
ii gstreamer1.0-plugins-base-apps 1.2.4-1~ubuntu2 armhf GStreamer helper programs from the "base" set
ii gstreamer1.0-plugins-good:armhf 1.2.4-1~ubuntu1.3 armhf GStreamer plugins from the "good" set
ii gstreamer1.0-plugins-ugly:armhf 1.2.3-2build1 armhf GStreamer plugins from the "ugly" set
ii gstreamer1.0-pulseaudio:armhf 1.2.4-1~ubuntu1.3 armhf GStreamer plugin for PulseAudio
ii gstreamer1.0-tools 1.2.4-0ubuntu1.1 armhf Tools for use with GStreamer
ii gstreamer1.0-x:armhf 1.2.4-1~ubuntu2 armhf GStreamer plugins for X11 and Pango
ii libgstreamer-plugins-bad0.10-0:armhf 0.10.23-7.2ubuntu1.3 armhf GStreamer shared libraries from the "bad" set
ii libgstreamer-plugins-bad1.0-0:armhf 1.2.4-1~ubuntu1.1 armhf GStreamer development files for libraries from the "bad" set
ii libgstreamer-plugins-base0.10-0:armhf 0.10.36-1.1ubuntu2 armhf GStreamer libraries from the "base" set
ii libgstreamer-plugins-base1.0-0:armhf 1.2.4-1~ubuntu2 armhf GStreamer libraries from the "base" set
ii libgstreamer-plugins-good1.0-0:armhf 1.2.4-1~ubuntu1.3 armhf GStreamer development files for libraries from the "good" set
ii libgstreamer0.10-0:armhf 0.10.36-1.2ubuntu3 armhf Core GStreamer libraries and elements
ii libgstreamer1.0-0:armhf 1.2.4-0ubuntu1.1 armhf Core GStreamer libraries and elements
$
I propose your different points to solve the problem:
In order to identify if it's on the streaming or the encoding part of your pipeline problem occurs, can you try to launch a pipeline with a lower bitrate and a local preview:
Also, can you try to launch Wireshark or tcpdump on the loopback interface of your system in order to monitor trafic on port 5000.
Switch with an hardware encoder: