当前ffmpeg版本5.0,最新的 Setup Screen Capturer Recorder v0.12.11.exe
执行大家推荐的录屏命令报错
C:\Users\y1>ffmpeg -list_devices true -f dshow -i dummy
ffmpeg version 5.0.1-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11.2.0 (Rev7, Built by MSYS2 project)
[dshow @ 000001ad1e6b5400] "screen-capture-recorder" (video)
[dshow @ 000001ad1e6b5400] Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{4EA69364-2C8A-4AE6-A561-56E4B5044439}"
[dshow @ 000001ad1e6b5400] "virtual-audio-capturer" (audio)
[dshow @ 000001ad1e6b5400] Alternative name "@device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\{8E146464-DB61-4309-AFA1-3578E927E935}"
dummy: Immediate exit requested
C:\Users\y1>ffmpeg -loglevel info -f dshow -i video="screen-capture-recorder" -f dshow -audio_device_number 0 -i audio="virtual-audio-capturer" -f mp4 "Temp/1.mp4" -y
ffmpeg version 5.0.1-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
[dshow @ 0000022023535f80] Could not find output pin from video capture device.
video=screen-capture-recorder: I/O error
但是使用录屏工具本身可以成功,所以排除录屏组件问题。采用录屏工具的ffmpeg命令也同样错误,这是我发现可能用的不是同一个ffmpeg,果然在工具目录发现它自带了一个,版本是
C:\Program Files (x86)\Screen Capturer Recorder\configuration_setup_utility\vendor\ffmpeg
ffmpeg version N-44080-gdfb4757 Copyright (c) 2000-2012 the FFmpeg developers
果然,在这个目录下的ffmpeg可以执行dshow录屏命令