2 votes

comment enregistrer l'écran, le son du système et l'audio du microphone en même temps avec ffmpeg ?

J'ai du mal à enregistrer le son du système et l'audio du microphone en même temps sur l'écran de l'ordinateur. J'utilise la commande

ffmpeg -video_size 2880x1800 -framerate 30 -f x11grab -i :0.0 -f pulse -ac 2 -i 0 -f pulse -ac 2 -i 1 output.mkv

1voto

Ajay Points 638

Voici la réponse à votre question à partir de ce post :

FFMPEG : options en ligne de commande pour l'enregistrement audio à partir du micro et des haut-parleurs

Enregistrer le programme et le micro sur deux pistes séparées avec ffmpeg

en utilisant l'utilitaire PulseAudio "pacmd" .

参照 este & este Tutoriel sur youtube

$ pacmd list-sources|awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}'

Exécutez la commande ci-dessus pour obtenir les noms de toutes les interfaces d'enregistrement du système. Un exemple de sortie est donné ci-dessous.

    index: 0
    name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
        device.description = "Monitor of Built-in Audio Analog Stereo"
  * index: 1
    name: <alsa_input.pci-0000_00_1b.0.analog-stereo>
        device.description = "Built-in Audio Analog Stereo"

Trouvez vos sources d'entrée. pacmd list-source-outputs | grep source

Maintenant, exécutez la commande suivante pour enregistrer l'audio du micro et des haut-parleurs simultanément.

ffmpeg -f pulse -i [Your input source 1] -map '0' 0.mp3 -f pulse -i [Your input source 2] -map '1' 1.mp3

Par exemple :

$ ffmpeg -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -f pulse -i alsa_input.pci-0000_00_1b.0.analog-stereo -acodec libmp3lame -map 0:0 -map 1:0 outfile.mkv

1voto

kanehekili Points 2661

Votre commande est presque parfaite, mais ce dont vous avez besoin pour enregistrer tous les sons est d'enregistrer le "moniteur". Évidemment, pulse -ac 2 -i 0 pointe vers votre micro, pas vers le moniteur.

Exécuter pacmd list-sources pourrait vous montrer le bon indice. Le mien par exemple est le suivant : (juste les parties importantes)

 * index: 0
    name: <alsa_output.pci-0000_1c_00.1.hdmi-stereo-extra3.monitor>
    driver: <module-alsa-card.c>
...
   index: 1
    name: <alsa_output.pci-0000_1e_00.3.analog-stereo.monitor>
    driver: <module-alsa-card.c>
...
   index: 2
    name: <alsa_input.pci-0000_1e_00.3.analog-stereo>
    driver: <module-alsa-card.c>

Vous devez donc décider quel indice est le plus approprié pour vous. Il peut être utile d'utiliser le contrôle de volume pour sélectionner le bon moniteur (si vous avez plus d'une option).

Votre commande ne peut pas fonctionner, puisque cette partie.. : -i: 0.0 + 0.0 ne peut pas être reconnu par ffmpeg. Ça devrait être "-i :0.0".

0voto

jaquinocode Points 81

Note : Cette réponse est une dérobade totale puisqu'elle ignore complètement l'obligation d'utiliser ffmpeg, mais elle fonctionne, c'est un excellent logiciel, et elle pourrait aider certaines personnes.

Quoi qu'il en soit, je m'arrache les cheveux depuis longtemps en cherchant sur Google une solution simple à utiliser et qui offre tout ce dont j'ai besoin.

Installer et utiliser le logiciel Open Broadcaster (OBS). Sérieusement, c'est tout. En le googlant, vous devriez trouver des instructions d'installation adaptées à votre machine.

Enregistrez simplement avec OBS et vous obtiendrez une vidéo avec votre source vidéo (utilisez Screen Capture) et votre audio (son système et micro). Si vous ne voulez enregistrer que l'audio, enregistrez sans source vidéo et vous obtiendrez une vidéo vierge avec votre enregistrement. Si vous souhaitez enregistrer uniquement la sortie du haut-parleur et non le micro, il suffit de couper le micro en appuyant sur un bouton. Intuitif.

(Notez que cela vous donne un fichier vidéo. Cela ne me dérange pas mais si vous avez besoin d'un fichier audio comme un mp3, vous devrez trouver comment convertir le fichier vidéo que vous avez fait en fichier audio (je ne sais pas comment faire, mais il y a beaucoup de ressources qui vous le disent).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X