¿Cómo hacer grabaciones de escritorio de WebM?

13

Estoy buscando una aplicación de grabadora de escritorio / screencast que pueda salir en formato WebM, o un programa que pueda convertir el formato .ogv generado por gtk-recordmydesktopen WebM.

He seleccionado WebM como el formato que necesito porque parece ser el único códec gratuito compatible con YouTube, donde terminarán mis grabaciones. Intenté subir un .ogv en el pasado y obtuve un video verde sólido, por lo que eso no funcionará para mí.

Vivo en los EE. UU. Y soy consciente de tratar de evitar cualquier cosa que pueda tener problemas de patentes de software, como gstreamer0.10-plugins-uglyo gstreamer0.10-plugins-bad. Fue por esta razón que originalmente estaba interesado en Tibesti (por ejemplo), pero que necesitaba la instalación de paquetes como el mencionado anteriormente.

He buscado en línea una solución gratuita (como en dinero y libertad), pero hasta ahora no pude encontrar nada. ¿Alguna sugerencia?

Christopher Kyle Horton
fuente
¿Puedes decir tu ubicación?
Lincity
@Alaukik, he dicho anteriormente que vivo en los Estados Unidos. Si necesita saber en qué estado, vivo en Michigan. No me gustaría ser más específico que eso.
Christopher Kyle Horton
@ Warriorlng64 ¡Uy!
Lincity

Respuestas:

6

12.04 LTS

Parece que ffmpeg ya no funciona correctamente en esta versión para convertir recordmydesktoplas grabaciones .ogv a WebM. Como ya no se mantiene, se recomienda usar su reemplazo avconven su lugar, provisto en el libav-toolspaquete (que parece instalarse automáticamente si ffmpegse instaló).

El comando necesario para usar avconvpara las conversiones no es muy diferente de ffmpeg:

avconv -i input.ogv output.webm

Por lo tanto, si alguien enfrenta el mismo problema de tratar de usar solo paquetes gratuitos para convertir de .ogv a .webm en 12.04 (o presumiblemente más tarde), así es como lo resolví. Esto debería ser útil si está haciendo grabaciones para mostrar nuevas funciones o problemas de documentos usando video.

Christopher Kyle Horton
fuente
Recientemente comencé a trabajar en Kazam , ahora puede grabar en formatos VP8 / WebM y H264 / Matroska. Hice compilaciones de PPA para Oneiric y Precise. Utiliza gstreamer para grabar y no requiere ffmpeg. Debería funcionar en un Ubuntu limpio sin códecs adicionales.
BigWhale
@BigWhale Navegando un poco por el código, noté que todavía parece depender de gstreamer0.10-plugins-bady gstreamer0.10-plugins-ugly. Estos paquetes contienen los códecs que estoy tratando de evitar debido a problemas de patentes, como se indicó anteriormente. Si está disponible una compilación actualizada / alternativa que no depende de estos paquetes, avíseme en una nueva respuesta. ¡Gracias de cualquier manera!
Christopher Kyle Horton el
ObtengoError while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
jrg
@jrg Tengo un problema similar en mi computadora portátil al convertir el video que grabé usando una solución alternativa publicada en este recordmydesktopinforme de error . Curiosamente, cuando llevé el mismo video a mi máquina de escritorio y lo convertí allí, funcionó sin problemas. Entonces ... podría ser un error, pero no creo que sepa lo suficiente como para presentar un informe todavía.
Christopher Kyle Horton
1
Como nota al margen: FFMpeg todavía se mantiene (de hecho, la versión 1.0 salió recientemente), pero ha habido una mini guerra entre algunos desarrolladores, lo que llevó a la bifurcación avconv. Es solo que los mantenedores de debian / ubuntu se pusieron del lado de avconv. El mensaje "ESTE PROGRAMA ES DEPRECADO" es totalmente engañoso. Lea sobre la situación actual aquí: http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html .
phoibos
6

Estoy usando cosas así:

avconv -f x11grab -s 1024x768 -r 24 -i 0:0 -deadline realtime -b 5000000 -minrate 200000 -maxrate 40000000 recording-filename-000.webm

Dónde:

-f x11grab - impone captura de pantalla "formato" de entrada.

-s 1024x768es la resolución del archivo de entrada (también conocido como área de captura). Por ejemplo, es igual a la resolución de escritorio. Si es más pequeño que eso, el área de grabación estaría a la izquierda y arriba. Usé un área de grabación de 1024x768 en este ejemplo.

