Gstreamer kullanarak performans masaüstü kaydını iyileştirin


1

Entegre web kamerası akışına sahip gstreamer kullanarak bir masaüstü kaydının performansını nasıl artırabilirim?

Aşağıdaki boru hattını denedim ve işe yarıyor, ancak performansı çok kötü. Web kamerasından karenin yalnızca bir kısmını kaydeder.

// webcam into screencast to file WEBM [fixed position]
gst-launch-1.0  --gst-debug=3 \
videomixer name=mix \
! videoconvert \
! queue \
! videorate \
! vp8enc  min_quantizer=10 max_quantizer=10 cpu-used=2 deadline=1000000  threads=2 \
! queue \
! mux. pulsesrc \
! queue \
! audioconvert \
! vorbisenc \
! queue \
! mux. webmmux name=mux \
! filesink location=screencast.webm ximagesrc \
! mix. v4l2src do-timestamp=true \
! video/x-raw,format=YUY2,width=640, height=480, interlaced=false, pixel-aspect-ratio=1/1, framerate=30/1 \
! videobox border-alpha=0 top=-20 left=-25 \
! mix.

Yanıtlar:


0

birkaç testten sonra, beni tatmin eden bir şey bulduğumu düşünüyorum, hala gelişebileceğini düşünüyorum, ama o zaman bunu kullanacağım:

//DESKTOP RECORDING WITH WEBCAM WITH SOUND
gst-launch-1.0  --gst-debug=3 \
ximagesrc \
! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 \
! videomixer name=mix \
! videoconvert \
! videorate \
! vp8enc  min_quantizer=10 max_quantizer=10 cpu-used=2 deadline=1000000  threads=2 \
! mux. pulsesrc \
! audioconvert \
! vorbisenc \
! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 \
! mux. webmmux name=mux \
! filesink location=screencast.webm v4l2src do-timestamp=true \
! video/x-raw,format=YUY2,width=640, height=480, interlaced=false, pixel-aspect-ratio=1/1, framerate=30/1 \
! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 \
! mix.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.