FFmpeg命令行实现录音,录屏,录制摄像头和播放

(1)FFmpeg命令行录音+播放
① 查看dshow支持的设备
ffmpeg -hide_banner -f dshow -list_devices true -i dummy
② 使用麦克风设备进行录音,生成一个wav音频文件
ffmpeg -f dshow -i audio="麦克风阵列 (Realtek(R) Audio)" out.wav
③ 查看麦克风设备支持的参数
ffmpeg -f dshow -list_options true -i audio="麦克风阵列 (Realtek(R) Audio)"
④ 使用麦克风设备进行录音,并指定参数
ffmpeg -f dshow -sample_rate 15000 -sample_size 16 -channels 1 -i audio="麦克风阵列 (Realtek(R) Audio)" out.wav
⑤ ffplay播放wav
ffplay -i out.wav
⑥ wav转pcm
ffmpeg -i out.wav -f s16le out.pcm
⑦ ffplay播放pcm
ffplay -ar 44100 -ac 2 -f s16le test.pcm
⑧ 从mp4文件提取pcm
ffmpeg -i test.mp4 -vn -acodec aac test.aac
ffmpeg -i test.aac -f s16le test.pcm
⑨ 音频重采样
ffmpeg -ar 44100 -ac 2 -f s16le -i test.pcm -ar 43100 -ac 1 s16le test_1_s32le.pcm
pcm编码aac文件
ffmpeg -f s16le -ar 44100 -ac 2 -i test.pcm test.aac
(2)FFmpeg命令行录屏+播放
① ffplay实时播放屏幕
ffplay -f gdigrab -i desktop
② 录屏
ffmpeg -f gdigrab -i desktop -vcodec libx264 desktop.mp4
③ 录屏(调整编码参数)
ffmpeg -hide_banner -loglevel error -stats -f gdigrab -framerate 60 -offset_x 0 -offset_y 0 -video_size 1920x1080 -draw_mouse 1 -i desktop -c:v libx264 -r 60 -preset ultrafast -pix_fmt yuv420p -y desktop_full.mp4
④ 录屏+麦克风录音
ffmpeg -f gdigrab -i desktop -f dshow -i audio="麦克风阵列 (Realtek(R) Audio)" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -r 25 desktop.mp4
⑤ 录屏+rtsp推流
ffmpeg -f gdigrab -i desktop -vcodec libx264 -preset ultrafast -r 25 -f rtsp rtsp://127.0.0.1/live/desktop
⑥ 录屏+rtmp推流
ffmpeg -f gdigrab -i desktop -vcodec libx264 -preset ultrafast -r 25 -s 1920*1080 -f flv rtmp://127.0.0.1/live/desktop
(3)FFmpeg命令行录制摄像头+播放
① 查看dshow支持的设备
ffmpeg -f dshow -list_devices true -i dummy
② 播放摄像头
ffplay -f dshow -i video="USB webcam"
③ 查看摄像头的参数
ffmpeg -list_options true -f dshow -i video="USB webcam"
④ 录制摄像头
ffmpeg -f dshow -i video="USB webcam" -vcodec libx264 camera.mp4
⑤ 摄像头+rtsp推流
ffmpeg -f dshow -i video="USB webcam" -rtsp_transport tcp -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -r 25 -f rtsp rtsp://127.0.0.1/live/camera
⑥ 摄像头+rtmp推流
ffmpeg -f dshow -i video="USB webcam" -vcodec libx264 -acodec aac -ar 44100 -ac 1 -r 25 -s 1920*1080 -f flv rtmp://127.0.0.1/live/camera