使用 gstreamer 的 linux 解决方案:
在ubuntu中安装gstreamer-tools
包
然后您可以使用类似于以下的命令进行录制:
gst-launch v4l2src ! 'video/x-raw-yuv,width=640,height=480,framerate=30/1' ! tee name=t_vid ! queue ! videoflip method=horizontal-flip ! xvimagesink sync=false t_vid. ! queue ! ffmpegcolorspace ! theoraenc ! queue ! mux. autoaudiosrc ! queue ! audioconvert ! vorbisenc ! queue ! mux. oggmux name=mux ! filesink location=filename.ogv
您可以根据需要调整分辨率、帧速率、文件名等。
从那里用python写出来并敲出一个简单的gtk gui来启动/停止将是相当简单的。您可以使用多文件接收器来处理连续录制的文件名。
参考:
http://noraisin.net/~jan/diary/?p=40
http://www.twm-kd.com/computers/software/webcam-and-linux-gstreamer-tutorial/
http://pygstdocs.berlios.de/pygst-tutorial/index.html