Software de grabación de pantalla sin pérdidas


8

Para un pequeño proyecto mío, quiero grabar cortos de pantalla que muestren las características de mi programa. Actualmente, estoy usando una pequeña aplicación en mi cuadro de Ubuntu que crea una salida de GIF directamente animada. El inconveniente es que ese gif tiene algunas limitaciones en la cantidad de colores. Si inspecciona algunos de los gifs , puede notar que aunque se ve muy bien, no es perfecto, especialmente cuando mira las fuentes con alias

GIF animado

Hay algunas soluciones hechas a mano, por ejemplo, la demostración en el sitio de texto sublime . Para tener algo tan bueno, primero debes grabar tu pantalla sin pérdidas. Lamentablemente, la mayoría de los programas de transmisión de pantalla que conozco comprimen el video.

Pregunta: Tengo Ubuntu y OSX a mi disposición, ¿qué soluciones (si es posible gratuitas) de conversión de pantalla existen que me permitan crear videos sin pérdidas?

Crédito adicional para programas donde puedo seleccionar la región o ventana para grabar y apagar el audio.

Actualizar

Para aclarar lo que quiero decir con sin pérdida: por lo general, los videos se comprimen con un método que es perfecto para imágenes / videos naturales pero horrible para imágenes / videos que tienen bordes afilados y estructuras de un solo color . Hice dos lanzamientos de pantalla y amplié una pequeña parte para que esos efectos sean visibles. El primero se realiza con gtk-recordmydesktop con la más alta calidad y los artefactos en el área gris son claramente visibles

ingrese la descripción de la imagen aquí

El segundo se realiza con la pequeña herramienta Grabar su escritorio que guarda los archivos gif directamente y toma los píxeles exactos de la pantalla sin compresión.

ingrese la descripción de la imagen aquí

Lo que quiero es un lanzador de pantalla que guarde sus videos en este formato sin las limitaciones de gif.

Posiblemente preguntas relacionadas:


Eliminé mi respuesta sugiriendo gtk-recordMyDesktop ya que su calidad total no es sin pérdidas. Simplemente no estaba seguro de si lo hizo o no. Lamentablemente, no tengo una máquina Linux para probar. Ahora lo sé, gracias por dejarme saber que no se ajustaba a tus necesidades.
AJ Henderson

@AJHenderson Me encantaría cualquier programa Linux o MacOSX. Especialmente para Mac parece que existen muchas herramientas pequeñas, pero tengo tiempo para probarlas todas y nunca publicitan pueden grabar sin pérdida .
halirutan

Respuestas:


7

FFmpeg con un códec sin pérdidas es una solución. Recuerdo una comparación de diferentes códecs que concluyó que Apple Animation (conocida por ffmpeg como qtrle) dio la mejor calidad para la grabación de pantalla.

ffmpeg -f x11grab -r 25 -s 1024x768 -i :0.0 -c:v qtrle output.mov

Deténgalo abriendo su terminal mientras está funcionando y presionando q. Obviamente, cambie la resolución (1024x768 aquí) para que coincida con la suya. Para seleccionar una sección de su pantalla, vea cómo tomar la pantalla en el wiki de ffmpeg.

Es posible que el ffmpegque viene con su distribución de Linux no tenga el qtrlecódec incluido. En este caso, debe descargar y compilar su propia versión.


También escuché sobre Apple Animation . Déjame probar esto.
halirutan

+1 funciona perfectamente. Esperemos si a alguien se le ocurre un programa que no sea de línea de comandos. De lo contrario, esta será mi respuesta aceptada.
halirutan

Si nadie sugiere nada y realmente quieres una interfaz gráfica de usuario, me parece que esta sería una tarea simple para alguien con conocimiento de creación de GUI (es decir, no yo: v), por lo que probablemente puedas encontrar a alguien que esté dispuesto batir una interfaz sencilla en media hora por un precio razonable, tal vez incluso en el chat
SE

Esto no funcionará en OS X, esto es triste.
Nombre para mostrar

Bueno, solo quiero agradecerte nuevamente por esta respuesta. Estoy usando OBS con la qtrlecodificación para crear un archivo .mov perfecto. Luego extraigo los marcos y uso la magia de la imagen para construir un gif animado muy pequeño e increíblemente agradable. La ventaja de OBS es que puede configurar fácilmente la resolución de salida y qué ventana o parte de la pantalla desea grabar. Le permite combinar varias regiones grabadas y audio fácilmente. ¡Raramente visto algo así en Linux!
halirután

3

Alternativamente, canalice la salida de su pantalla a una segunda computadora para grabar, utilizando un dispositivo como Blackmagic Intensity. Admite la captura a un formato totalmente sin comprimir (asegúrese de tener una configuración SSD o RAID para grabar ya que la tasa de bits es muy alta).

