ffmpeg, wie erstelle ich beim Aufnehmen zwei Ausgabedateien?

ffmpeg, wie erstelle ich beim Aufnehmen zwei Ausgabedateien?

Ich habe ein Bildschirmaufzeichnungsprojekt, das das Desktop-Video und -Audio erfolgreich in ein MP4-Format aufnimmt, und zwar über die folgende Befehlszeile:

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 die Datei ein zweites Mal bearbeiten zu müssen. Ist das möglich? Und wenn ja, gibt es Hinweise zum Einrichten der Parameter?

Antwort1

Verwenden Sie dietee 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"
  • Fürx11greiferVerwenden Sie -video_sizeanstelle von -sund -framerateanstelle von -r.
  • FüralsaVerwenden Sie -channelsanstelle von -ac.
  • Nur veraltete Versionen müssen mit -strict -2(oder -strict experimental) kodieren -c:a aac.

verwandte Informationen