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 0
el 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 ultrafast
en 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 👴🏻