ffmpeg, wie erstelle ich zwei Ausgabedateien beim Capturen?

0

Ich habe ein Bildschirmaufzeichnungsprojekt, mit dem das Desktop-Video und -Audio über die folgende Befehlszeile erfolgreich in einem MP4 aufgezeichnet werden kann:

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

Das funktioniert gut. Ich möchte gleichzeitig eine zusätzliche Ausgabe erstellen, die nur die Audiospur enthält, ohne einen zweiten Durchgang an der Datei vornehmen zu müssen. Ist das möglich? Und wenn ja, gibt es Hinweise zur Einrichtung der Parameter?

Dev
quelle

Antworten:

1

Verwenden Sie die Tee 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"
  • Zum x11grab benutzen -video_size anstatt -s und -framerate anstatt -r.
  • Zum alsa benutzen -channels anstatt -ac.
  • Nur veraltete Versionen benötigen -strict -2 (oder -strict experimental ) zum verschlüsseln -c:a aac.
llogan
quelle