Issue replacing jpegenc with x264 enc in a pipeline

Tim Müller tim at centricular.com
Mon Dec 2 04:26:29 PST 2013


On Mon, 2013-12-02 at 13:16 +0100, Severin Kacianka wrote:

Hi,

> I use a Logitech C920 and want to save the 1080p version of a stream to 
> a file and at the same time stream a lower quality version.
> Currently I use tee to split the output: One part gets written to a file 
> and the other part is then streamed. This version using mjpeg works as 
> expected:
> gst-launch-1.0 -e uvch264src device=/dev/video1 name=src auto-start=true 
> src.vfsrc ! queue ! video/x-raw,width=320,height=240,framerate=30/1 ! 
> fakesink src.vidsrc ! queue ! 
> video/x-h264,width=1920,height=1080,framerate=30/1,profile=constrained-baseline 
> ! tee name=foo ! queue ! h264parse ! mp4mux ! filesink location=bla.mp4 
> foo. ! h264parse !  avdec_h264 ! videorate ! video/x-raw,framerate=5/1 ! 
> videoscale ! video/x-raw,width=320,height=180 !  jpegenc quality=10 ! 
> rtpjpegpay  ! udpsink host=example.com port=1234
> 
> 
> However when I try to replace jpecenc with x264enc the pipeline does not 
> work (without any error message):
> gst-launch-1.0 -e uvch264src device=/dev/video1 name=src auto-start=true 
> src.vfsrc ! queue ! video/x-raw,width=320,height=240,framerate=30/1 ! 
> fakesink src.vidsrc ! queue ! 
> video/x-h264,width=1920,height=1080,framerate=30/1,profile=constrained-baseline 
> ! tee name=foo ! queue ! h264parse ! mp4mux ! filesink location=bla.mp4 
> foo. ! h264parse !  avdec_h264 ! videorate ! video/x-raw,framerate=5/1 ! 
> videoscale ! video/x-raw,width=320,height=180 ! x264enc ! rtph264pay  ! 
> udpsink host=example.com port=1234

Try x264enc tune=zerolatency , or filesink async=false , or make the
queue in the filesink branch larger if not unlimited.

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com






More information about the gstreamer-devel mailing list