gdigrab devices windows ffmpeg screen-capture

devices - Captura de pantalla de Windows con ffmpeg



ffmpeg sdl windows (5)

* este código se probó con éxito en Windows XP Sp3 y ffmpeg (última versión 28/12/2012 para windows) -ffmpeg.exe debe copiarse en el directorio c: / windows / system32 para poder acceder desde cualquier lugar desde su PC) ScreenCapture puede ser descargado de forma gratuita (google). Instalarlo (archivo msi). Se registra automáticamente desde el (archivo ScreenCapture.ax). Se envía con un archivo IscrenCapture.h también.

-captura pantalla de video y audio (ajuste el audio del dispositivo que tiene, es RealTek AC97 Audio) No puedo instalar parámetros de UscreenCapture en el registro (intentado incluso en el archivo IscrenCapture.h). Siempre se proporciona la captura de pantalla completa. Hay un error en la ubicación del registro, en los tipos de parámetros (las palabras clave están especificadas por el autor, pero reg_binary está instalado) ... luego usé la función crop () ffmpeg para capturar cualquier región en la pantalla. La línea de comandos es:

xwidth , xheight son el ancho y alto de la región que desea capturar. xleft , xtop la xtop del punto superior izquierdo de la captura del rectángulo.

ffmpeg -f dshow -i video="UScreenCapture":audio="Realtek AC97 Audio" -vf crop=xwidth:xheight:xleft:xtop c:/output.flv

Para capturar video solo se puede usar

ffmpeg -f dshow -i video="UScreenCapture" -vf crop=xwidth:xheight:xleft:xtop c:/output.flv

NB: x11grab no funciona en Windows (es específicamente para Linux / X11) puede usar wscript.shell para codificar el comando de línea en silencio. Usé el formato de salida de video como flv porque tengo la mejor representación y poca capacidad. No tengo éxito con mp4.

Puedes conocer tus dispositivos multimedia con ffmpeg:

ffmpeg -list_devices true -f dshow -i dummy

-puedes grabar cualquier sonido de tu PC con esta línea de comandos (adapta el dispositivo que tienes):

ffmpeg -f dshow -i audio="Realtek AC97 Audio" -acodec libmp3lame "c:/out.mp3"

El ffmpeg es un software multiplataforma y muy potente para manejar video / audio o para transmitirlo. En Linux, ffmpeg puede capturar la pantalla X11 con un comando a continuación:

ffmpeg -f x11grab -r 25 -s cif -i :0.0 out.mpeg

¿Pero es posible tomar Windows Desktop con ffmpeg?


Esto ayudará a capturar la pantalla de trabajo en Windows:

ffmpeg -y -rtbufsize 100M -f gdigrab -t 00:00:30 -framerate 30 -probesize 10M -draw_mouse 1 -i desktop -c: v libx264 -r 30 -preset ultrapast -tune zerolatency -crf 25 -pix_fmt yuv420p c: /video_comapre2.mp4


Hace un tiempo se envió un parche para implementar esto a la lista de correo de ffmpeg . Esto habría implementado gdigrab para que funcione igual que x11grab .

Además, la página de códec ffmpeg dice "VfW" (¿El video para Windows? También conocido como DirectShow?) Es compatible con la captura.


Utilice el deflector de pantalla GDI incorporado (no es necesario instalar) de esta manera:

ffmpeg -f gdigrab -framerate 10 -i desktop [output]

Esto capturará TODAS tus pantallas como una gran pantalla contigua.

Si desea limitarse a una región y mostrar el área que se está capturando:

ffmpeg -f gdigrab -framerate ntsc -offset_x 10 -offset_y 20 -video_size 640x480 / -show_region 1 -i desktop [output]

Para agarrar el contenido de la ventana llamada "Calculadora":

ffmpeg -f gdigrab -framerate 25 -i title=Calculator [output]

Encontré que la velocidad de fotogramas 10 se adapta bien a la captura de pantalla (puede cambiarla).

He codificado los archivos y las salidas de transmisión y funciona bastante bien.