[Bug 759742] New: Running multiple nvenc encoders in the same pipeline causes very high CPU load during initialisation
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Dec 21 06:30:36 PST 2015
https://bugzilla.gnome.org/show_bug.cgi?id=759742
Bug ID: 759742
Summary: Running multiple nvenc encoders in the same pipeline
causes very high CPU load during initialisation
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-plugins-bad
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: matt at stonethree.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
If multiple nvenc endoding elements are used in the same pipeline, then the CPU
use is very high on initialisation.
This can be tested with two pipelines from the command line. One using software
encoding, and the other hardware. The hardware version incorrectly uses
dramatically more CPU than the software for several minutes on the machine I
tested on before it drops down.
The input video is very small ( 50px x 50px ). If I use software encoding ( the
x264enc element ), then CPU use is low - around 20% of one core.
If I simply swap the x264enc element with a nvh264enc element, CPU use maxes
out at 800% ( this is an 8 core machine ) for several minutes before eventually
suddenly dropping to a much more expected use of 8%.
Software Encoding Command:
LD_LIBRARY_PATH=/usr/local/cuda-7.0/targets/x86_64-linux/lib/:/usr/local/lib/
GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.5 gst-launch-1.5 videotestsrc
is-live=true ! video/x-raw,width=50,height=50,framerate=15/1 ! tee name=tee1
tee1. ! queue ! x264enc tune=4 bitrate=200 ! fakesink tee1. ! queue ! x264enc
tune=4 bitrate=200 ! fakesink tee1. ! queue ! x264enc tune=4 bitrate=200 !
fakesink tee1. ! queue ! x264enc tune=4 bitrate=200 ! fakesink tee1. ! queue !
x264enc tune=4 bitrate=200 ! fakesink tee1. ! queue ! x264enc tune=4
bitrate=200 ! fakesink tee1. ! queue ! x264enc tune=4 bitrate=200 ! fakesink
tee1. ! queue ! x264enc tune=4 bitrate=200 ! fakesink tee1. ! queue ! x264enc
tune=4 bitrate=200 ! fakesink tee1. ! queue ! x264enc tune=4 bitrate=200 !
fakesink tee1. ! queue ! x264enc tune=4 bitrate=200 ! fakesink tee1. ! queue !
x264enc tune=4 bitrate=200 ! fakesink tee1. ! queue ! x264enc tune=4
bitrate=200 ! fakesink tee1. ! queue ! x264enc tune=4 bitrate=200 ! fakesink
tee1. ! queue ! x264enc tune=4 bitrate=200 ! fakesink tee1. ! queue ! x264enc
tune=4 bitrate=200 ! fakesink tee1. ! queue ! x264enc tune=4 bitrate=200 !
fakesink tee1. ! queue ! x264enc tune=4 bitrate=200 ! fakesink tee1. ! queue !
x264enc tune=4 bitrate=200 ! fakesink tee1. ! queue ! x264enc tune=4
bitrate=200 ! fakesink
Hardware Encoding Command:
LD_LIBRARY_PATH=/usr/local/cuda-7.0/targets/x86_64-linux/lib/:/usr/local/lib/
GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.5 gst-launch-1.5 videotestsrc
is-live=true ! video/x-raw,width=50,height=50,framerate=15/1 ! tee name=tee1
tee1. ! queue ! nvh264enc ! fakesink tee1. ! queue ! nvh264enc ! fakesink
tee1. ! queue ! nvh264enc ! fakesink tee1. ! queue ! nvh264enc ! fakesink
tee1. ! queue ! nvh264enc ! fakesink tee1. ! queue ! nvh264enc ! fakesink
tee1. ! queue ! nvh264enc ! fakesink tee1. ! queue ! nvh264enc ! fakesink
tee1. ! queue ! nvh264enc ! fakesink tee1. ! queue ! nvh264enc ! fakesink
tee1. ! queue ! nvh264enc ! fakesink tee1. ! queue ! nvh264enc ! fakesink
tee1. ! queue ! nvh264enc ! fakesink tee1. ! queue ! nvh264enc ! fakesink
tee1. ! queue ! nvh264enc ! fakesink tee1. ! queue ! nvh264enc ! fakesink
tee1. ! queue ! nvh264enc ! fakesink tee1. ! queue ! nvh264enc ! fakesink
tee1. ! queue ! nvh264enc ! fakesink tee1. ! queue ! nvh264enc ! fakesink
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list