AW: Video recording performance

Thornton, Keith keith.thornton at zeiss.com
Wed Dec 2 14:40:35 UTC 2020


Hi,
the new plugins mfh264enc etc. can do real recording in 1.18
Gruesse

Von: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> Im Auftrag von Davide Perini
Gesendet: Mittwoch, 2. Dezember 2020 14:10
An: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org>
Cc: Soebirk, Thorsten <Thorsten.Sobirk at itelligence.dk>
Betreff: Re: Video recording performance


Thanks for the reply,

hope to see a real DX11 support on GStreamer even for recording.

Kind Regards,
Davide

Il 2020-12-02 10:13 Soebirk, Thorsten ha scritto:

Davide,



d3d11videosink is for display, not for recording.



/ Thorsten



From: Davide Perini [mailto:perini.davide at dpsoftware.org]
Sent: 02 December 2020 09:25
To: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>>
Cc: Soebirk, Thorsten <Thorsten.Sobirk at itelligence.dk<mailto:Thorsten.Sobirk at itelligence.dk>>
Subject: Video recording performance



EXTERNAL MAIL:

Can you tell me how to use d3d11videosink for video recording please?
I am trying to use:

gst-launch-1.0 dxgiscreencapsrc ! d3d11convert ! d3d11videosink

but I get this error:

| WARNING: erroneous pipeline: could not link dxgiscreencapsrc0 to d3d11colorconvert0 |

Using GStreamer 1.18.1

Thanks
Davide



Il 2020-11-30 13:40 Soebirk, Thorsten ha scritto:

Thanks! I just tried switching to d3d11videosink in release 1.18. This is a massive improvement compared to glimagesink:
- CPU usage reduced to 1/3, which puts it roughly on par with Chrome

- GPU usage reduced to 1/2, still far from Chrome's zero usage, but much better

- Memory usage decreased to about 2/3, nice



What is the overall status of the d3d11 elements? Or better yet, since I'm still new to Gstreamer, where can I see the status of various components myself?



Le mercredi 25 novembre 2020 à 08:43 +0000, Soebirk, Thorsten a écrit :

I'm working on an application that renders video streamed via WebRTC, and I am a little puzzled by the amount of CPU and GPU that this uses. The pipeline is basically as follows:



webrtcbin ! queue ! glimagesink

While streaming an HD video source, my application (on Windows) is using appr. 10% CPU and 25% GPU. If I view the exact same WebRTC stream in the Chrome browser, it uses appr 4% CPU and 0% GPU.



I know the absolute number given here mean nothing, but I am struck by the fact that Chrome can render this using half the CPU and without using the GPU at all.



I am fairly certain that the resources are consumed in glimagesink and not the other elements of the pipeline, because if I replace glimagesink with fakesink, then my application's resource consumption essentially goes to zero. Also, if I insert a caps filter before the sink to reduce the resolution, this also reduces total resource usage, despite being an additional processing step.



I've also tried replacing glimagesink with d3dvideosink. Both use roughly the same resources.





Given that Chrome is likely highly optimized for this particular use case where Gstreamer is a much more general framework, I would not necessarily expect performance parity in this case, but does anyone have any suggestions for possibly reducing resource usage while maintaining video quality and resolution in this scenario? I'm also struggling to understand why glimagesink and d3dvideosink would be using the GPU at all (much less so heavily) when Chrome seems to do entirely without.



I believe you will have to look forward using the new (in gstreamer master) d3d11 elements to try and get close to a match.





/ Thorsten

_______________________________________________

gstreamer-devel mailing list

gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>

https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fgstreamer-devel&data=04%7C01%7C%7C798cbf349089435d826508d896ccb7a5%7C28042244bb514cd680347776fa3703e8%7C1%7C1%7C637425153282678575%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=bEOR9G%2FIPB3WRFz0X6x9snYcSgZpGLJ%2F%2FU5l4on2FlE%3D&reserved=0>







_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fgstreamer-devel&data=04%7C01%7C%7C798cbf349089435d826508d896ccb7a5%7C28042244bb514cd680347776fa3703e8%7C1%7C1%7C637425153282678575%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=bEOR9G%2FIPB3WRFz0X6x9snYcSgZpGLJ%2F%2FU5l4on2FlE%3D&reserved=0>





_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fgstreamer-devel&data=04%7C01%7C%7C798cbf349089435d826508d896ccb7a5%7C28042244bb514cd680347776fa3703e8%7C1%7C1%7C637425153282688565%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Sk3cw6EifN5SWo4z%2BS7nrmIMD5dT6vCjawx3xZH8Upg%3D&reserved=0>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20201202/a07a9b8b/attachment-0001.htm>


More information about the gstreamer-devel mailing list