Por lo tanto, la computadora en la que está trabajando debe tener una salida de monitor dual: refleje la pantalla para que una salida vaya a su monitor, la otra a una PC con una tarjeta BlackMagic PCIe (o USB 3.0), que registra la salida. Use DVI / HDMI, no VGA.

Tenga en cuenta que la Intensidad solo es compatible con resoluciones de tipo video, por lo que una resolución como 1024x768 o 1024x1024, etc. $ 99 ahora de todos modos).

Luego, puede editar y comprimir el video sin procesar de la forma que desee.


Jeje, creo que esto es exagerado pero +1 por la respuesta. Necesito algo rápido que pueda usar cuando haya desarrollado la función de hacer una transmisión de pantalla.
halirutan

2

Tenía requisitos muy similares y finalmente encontré en Claquette .
Es una aplicación OS X que utiliza un códec sin pérdidas. Si bien no le permite definir un área de pantalla antes de grabar, tiene una función de recorte que le permite seleccionar una región una vez que finaliza la grabación. El audio también se puede apagar. Las películas se pueden exportar en varios formatos (incluidos h.264, ProRes y GIF animado).


1
Parece un buen programa pequeño. Actualmente, estoy haciendo mis pequeños gifs con Kazam que viene con Ubuntu. Luego estoy usando un pequeño script creado a partir de la respuesta aceptada para crear gifs pequeños y de alta calidad. +1
halirután

2

En OS X, parece que ScreenFlow puede grabar sin pérdidas (no de forma predeterminada, pero esto se puede habilitar en la configuración). Lamentablemente, esta aplicación no es gratuita. Todavía estoy buscando alternativas gratuitas ...

¡Actualización importante!

Esto solo se aplica a Screenflow 4.5.3 (y quizás a algunas versiones anteriores). En Screenflow 5 esta característica se ha ido. Anuncian que pueden grabar sin pérdida, pero esta es una mentira descarada: el modo "sin pérdida" está usando Apple ProRes, que no es sin pérdida (y probé el resultado, de hecho tiene artefactos), y no hay forma de seleccionar algunos otro códec (en Screenflow 4.5.3 el modo sin pérdida se logra usando el códec "Animación", que es qtrle, en Screenflow 5 no hay forma de hacerlo)

Entonces ... adiós, dulce príncipe.

Actualización 2

ffmpeg también puede grabar la pantalla, si aprende a usarla correctamente.


Por cierto, compré ScreenFlow cuando publicaste tu respuesta. Incluso si no lo estoy usando para crear los pequeños gifs animados a los que se dirige esta pregunta, sigue siendo un gran lanzador de pantalla que tiene muchas características agradables.
halirután

^ Por cierto, uno puede elegir solo uno de "gif" y "pequeño". GIF es una compresión muy ineficiente.
Nombre para mostrar

Yo usaría Screenflow para esto. Tengo la versión 8, y exporta ProRes 4444 con un tamaño del 100%, que efectivamente no tiene pérdidas para la mayoría de los propósitos.
tomh

bueno, no es realmente sin pérdidas, y la pregunta es solo sin pérdidas
Nombre para mostrar

1

Aquí hay una opción sin línea de comandos.

