low fps for 4k video when videorate element is in place

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

low fps for 4k video when videorate element is in place

msemsar
Dear All,
here is the pipeline that I am using:

appsrc name=videoSrc format=3 stream-type=0 ! video/x-raw, format=(string)UYVY, width=3840, height=2160 ! videorate name=videorate0 ! video/x-raw, framerate=30/1 !nvvidconv name=videoConvert ! video/x-raw(memory:NVMM), format=I420 ! omxh264enc name=h264enc  ! video/x-h264, stream-format=byte-stream ! appsink name=appsink0

As I run the pipeline, fps starts dropping and eventually it goes under 1.
When I remove the "videorate" element fps stays around 11.
I have set the "skip-to-first" property of videorate to true in my code, is there any other setting that I missing for "videorate" element?
Any idea, about the cause of this issue?

Thanks
Mehdi

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: low fps for 4k video when videorate element is in place

Nicolas Dufresne-5
Le lundi 26 juin 2017 à 16:36 -0400, mehdi semsarzadeh a écrit :

> appsrc name=videoSrc format=3 stream-type=0 ! video/x-raw,
> format=(string)UYVY, width=3840, height=2160 ! videorate
> name=videorate0 ! video/x-raw, framerate=30/1 !nvvidconv
> name=videoConvert ! video/x-raw(memory:NVMM), format=I420 !
> omxh264enc name=h264enc  ! video/x-h264, stream-format=byte-stream !
> appsink name=appsink0
>
> As I run the pipeline, fps starts dropping and eventually it goes
> under 1.
> When I remove the "videorate" element fps stays around 11.
> I have set the "skip-to-first" property of videorate to true in my
> code, is there any other setting that I missing for "videorate"
> element?
> Any idea, about the cause of this issue?
You should profile to figure-out the bottleneck. Probably that the
videorate duplicates the frames to compensate your code producing two
slow (as documented by you, 11fps) which cause high overhead in
nvvidconv and omxh264enc. Why do you want videorate in the first place
? How do you timestamp on the appsrc ? Do you need to run this pipeline
with synchronization if you know it's not real time anyways ?

Additionally to that, for nvvidconv, please communicate with the plugin
provider for help (I believe Nvidia ?).

Nicolas
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: low fps for 4k video when videorate element is in place

msemsar
Hi Nicolas,

" Why do you want videorate in the first place?"
I have put the videorate to make fps 30, regardless of camera's capture rate.

"How do you timestamp on the appsrc ?"
Video is captured live and timestamp is set based  on capture time. (timestamp starts from zero, though)

Yes it is Nvidia's TX1.

Thanks.


On Mon, Jun 26, 2017 at 5:10 PM, Nicolas Dufresne <[hidden email]> wrote:
Le lundi 26 juin 2017 à 16:36 -0400, mehdi semsarzadeh a écrit :
> appsrc name=videoSrc format=3 stream-type=0 ! video/x-raw,
> format=(string)UYVY, width=3840, height=2160 ! videorate
> name=videorate0 ! video/x-raw, framerate=30/1 !nvvidconv
> name=videoConvert ! video/x-raw(memory:NVMM), format=I420 !
> omxh264enc name=h264enc  ! video/x-h264, stream-format=byte-stream !
> appsink name=appsink0
>
> As I run the pipeline, fps starts dropping and eventually it goes
> under 1.
> When I remove the "videorate" element fps stays around 11.
> I have set the "skip-to-first" property of videorate to true in my
> code, is there any other setting that I missing for "videorate"
> element?
> Any idea, about the cause of this issue?

You should profile to figure-out the bottleneck. Probably that the
videorate duplicates the frames to compensate your code producing two
slow (as documented by you, 11fps) which cause high overhead in
nvvidconv and omxh264enc. Why do you want videorate in the first place
? How do you timestamp on the appsrc ? Do you need to run this pipeline
with synchronization if you know it's not real time anyways ?

Additionally to that, for nvvidconv, please communicate with the plugin
provider for help (I believe Nvidia ?).

Nicolas

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




--
Mehdi Semsarzadeh

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel