ffmpeg, ¿cómo crear dos archivos de salida durante la captura?

ffmpeg, ¿cómo crear dos archivos de salida durante la captura?

Tengo un proyecto de grabación de pantalla que captura con éxito el video y el audio del escritorio en un MP4, a través de la siguiente línea de comando:

ffmpeg -report -y -f x11grab -s 1920x1080 -r 5 -thread_queue_size 3000 -i :44
    -f alsa -ac 1 -thread_queue_size 3000 -i hw:Loopback,1,0 -c:v libx264
    -preset veryfast -crf 28 -movflags +faststart -pix_fmt yuv420p -c:a aac
    -strict -2 video_and_audio_output.mp4

Eso funciona bien. Lo que quiero es crear simultáneamente una salida adicional que contenga solo la pista de audio, sin tener que hacer una segunda pasada por el archivo. es posible? Y si es así, ¿alguna pista sobre cómo configurar los parámetros?

Respuesta1

Utilizar elcamiseta muxer:

ffmpeg -f x11grab -video_size 1920x1080 -framerate 5 -thread_queue_size 3000
    -i :44 -f alsa -channels 1 -thread_queue_size 3000 -i hw:Loopback,1,0 -map 0
    -map 1 -c:v libx264 -preset veryfast -crf 28 -pix_fmt yuv420p -c:a aac -f tee
    "[select=v,a:movflags=+faststart]video_and_audio_output.mp4|[select=a:movflags=+faststart]audio.m4a"
  • Parax11 agarrarutilizar -video_sizeen lugar de -sy -framerateen lugar de -r.
  • Paraalsautilizar -channelsen lugar de -ac.
  • Sólo las versiones obsoletas necesitan -strict -2(o -strict experimental) codificar con -c:a aac.

información relacionada