FFmpeg命令行采集音频

查看可用音频设备:

ffmpeg -list_devices true -f dshow -i dummy

参考输出:

PS C:\Users\Administrator\Desktop> ffmpeg -list_devices true -f dshow -i dummy
ffmpeg version n4.4.2-2-g7ffb7d4b04-20220623 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 11.2.0 (crosstool-NG 1.24.0.533_681aaef)
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --disable-frei0r --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librist --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --disable-vulkan --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20220623
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
[dshow @ 0000028993552b80] DirectShow video devices (some may be both video and audio devices)
[dshow @ 0000028993552b80]  "USB Video Device"
[dshow @ 0000028993552b80]     Alternative name "@device_pnp_\\?\usb#vid_046d&pid_0825&mi_00#7&19bd2f92&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 0000028993552b80] DirectShow audio devices
[dshow @ 0000028993552b80]  "麦克风 (USB Audio Device)"
[dshow @ 0000028993552b80]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{77B4EF5F-D88B-4518-80E9-590D373F7634}"
dummy: Immediate exit requested

录制原始音频:

ffplay -f dshow -i audio="USB Audio Device" xx.mp3/xx.aac

录制

从视频中提取音频:

示例1:

ffmpeg -i xx.mp4 -vn -c:a aac -ar 44100 -channels 2 ss.aac

-vn: no videos,不需要视频

-c:a aac,指定audio的编码器为aac

-ar 44100 指定音频采样率

-channels 2 双声道

TODO:待测试。

FFmpeg API采集音频

TODO

FFmpeg命令行音频编码转换

示例2:

ffmpeg -i input.wav -c:a libfdk_aac -profile:a aac_he_v2 -b:a 32k output.m4a


FFmpeg API音频编码转换

TODO






  • 无标签