Chỉ ghi âm thanh trên màn hình với ffmpeg


13

Tôi muốn biết làm thế nào tôi chỉ có thể ghi lại âm thanh trên máy tính để bàn (có nghĩa là không có mic!).

Tôi đang sử dụng lệnh này:

$ 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

Tôi có thể chụp mic bằng một ứng dụng khác, nhưng tôi cần âm thanh mic ở một tệp khác. Tôi chỉ muốn ghi lại âm thanh máy tính để bàn!


@LordNeckbeard tôi đặt đầu ra giao diện điều khiển trên pastebin: pastebin.com/9GSZ1eTr
Elderzz

Câu trả lời:


12

pavucontrol

nhập mô tả hình ảnh ở đây

  1. Cài đặt pavucontrol.
  2. Bắt đầu ghi với ffmpeg(xem các lệnh ví dụ bên dưới).
  3. Bắt đầu pavucontrol.
  4. Chuyển đến tab Ghi âm và bạn sẽ tìm thấy ffmpeghoặc Lavf56.15.102(hoặc tương tự) được liệt kê ở đó.
  5. Thay đổi ghi âm từ Âm thanh nổi tương tự âm thanh sang Màn hình âm thanh nổi âm thanh nội bộ .

Bây giờ nó nên ghi lại hệ thống và âm thanh ứng dụng thay vì micro.

Cài đặt này sẽ được ghi nhớ. Lần tới khi bạn muốn chụp ffmpeg, nó sẽ tự động bắt đầu ghi âm hệ thống. Nếu bạn muốn hoàn nguyên điều này, hãy sử dụng pavucontrollại để thay đổi trở lại đầu vào micrô.

Văn bản trên được điều chỉnh từ HOWTO: Screencasting trên Linux .

ví dụ lệnh ffmpeg

chỉ có âm thanh

ffmpeg -f pulse -i default output.wav

với chụp màn hình

ffmpeg -f x11grab -video_size 1360x768 -framerate 30 -i :0.0 -f pulse -i default -preset ultrafast -crf 18 -pix_fmt yuv420p out.mkv

Ghi âm này sẽ được mất?
Anmol Singh Jaggi

@AnmolSinghJaggi Số -crf 18bị mất và cũng có mất do chuyển đổi không gian màu từ RGB sang YUV 4: 2: 0.
llogan

Không, tôi đã nói về phần âm thanh.
Anmol Singh Jaggi

1
@AnmolSinghJaggi Vâng, âm thanh không bị mất.
llogan

Làm thế nào để dừng ghi âm? qhoặc Ctrl-Ckhông hoạt động.
Anmol Singh Jaggi

1

Bạn cũng có thể ghi vào MP3 nén (với tốc độ bit bạn chọn), chẳng hạn như:

ffmpeg -f alsa -ac 2 -i default -acodec libmp3lame -ab 320k ouput.mp3
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.