-r 24- cuadros por segundo. Básicamente, 23 a 30 FPS utilizados por películas reales para proporcionar una imagen de grabación uniforme. Sin embargo, para screencast, podría estar bien reducir esto para obtener una mejor imagen a velocidades de bits más bajas. Solía ​​24 para hacer capturas de pantalla del juego.

-i 0:0es una pista para usar display 0: 0 como fuente (el dispositivo está en notación xorg). Si solo tiene 1 monitor y la configuración predeterminada de Xorg, 0: 0 estará bien la mayoría de las veces.

-deadline realtime- Es una pista para libvpx. Queremos captura en vivo. Queremos un rendimiento en tiempo real. Entonces libvpx hará lo mejor para codificar VP8 en TIEMPO REAL. Para hacerlo, de alguna manera cambia la calidad por la velocidad. Con una calidad de velocidad de bits determinada, será un poco peor de lo que sería en tiempo no real. Pero la velocidad de codificación se dispararía. Entonces, en mi hardware puede aplastar 1024x768 @ 24FPS, escenas intensas, sin perder ningún marco (aunque se recomienda una CPU potente). En este ejemplo, quería una captura en vivo de calidad decente a buen FPS y un área de captura bastante grande. Por lo tanto, el uso de CPU por códec podría ser un problema. Es por eso que esta pista realmente es necesaria para obtener buenos resultados.

-b 5000000- bitrate objetivo en bits / segundo. Utilicé 5Mbits para obtener una imagen más o menos buena de escenas bastante intensas. El códec intentará mantener la velocidad de bits promedio del video cerca de este valor. Cuanto menor sea este valor, peor será la calidad y menor será el archivo. Puede experimentar un poco para tener una idea de qué tasa de bits es buena para usos particulares. Los servicios para compartir videos convertirían el video en forma descendente si se sobrepasa. Si está a punto de usar su propio servidor, depende de usted ocuparse del tráfico. Si subestima, la calidad de la imagen será mala. Siéntase libre de cambiar el valor para tener una idea de lo que es mejor para usted. Los 5Mbits estaban destinados a la captura en vivo de escenas intensas más o menos agradables a la vista en juegos en los que no se puede ver fácilmente que la imagen se sobrecomprime. Para capturar aplicaciones fijas, básicamente necesitará mucho menos que eso.

-minrate200000: es una tasa de bits mínima permitida para el códec. Dependiendo de la naturaleza de las cosas que desea capturar, a veces es posible que desee forzar una tasa de bits mínima para mantener una imagen razonable sin importar lo que pase. A veces, el códec heurístico puede reducir la tasa de bits muy por debajo de los valores que puede desear, dando una mala imagen en algunas escenas. Esta opción permite forzar el códec para mantener la tasa de bits mínima, incluso si el códec piensa que la escena es simple y la tasa de bits podría caerse. El alto valor de este parámetro puede aumentar el tamaño del archivo al evitar que el códec use velocidades de bits más bajas.

-maxrate 40000000- Este valor controla la tasa de bits de ráfaga máxima en escenas intensas. Utilicé un valor realmente alto para permitir que el códec fuera mucho más alto que el promedio deseado si considera que una velocidad más alta es obligatoria para mantener una calidad decente en alguna escena. Para obtener una imagen atractiva en todas las condiciones, es conveniente establecer esta altura suficiente (40Mbits es una velocidad similar a BlueRay y hará el truco). Por otro lado, si está a punto de transmitirlo utilizando su propio servidor, debe reducir este valor al costo de cierta calidad de imagen en escenas intensas. De lo contrario, el servidor podría no hacer frente a la tasa de bits de ráfaga deseada, al no poder entregarla en tiempo real a los usuarios. Entonces el jugador se enfrentaría a una falta de amortiguación (lo cual es molesto). Los servicios para compartir videos se encargarán solos y, por lo general, convertirán el video a parámetros más bajos a costa de la calidad de la imagen.

recording-filename-000.webm- es un nombre de archivo de salida. Si usa la extensión .webm, ffmpeg / avconv son lo suficientemente inteligentes como para comprender que desea WEBM. Es así de simple: avconv adivina el formato deseado del nombre de archivo. Entonces, los archivos .WEBM son WEBM adentro.

Eso es todo: este comando realiza la grabación directa de pantalla en el archivo webm. No se necesitan conversiones adicionales ylibvpx se sugiere que sea lo más rápido posible. No hay sonido ya que no hay especificación para la entrada de sonido. Puede o no ser lo que quieres. Para el sonido, también debe especificar la fuente de entrada para el flujo de sonido.

