omxh264enc and stream-format=(string)avc

joao machado 00jmsmachado at gmail.com
Sun Apr 12 11:22:34 PDT 2015


Hi all,

I  am using Rpi and Gstreamer to stream my HD web cam with low latency.
Currently I am using two different encoders for that purpose. With the omx
I am getting some video quality issues and with x264 i am getting high CPU
usage and low frequency.

The following is the pipe with x264 encoder
<http://www.raspberrypi.org/forums/viewtopic.php?f=29&t=106455&p=734508#>gst-launch-1.0
-vv v4l2src ! videoscale !  videorate  ! videoconvert ! \
  video/x-raw,width=1280,height=720,framerate=30/1  ! x264enc bitrate=8000
! \
h264parse !  rtph264pay pt=96 config-interval=1 ! udpsink host=$1 port=$2

The following are pipelines with low latency but with quality issues,
despite the value that is use in the bitrate property.
gst-launch-1.0 -vv v4l2src ! videoscale !  videorate  ! videoconvert ! \
  video/x-raw,width=720,height=480,framerate=30/1  ! omxh264enc
inline-header=true periodicty-idr=1 ! \
video/x-h264,width=720,height=480,framerate=30/1,profile=high,target-bitrate=8000000,control-rate=variable,quant-i-frames=250
! \
rtph264pay pt=96 ! udpsink host=$1 port=$2

gst-launch-1.0 -vv v4l2src  \
image/jpeg,width=1280,height=720,framerate=30/1  ! jpegdec ! videoconvert
! \
video/x-raw,width=1280,height=720  ! videorate !  omxh264enc
inline-header=true periodicty-idr=1 ! \
video/x-h264,width=1280,height=720,framerate=30/1,profile=high,target-bitrate=5000000
! \
rtph264pay pt=96 ! udpsink host=$1 port=$2


The only difference that i found was in the stream-format property.

*x264enc*

video/x-h264,
codec_data=(buffer)0164001effe1001d6764001eacd940b43dbff0020001b10000030001000003003c8f162d9601000568ebecb22c,
*stream-format=(string)avc*, alignment=(string)au, level=(string)3,
profile=(string)high, width=(int)720, height=(int)480,
pixel-aspect-ratio=(fraction)32/27, framerate=(fraction)30/1

*omxh264enc*

video/x-h264, *stream-format=(string)byte-stream*, alignment=(string)au,
profile=(string)high, level=(string)4, width=(int)720, height=(int)480,
pixel-aspect-ratio=(fraction)32/27, framerate=(fraction)30/1

Would be really cool to understand what is needed to change the stream
format.

Looking forward to have some clues from this community.

Thanks in advance,
Joao M.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150412/7bbd721e/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x264_omx264.png
Type: image/png
Size: 501708 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150412/7bbd721e/attachment-0001.png>


More information about the gstreamer-devel mailing list