Color space conversion CPU utilization

Alex alex.s.pevzner at gmail.com
Fri Mar 25 01:05:20 UTC 2016


Hi,

I'm running into a problem, where a simple color space conversion seems 
to be consuming a non-trivial amount of CPU. Consider the following 
pipeline (ran on 1080p source):

gst-launch-1.0 -e rtspsrc 
location=rtsp://user:pwd@10.10.10.54/video.h264 ! decodebin ! x264enc 
threads=6 speed-preset=1 ! video/x-h264, profile=baseline ! splitmuxsink 
max-size-time=15000000000 location=file-%03d.mp4


This pipeline runs at 66% CPU. Now, when I change it to

gst-launch-1.0 -e rtspsrc 
location=rtsp://user:pwd@10.10.10.54/video.h264 ! decodebin ! 
videoconvert ! "video/x-raw, format=BGRA" ! videoconvert ! "video/x-raw, 
format=I420" ! x264enc threads=6 speed-preset=1 ! video/x-h264, 
profile=baseline ! splitmuxsink max-size-time=15000000000 
location=file-%03d.mp4

the CPU utilization nearly doubles (to slightly over 120%).

Is there a way to optimize it? My current (non-gstreamer) code is using 
ffmpeg's swscale to convert color space, and the effect of that 
conversion on overall performance is quite negligible.

Thanks!
- Alex


More information about the gstreamer-devel mailing list