Screen capture recorder started failing suddenly.
mzso opened this issue · 23 comments
Hi!
Not so long ago it stopped working. One day it worked, a few days later I only got an error in ffmpeg. And it won't work ever since.
I always get this error:
[dshow @ 000001c8e7ebd500] Could not find output pin from video capture device.
video=screen-capture-recorder:audio=virtual-audio-capturer: I/O error
To me it's a rather mysterious error message. Since I don't know what output pin is and no idea how it could get lost.
@rdp commented on 2022. febr. 11. 04:55 CET:
full output please? That's weird...reinstall help?
I tried removing and reinstalling via ShareX. It remained the same.
ffmpeg version 2021-12-27-git-617452ce2c-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11.2.0 (Rev2, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 57. 13.100 / 57. 13.100
libavcodec 59. 15.101 / 59. 15.101
libavformat 59. 10.100 / 59. 10.100
libavdevice 59. 1.100 / 59. 1.100
libavfilter 8. 21.100 / 8. 21.100
libswscale 6. 1.102 / 6. 1.102
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
[dshow @ 000002791badd540] Could not find output pin from video capture device.
video=screen-capture-recorder:audio=virtual-audio-capturer: I/O error
Trying a newer ffmpeg build also didn't help.
@rdp commented on 2022. febr. 12. 05:32 CET:
-loglevel debug please?
On Fri, Feb 11, 2022 at 2:37 AM mzso ***@***.***> wrote: Trying a newer ffmpeg build also didn't help. — Reply to this email directly, view it on GitHub <#156 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAADBUHYWFOCVVJL7SHREQTU2TKEZANCNFSM5OBVJ2ZQ> . Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>. You are receiving this because you commented.Message ID: </issues/156/1036023299@ github.com>
Okay, but it doesn't seem more informative:
ffmpeg version 2022-02-07-git-04cc7a5548-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11.2.0 (Rev7, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 57. 21.100 / 57. 21.100
libavcodec 59. 20.100 / 59. 20.100
libavformat 59. 17.101 / 59. 17.101
libavdevice 59. 5.100 / 59. 5.100
libavfilter 8. 26.101 / 8. 26.101
libswscale 6. 5.100 / 6. 5.100
libswresample 4. 4.100 / 4. 4.100
libpostproc 56. 4.100 / 56. 4.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-rtbufsize' ... matched as AVOption 'rtbufsize' with argument '1300M'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'dshow'.
Reading option '-i' ... matched as input url with argument 'video=screen-capture-recorder:audio=virtual-audio-capturer'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'libopus'.
Reading option '-b:a' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '200k'.
Reading option '-crf' ... matched as AVOption 'crf' with argument '18'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuvj444p'.
Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'scale=out_color_matrix=bt709'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'libx264'.
Reading option '-preset' ... matched as AVOption 'preset' with argument 'superfast'.
Reading option '-x264opts' ... matched as AVOption 'x264opts' with argument 'colorprim=bt709:transfer=bt709:colormatrix=bt709'.
Reading option 'd:\Letöltés\sharex\2022-02\Total_Commander_(x64)_10.00_-_NEM_REGISZTRÁLT_2022-02-13_17-36-16.mp4.mkv' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url video=screen-capture-recorder:audio=virtual-audio-capturer.
Applying option f (force format) with argument dshow.
Successfully parsed a group of options.
Opening an input file: video=screen-capture-recorder:audio=virtual-audio-capturer.
[dshow @ 000001e028c2d700] Could not find output pin from video capture device.
video=screen-capture-recorder:audio=virtual-audio-capturer: I/O error
+1 Facing the same issue
I downgraded my ffmpeg to version 4.4.1 and then it worked fine.
Looks like ffmpeg v5 is the culprit
I downgraded ffmpeg to 4.4.1 and now it works flawlessly
@rdp commented on 2022. febr. 16. 04:22 CET:
OK try -*loglevel* verbose please?
?? It just shows less:
ffmpeg version 2022-02-07-git-04cc7a5548-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11.2.0 (Rev7, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 57. 21.100 / 57. 21.100
libavcodec 59. 20.100 / 59. 20.100
libavformat 59. 17.101 / 59. 17.101
libavdevice 59. 5.100 / 59. 5.100
libavfilter 8. 26.101 / 8. 26.101
libswscale 6. 5.100 / 6. 5.100
libswresample 4. 4.100 / 4. 4.100
libpostproc 56. 4.100 / 56. 4.100
[dshow @ 0000018fd925d700] Could not find output pin from video capture device.
video=screen-capture-recorder:audio=virtual-audio-capturer: I/O error
And "-loglevel trace
" prints out the sme thing as debug.
@rdp commented on 2022. febr. 26. 06:31 CET:
is this 32 bit? Does latest ffmpeg fail?
64 bit.
Does latest ffmpeg fail?
Yes.
Oops I meant ffmpeg -f dshow -list_options true
thanks!
Hmm, this may well be due to changes i got into v5.0, that introduced a bug. I'll have a look.
@rdp commented on 2022. márc. 18. 05:30 CET:
Oops I meant
ffmpeg -f dshow -list_options true
thanks!
Is that an appropriate command? It prints out warnings.
C:\>ffmpeg -f dshow -list_options true
ffmpeg version 2022-02-24-git-8ef03c2ff1-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11.2.0 (Rev7, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 57. 21.100 / 57. 21.100
libavcodec 59. 21.100 / 59. 21.100
libavformat 59. 17.102 / 59. 17.102
libavdevice 59. 5.100 / 59. 5.100
libavfilter 8. 27.100 / 8. 27.100
libswscale 6. 5.100 / 6. 5.100
libswresample 4. 4.100 / 4. 4.100
libpostproc 56. 4.100 / 56. 4.100
Trailing option(s) found in the command: may be ignored.
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'
@dcnieho commented on 2022. márc. 18. 10:27 CET:
Hmm, this may well be due to changes i got into v5.0, that introduced a bug. I'll have a look.
What sort of changes by the way?
Oops looks like I meant ffmpeg_g -f dshow -list_options true -i video=screen-capture-recorder -loglevel debug
@rdp commented on 2022. márc. 24. 05:37 CET:
Oops looks like I meant
ffmpeg_g -f dshow -list_options true -i video=screen-capture-recorder -loglevel debug
I'm gonna assume that "ffmpeg_g" should be "ffmpeg".
Anyway:
D:\>ffmpeg -f dshow -list_options true -i video=screen-capture-recorder -loglevel debug
ffmpeg version 2022-02-24-git-8ef03c2ff1-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11.2.0 (Rev7, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 57. 21.100 / 57. 21.100
libavcodec 59. 21.100 / 59. 21.100
libavformat 59. 17.102 / 59. 17.102
libavdevice 59. 5.100 / 59. 5.100
libavfilter 8. 27.100 / 8. 27.100
libswscale 6. 5.100 / 6. 5.100
libswresample 4. 4.100 / 4. 4.100
libpostproc 56. 4.100 / 56. 4.100
Splitting the commandline.
Reading option '-f' ... matched as option 'f' (force format) with argument 'dshow'.
Reading option '-list_options' ... matched as AVOption 'list_options' with argument 'true'.
Reading option '-i' ... matched as input url with argument 'video=screen-capture-recorder'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url video=screen-capture-recorder.
Applying option f (force format) with argument dshow.
Successfully parsed a group of options.
Opening an input file: video=screen-capture-recorder.
[dshow @ 000001f61e5b8dc0] DirectShow video device options (from video devices)
[dshow @ 000001f61e5b8dc0] Pin "Capture" (alternative pin name "1")
[dshow @ 000001f61e5b8dc0] pixel_format=bgr0 min s=1x1 fps=0.02 max s=2560x1440 fps=60.0002
[dshow @ 000001f61e5b8dc0] pixel_format=bgr0 min s=1x1 fps=0.02 max s=2560x1440 fps=60.0002
[dshow @ 000001f61e5b8dc0] pixel_format=bgr24 min s=1x1 fps=0.02 max s=2560x1440 fps=60.0002
[dshow @ 000001f61e5b8dc0] pixel_format=rgb555le min s=1x1 fps=0.02 max s=2560x1440 fps=60.0002
[dshow @ 000001f61e5b8dc0] pixel_format=rgb555le min s=1x1 fps=0.02 max s=2560x1440 fps=60.0002
[dshow @ 000001f61e5b8dc0] pixel_format=rgb8 min s=1x1 fps=0.02 max s=2560x1440 fps=60.0002
[dshow @ 000001f61e5b8dc0] pixel_format=yuv420p min s=1x1 fps=0.02 max s=2560x1440 fps=60.0002
[dshow @ 000001f61e5b8dc0] Could not find output pin from video capture device.
video=screen-capture-recorder: I/O error
I did not see your message, and came to the same conclusion :p
The format you return has GUID {00000000-0000-0000-0000-000000000000}, that is, it is not recognized as a FORMAT_VideoInfo
.
Replacing the dlls, i no longer get that error when enumerating device options (I haven't tried to capture).
It prints "leaving aero on" by the way, should it do that or is it a debug message?
@rdp commented on 2022. márc. 25. 06:20 CET:
Can you try this? https://github.com/rdp/screen-capture-recorder-to-video-windows-free/releases/tag/untagged-52fe174cdde9e8b34b43 looks like I hadn't been implementing GetFormat right...
That's a 404 for me.
@rdp commented on 2022. márc. 26. 05:16 CET:
OK try the latest release.
On Fri, Mar 25, 2022 at 1:04 PM mzso ***@***.***> wrote: ***@***.**** <https://github.com/rdp> commented on 2022. márc. 25. 06:20 CET <#156 (comment)> : Can you try this? https://github.com/rdp/screen-capture-recorder-to-video-windows-free/releases/tag/untagged-52fe174cdde9e8b34b43 looks like I hadn't been implementing GetFormat right... That's a 404 for me. — Reply to this email directly, view it on GitHub <#156 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAADBUA7UDTH4GV5X6BIHQDVBYE3XANCNFSM5OBVJ2ZQ> . You are receiving this because you commented.Message ID: </issues/156/1079339652@ github.com>
It seems to be working now.