postproc: framerate should not be always duplicated
Submitted by Benjamin
Link to original bug (#781069)
Description
Created attachment 349532
Gstreamer-VAAPI vs Gstreamer-MSDK
When transcoding with Gstreamer-VAAPI a lot more of GPU resources are being used then Gstreamer-MSDK.
Live Transcode VAAPI: GPU 27%
Live Transcode MSDK: GPU 6%
VAAPI seems to be using 4 times more GPU then MSDK.
Please see the attached image I took screenshot of both servers.
Environment:
2x identical servers with Xeon(R) CPU E3-1245 v5 SKYLAKE
Server 1 with VAAPI: Ubuntu 16.04
vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 1.8.2.pre1 (1.7.3-372-g2f0a844)
Gstreamer-VAAPI Pipeline:
gst-launch-1.0 souphttpsrc location="http://localhost:80/oranews_HD/mpegts" is-live=true ! tsdemux name=demux ! queue max-size-buffers=1200 max-size-buffers=0 max-size-time=0 ! \
h264parse ! vaapih264dec ! vaapipostproc width=1280 height=720 ! vaapih264enc rate-control=2 bitrate=1700 ! h264parse ! \
flvmux streamable=true name=mux ! rtmpsink location="rtmp://localhost:1935/pushrtmp/vappi_outs live=1" demux. ! queue max-size-buffers=1200 max-size-buffers=0 max-size-time=0 ! \
mpegaudioparse ! queue ! avdec_mp2float plc=true ! audioconvert ! queue ! voaacenc bitrate=128000 ! mux.
Server 2 with MSDK: Centos 7.2
Media Server Studio 2017
vainfo: VA-API version: 0.99 (libva 1.67.0.pre1)
Gstreamer-MSDK Pipeline:
gst-launch-1.0 souphttpsrc location="http://localhost:80/oranews_HD/mpegts" is-live=true ! tsdemux name=demux ! queue max-size-buffers=1200 max-size-buffers=0 max-size-time=0 \
! h264parse ! mfxh264dec ! mfxvpp width=1280 height=720 ! mfxh264enc rate-control=1 bitrate=1700 ! flvmux streamable=true name=mux ! rtmpsink location="rtmp://localhost:1935/pushrtmp/mfx_out live=1" demux. \
! queue max-size-buffers=1200 max-size-buffers=0 max-size-time=0 ! mpegaudioparse ! queue ! avdec_mp2float plc=true ! audioconvert ! queue ! voaacenc bitrate=128000 ! mux.
Attachment 349532, "Gstreamer-VAAPI vs Gstreamer-MSDK":
Version: 1.11.x