[x264enc] - How can i set any parameters that is supported in x264cli with gst?

pfarmer flacone at gmx.de
Fri Mar 9 04:46:18 PST 2012


It seems a matter of unknown order of applying parameters and presets/tuning

For example this does 2 slices (in 2 NAL units) per frame
$ gst-launch filesrc location=video.mkv ! matroskademux ! x264enc
bitrate=128 aud=false  option-string="slices=2" ! rtph264pay ! fakesink
--gst-debug=rtph264pay:5,x264enc:5

This does 4 slices per frame (in 4 NAL units) per frame
$ gst-launch filesrc location=video.mkv ! matroskademux ! x264enc
bitrate=128 aud=false tune=zerolatency option-string="slices=2" ! rtph264pay
! fakesink --gst-debug=rtph264pay:5,x264enc:5

The tuning parameters should be assigned first and then be overwritten by
all other parameters. [man x264]. In the above case the tune=zerolatency
adds sliced-threads [source code common/common.c] which forces to use
multiple slices.
And my guess is that ALL DEFAULT (or overwritten by the user) parameters
others than the option-string are applied to the encoder. This is from a
quick look at the source code, which I did not fully examined yet. That
means thats all parameters available as gstx264enc parameters must be set
there and not in the option-string. In the above example this would be the
bitrate paramerter.

Could that be the case???



The test video e.g.:
$ gst-launch videotestsrc num-buffers=10 ! video/x-raw-yuv,
format="(fourcc)I420" ! filesink location=video.yuv

--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/x264enc-How-can-i-set-any-parameters-that-is-supported-in-x264cli-with-gst-tp4446527p4459364.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list