NUR Desktop-Audio mit ffmpeg aufnehmen

13

Ich möchte wissen, wie ich nur Desktop-Audio aufnehmen kann (bedeutet kein Mikrofon!).

Ich benutze diesen Befehl:

$ ffmpeg -f x11grab -s 1360x768 -r 30 -i :0.0 -preset ultrafast ~/Videos/out.mp4
ffmpeg version 2.4.3-1ubuntu1~trusty6 Copyright (c) 2000-2014 the FFmpeg developers
  built on Nov 22 2014 17:07:19 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/usr --extra-version='1ubuntu1~trusty6' --build-suffix=-ffmpeg --toolchain=hardened --extra-cflags= --extra-cxxflags= --libdir=/usr/lib/x86_64-linux-gnu --shlibdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-fontconfig --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-opengl --enable-x11grab --enable-libxvid --enable-libx265 --enable-libdc1394 --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r --enable-libx264 --enable-libsoxr --enable-openal --enable-libopencv
  libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 / 56.  1.100
  libavformat    56.  4.101 / 56.  4.101
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  1.100 /  5.  1.100
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  0.100 / 53.  0.100
[x11grab @ 0x16051e0] device: :0.0 -> display: :0.0 x: 0 y: 0 width: 1360 height: 768
[x11grab @ 0x16051e0] shared memory extension found
Input #0, x11grab, from ':0.0':
  Duration: N/A, start: 1444234613.435347, bitrate: 1002700 kb/s
    Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1360x768, 1002700 kb/s, 30 tbr, 1000k tbn, 30 tbc
File '/home/elderzz/Videos/out.mp4' already exists. Overwrite ? [y/N] ^A

Ich kann Mikrofone mit einer anderen App aufnehmen, aber ich brauche das Mikrofon-Audio, um in einer anderen Datei zu sein. Ich möchte nur Desktop-Audio aufnehmen!

Elderzz
quelle
@ LordNeckbeard Ich habe die Konsolenausgabe auf Pastebin gestellt: Pastebin.com/9GSZ1eTr
Elderzz

Antworten:

12

pavucontrol

Geben Sie hier die Bildbeschreibung ein

  1. Installieren pavucontrol.
  2. Starten Sie die Aufnahme mit ffmpeg(siehe Beispielbefehle unten).
  3. Starten Sie pavucontrol.
  4. Gehen Sie auf die Aufnahme - Registerkarte und Sie werden feststellen , ffmpegoder Lavf56.15.102(oder ähnlich) dort aufgeführten.
  5. Ändern Sie die Audioaufnahme von Internal Audio Analog Stereo in Monitor of Internal Audio Analog Stereo .

Jetzt sollte es System- und Anwendungsaudio anstelle des Mikrofons aufnehmen.

Diese Einstellung wird gespeichert. Wenn Sie das nächste Mal mit aufnehmen möchten ffmpeg, wird automatisch die Audioaufnahme des Systems gestartet. Wenn Sie dies rückgängig machen möchten, verwenden Sie pavucontrolerneut, um zum Mikrofoneingang zurückzukehren.

Der obige Text wurde von HOWTO: Screencasting unter Linux übernommen .

Beispiel ffmpeg Befehle

Nur Audio

ffmpeg -f pulse -i default output.wav

mit Bildschirmaufnahme

ffmpeg -f x11grab -video_size 1360x768 -framerate 30 -i :0.0 -f pulse -i default -preset ultrafast -crf 18 -pix_fmt yuv420p out.mkv
llogan
quelle
Wird diese Aufnahme verlustfrei sein?
Anmol Singh Jaggi
@AnmolSinghJaggi Nr. Ist -crf 18verlustbehaftet, und es gibt auch Verluste aufgrund der Konvertierung von RGB in YUV 4: 2: 0-Farbräume.
Llogan
Nein, ich habe nur über den Audio-Teil gesprochen.
Anmol Singh Jaggi
1
@AnmolSinghJaggi Ja, das Audio sollte verlustfrei sein.
Llogan
Wie stoppe ich die Aufnahme? qoder Ctrl-Cfunktioniert nicht.
Anmol Singh Jaggi
1

Sie können auch komprimierte MP3-Dateien (mit einer Bitrate Ihrer Wahl) aufnehmen, z.

ffmpeg -f alsa -ac 2 -i default -acodec libmp3lame -ab 320k ouput.mp3
sergy8612
quelle