1

Как я могу улучшить производительность записи на рабочем столе, используя gstreamer со встроенной потоковой веб-камерой?

Я попробовал конвейер ниже, и он работает, но производительность очень плохая. Записывает только часть кадра из потока веб-камеры.

// 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.

1 ответ1

0

после нескольких тестов я думаю, что нашел что-то, что меня удовлетворяет, я думаю, что это все еще может улучшиться, но в то время я буду использовать это:

//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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .