0

I am using v4l2src for reading data from camera, gave that data to appsink and perform some processing on each frame.

I am receiving data which is of 640X480 with 30fps.

By using appsrc i am pushing that data into a pipeline.

But the problem is, after processing, i am getting only 15 frames per second.

So the video is getting faster sometimes and sometimes playing normally.

How to overcome this problem.?

  • Please check whether your camera output interlace video. If it is interlace video, it is normal to get half framerate at the stream end. If it is not, probably your pipeline slow at some place and reduce the fps. – matilda gl Mar 13 '16 at 01:06
  • Thanks for that, I am using microsoft webcam, as of my observation it is not an interlaced video. May i know how to find whether a video is interlaced or not? – Prasanth Kumar Arisetti Mar 22 '16 at 04:06
  • Check for the caps in v4l2src src port. It can tell you whether the video is interlace or progressive. If you are running gst-launch, add "-v" option will make it print out the caps. – matilda gl Mar 23 '16 at 03:34
  • i had checked it, it is progressive in mode. Some times i am getting normal video but sometimes it is getting faster, i am not understanding what is the problem, can u help me? – Prasanth Kumar Arisetti Mar 29 '16 at 12:38
  • Then the problem is in your pipeline. You must identify where is the problem, base on what are done in your app (encode/decode/stream/scale...) . BTW, sometimes adding or removing `queue` element can help (to stabilize the speed). – matilda gl Mar 30 '16 at 01:31

0 Answers0