PD: esto puede parecer un poco complicado, pero al final del día puedes darte cuenta de que una talla no puede adaptarse a todos. Por lo tanto, para obtener una imagen atractiva en todas las situaciones, es posible que desee tener algunos controladores para el códec utilizado y desee ajustarlos. Ffmpeg te ofrece todos los mangos que puedas necesitar y mucho más que eso. Es un armamento pesado de conversión de video y codificación. Entonces, este ejemplo es un buen punto de partida para aquellos que desean hacer codificaciones más o menos avanzadas y está listo para experimentar un poco para obtener resultados realmente decentes.

Codificador1
fuente
6

Puede hacer grabaciones de WebM en Ubuntu 11.10 + GNOME Shell presionando Ctrl+ Shift+ Alt+R combinación de teclas .

La primera vez que presiona el combo, aparece un círculo rojo en el área de notificación, indicando que comenzó la grabación. La segunda vez que lo presione, el círculo rojo desaparecerá y tendrá su grabación en el${HOME}/Videos directorio.

Más información aquí: Gnome Shell Cheat Sheet: grabación de Screencast

reygecko
fuente
En el momento en que originalmente pregunté esto, no tenía GNOME Shell. Pero solía compilarlo desde jhbuild10.10 y lo tengo instalado en mis sistemas 11.10, y sé que esto también funciona. ¡Gracias por agregar esta respuesta!
Christopher Kyle Horton
En la versión actual (usando 16.04) los videos se almacenan ~/Videoscon un nombre de archivo de Screencast from {date} {time}.webm.
Kariem
3

Use la aplicación transmageddon para hacer eso. su aplicación basada en Gstreamer

sudo apt-get install transmageddon o haga clic aquí instalar transmageddon

alz3abi
fuente
Eché un vistazo a las dependencias de transmageddon a través de sudo apt-get install, y el paquete gstreamer-plugins-feo que mencioné anteriormente se incluyó en la lista. Nuevamente, no estoy seguro de si esto es totalmente legal para mí, y eso me importa.
Christopher Kyle Horton
2

Utilizar Kazam para grabar.

La salida es mkv y funciona bien con Youtube. El único problema que Kazam no parece haber sido actualizado por un tiempo.

Por cierto, deberías estar seguro usando Tibesti si lo entiendo correctamente, a menos que, por supuesto, estés absolutamente paranoico de que alguna nave espacial extraterrestre gigante te secuestrará y te torturará por usar un software ...

RolandiXor
fuente
Kazam solicita la instalación de ffmpeg durante sudo apt-get install, de lo cual no estoy seguro si podría usarlo legalmente.
Christopher Kyle Horton
@ Warrioring64, no creo que ffmpeg sea ilegal ...
RolandiXor
Es algo de lo que tengo que preocuparme, ya que estoy en los EE. UU. Y las patentes de software se aplican aquí. Por favor vea esta parte en la Wikipedia si podría ayudar a entender lo que quiero llegar aquí.
Christopher Kyle Horton
2
@ Warrioring64: la versión incluida en Ubuntu está desprovista de esos códecs.
RolandiXor
De acuerdo ... pero mirando más allá de las dependencias dadas, también encontré libavcodec-extra-52 y libavutil-extra-52, que por un poco más de investigación que he encontrado podría plantearme problemas. Lo siento si parezco un poco difícil, pero incluso si no fuera realmente atrapado por usar tal software, todavía no quisiera que fuera por mi conciencia.
Christopher Kyle Horton
2

11.10 y anterior

ffmpegse puede usar para convertir .ogv en .webm directamente sin la necesidad de códecs adicionales. Como se menciona en un comentario sobre otra respuesta , la versión de ffmpegUbuntu no viene por defecto con códecs que podrían plantear problemas de patentes de software.

Este es un programa de línea de comando; para usarlo, solo abra una ventana de terminal e ingrese:

ffmpeg -i input.ogv output.webm
Christopher Kyle Horton
fuente
Si. Acabo de instalar ffmpeg sin el repositorio de medibuntu y saqué todas las versiones gratuitas de paquetes y codifiqué un wmv para webm fácilmente con ffmpeg -i file.wmv -f webm -sameq file.webm
duffydack
1

OMI, la mejor manera de convertir videos a WebM es Firefogg .

  • Este es un complemento de Firefox (por lo que es una herramienta multiplataforma como Firefox)
  • Se comprimirá a WebM formato (código abierto - códec compatible con la web)
  • Ofrece múltiples tamaños de codificación (realmente conveniente para obtener la mejor relación de compresión)
  • Relación de compresión REALMENTE eficiente (al menos tanto como H264)
  • Es súper fácil de usar

ingrese la descripción de la imagen aquí

Sulliwane
fuente