Prueba Collaaj ( http://collaaj.com ). Funciona en PC y Mac. No funciona en Ubuntu, pero como mencionó que tiene OSX, esto debería funcionar bien. Creo que debería hacer lo que pediste y más. Como la selección de región, la selección de entradas, etc., y también le permite cargar y mantener sus grabaciones en collaaj.com para acceder en cualquier momento. Tienen un buen conjunto de videos aquí: http://collaaj.com/videos


¿Realmente puedes grabar las ventanas de tu pantalla con esta herramienta? Solo vi que se desplazan por los archivos de PowerPoint o PDF. Además, necesito extraer los cuadros del video, lo que significa que necesito poder almacenar los videos localmente. Parece que esta herramienta lo carga directamente para compartirlo, ¿verdad?
halirutan

Halirutan, 1. sí, en PC y Mac, puede grabar toda la pantalla. Incluso puede cambiar la configuración entre 720P y 1080P, también puede hacer pantalla + cámara al mismo tiempo.
Video Junkie

Halirutan, con respecto a su segunda pregunta, Collaaj almacena videos localmente en formato mp4, además de ofrecerle una opción para cargar en la nube y compartir como URL. Es muy completo.
Video Junkie

Este video explica claramente - collaaj.com/9rE17cT
Video Junkie


0

Por favor, disculpe mi tardanza en la fiesta, esto es algo con lo que he estado trabajando a partir de la grabación de pantalla sin pérdida tardía

Originalmente estaba usando OBS para grabar mi pantalla durante todo el año 2019 principalmente para subir grabaciones de pantalla / emitir a YouTube, sin embargo, recientemente comencé a experimentar usando ffmpeg para grabar mi pantalla y el micrófono aún no he probado la grabación de audio de escritorio .

Comencé con la configuración de ffmpeg de vainilla para grabar mi pantalla, pero la configuración de GOP de la grabación hace que sea muy doloroso cuando edito la grabación en un editor NLE / NLA como shotcut, así que volví y releí el documento de captura de pantalla en el wiki de ffmpeg , y noté que las grabaciones de pantalla se pueden capturar sin pérdidas usando el códec x264 siempre que -crf 0el crf esté establecido en 0, lo que creo que significa que ffmpeg usará el códec x264 no aplicará ninguna compresión con pérdida a la grabación. También la wiki sugiere usar -preset ultrafasten conjunto con el-crf 0 configuración del comando ffmpeg. Experimenté con estos ajustes anoche y la calidad de la imagen / tamaño del archivo es excelente.

Grabé mi pantalla 4K 3840 x 2160 monitor a 30 fps y la tasa de bits era totalmente manejable, es decir. No creo que haya superado los 10 MB / s, y una grabación de un minuto fue de ~ 48 MB, que es un tamaño de archivo totalmente aceptable para archivar grabaciones.

Advertencias

  • obviamente, si no prefiere usar una línea de comando, entonces probablemente esto no sea para usted, ya que he encontrado que confiar en una GUI para interactuar con ffmpeg no es algo viable, ya que la mayoría de las GUI con las que experimenté están desactualizadas.
  • Además, actualmente tengo problemas con la grabación de un micrófono y una pantalla de audio al mismo tiempo en un solo proceso / comando ffmpeg, por lo que tengo que dividir el comando en dos comandos / procesados ​​separados e iniciarlos simultáneamente para mantener sincronizado el audio / video.
    • Ejecuto macOS 10.13.6 y estoy usando el controlador web Nvidia, por lo que ese puede ser el problema por el cual el proceso / comando ffmpeg único de la pantalla de grabación y el micrófono al mismo tiempo está fallando. No estoy completamente seguro de cuál es el problema. 🤷‍♂️
  • Todavía no he encontrado una solución para grabar el audio en un códec sin pérdidas, pero esa será definitivamente mi próxima tarea de investigación
  • Además, me gustaría convertir todas las grabaciones anteriores de ffmpeg y OBS utilizando esta nueva técnica para preservarlas con fines de archivo.

Menciona que está convirtiendo sus grabaciones a GIF animados, he usado el siguiente proyecto para convertir pequeñas grabaciones de pantalla a GIF solo funcionará con grabaciones basadas en terminales , y he tenido resultados agradables al usarlo. Incluso tiene un contenedor acoplable que hace que su uso sea bastante simple para varios sistemas operativos.

Hice el experimento con el uso de FFmpeg para convertir y grabar iPhone a GIF animado hace un tiempo que era útil para subir el archivo GIF a github porque creo github no soporta la carga de archivos de vídeo como MOV MKV o MP4 .

Además, realicé una búsqueda rápida en el códec QTRLE y parece que no es compatible con el formato contenedor MP4 , por lo que si se requiere usar algo distinto de MOV , podría considerar usar un códec diferente.

⚠️ el siguiente comando requerirá la instalación simultánea .

concurrently --kill-others \ 
"ffmpeg -f avfoundation -capture_cursor 1 \
-capture_mouse_clicks 1 \
-framerate 30 
-i "1:" -c:v libx264 -crf 0 -preset ultrafast \
lossless-screen-rec.mkv 2>/dev/null" \
"ffmpeg -f avfoundation -i ":3" \
-acodec alac \
lossless-mic-.m4a 2>/dev/null"

el comando anterior capturará la pantalla de la computadora sin pérdidas usando x264 y también usando alac para capturar la entrada del micrófono sin pérdidas. ambos formatos funcionan bien para editar en un editor NLA / NLE como shotcut.

⚠️ ":3"y 1:variará según el sistema que ejecute macOS

Para obtener una lista de dispositivos de captura en macOS

ffmpeg -f avfoundation -list_devices true -i ""

De todos modos, sé que es mucha información, pero pensé en compartir esta información por el hecho de que he estado usando ffmpeg casi a diario durante las últimas dos semanas, así que pensé en compartir lo que aprendí, y deja esta información para mi futuro 👴🏻


¡Bienvenidos! ¿Puedes compartir un comando ffmpeg completo? Eso facilitaría mucho que los futuros lectores puedan usar su respuesta.
Michael Liebman
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.