直播相关03-录制麦克风声音, ffmpeg 命名,使用命令行完成录音
一 ffmpeg 命令
ffmpeg arg1 arg2 -i arg3 arg4 arg5ffmpeg 全局参数 输入文件参数 -i 输入文件 输出文件参数 输出文件arg1:全局参数
arg2:输入文件参数
arg3:输入文件
arg4:输出文件参数
arg5:输出文件
二 ffprobe 命令
ffprobe [OPTIONS] [INPUT_FILE]
# OPTIONS:参数
# INPUT_FILE:输入文件
三 ffplay 命令
ffplay [options] input_file
# options:参数
# input_file:输入文件
四 hide_banner
增加-hide_bannder参数可以隐藏一些冗余的描述信息,可以去实践比较以下2条命令的区别:
ffprobe xx.mp3ffprobe -hide_banner xx.mp3# ffmpeg、ffprobe、ffplay都适用
五 通过命令行录音
在 windows, linux,mac 上 的 多媒体库 是不一样的,因此我们先要看一下 当前系统的 多媒体库 是啥
5.1 查看当前系统的媒体库是啥?
ffmpeg -devices
Windows的输出结果如下所示:
- 列表中有个dshow,全名叫DirectShow,是Windows平台的多媒体系统库
- 我们可以使用dshow去操作多媒体输入设备(比如录音设备)
C:\Users\Administrator>ffmpeg -hide_banner -devices
Devices:D. = Demuxing supported.E = Muxing supported--E caca caca (color ASCII art) output deviceD dshow DirectShow captureD gdigrab GDI API Windows frame grabberD lavfi Libavfilter virtual input deviceD libcdioE sdl,sdl2 SDL2 output deviceD vfwcap VfW video capture
linux 上是这样的
- 列表中有个alsa,是linux平台的多媒体系统库
- 我们可以使用alsa去操作多媒体输入设备(比如录音设备)
ffmpeg version 7.0 Copyright (c) 2000-2024 the FFmpeg developersbuilt with gcc 13 (Ubuntu 13.2.0-23ubuntu4)configuration: --prefix=/home/hunandede/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/hunandede/ffmpeg_build/include --extra-ldflags=-L/home/hunandede/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/hunandede/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-pic --enable-shared --enable-nonfreelibavutil 59. 8.100 / 59. 8.100libavcodec 61. 3.100 / 61. 3.100libavformat 61. 1.100 / 61. 1.100libavdevice 61. 1.100 / 61. 1.100libavfilter 10. 1.100 / 10. 1.100libswscale 8. 1.100 / 8. 1.100libswresample 5. 1.100 / 5. 1.100libpostproc 58. 1.100 / 58. 1.100
Devices:D. = Demuxing supported.E = Muxing supported---DE alsa ALSA audio outputDE fbdev Linux framebufferD kmsgrab KMS screen captureD lavfi Libavfilter virtual input deviceDE oss OSS (Open Sound System) playbackE sdl,sdl2 SDL2 output deviceDE sndio sndio audio playbackDE video4linux2,v4l2 Video4Linux2 output deviceD x11grab X11 screen capture, using XCBE xv XV (XVideo) output device
Mac的输出结果如下所示:
- 列表中有个avfoundation,是Mac平台的多媒体系统库
- 我们可以使用avfoundation去操作多媒体输入设备(比如录音设备)
Devices:D. = Demuxing supported.E = Muxing supported--D avfoundation AVFoundation input deviceD lavfi Libavfilter virtual input deviceE sdl,sdl2 SDL2 output device