I am truly sorry, the code I pasted was some different file.

this is the right code.


In this code I could record video without audio using oggmux.

Here the generated video has higher speed. There is some difference between using gst-launch to create pipeline. As Edward told, Sources are first initiated separately and pipeline is to be created. else if, gst-launch used there happens EOS problem sometimes.

Even if I record using gst-launch i get video of higher speed.

gst-launch v4l2src ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=t.ogg

I know how to use mux to record video and audio simultanously using gst-launch. But how to do that in python.

I tried linking videosrc to mux and audiosrc to mux. But it produces error. I couldn't find some doc referring how to link audio and video to a mux.