ffplay利用directshow播放USB摄像头

参考源网络地址:https://trac.ffmpeg.org/wiki/DirectShow

首先,利用ffmpeg查看摄像头的列表:

C:\Windows\system32> ffmpeg -list_devices true -f dshow -i dummy
ffmpeg version 2020-12-24-git-9a0f5e412a-full_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev5, 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-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --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-libglslang --enable-vulkan --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      56. 62.100 / 56. 62.100
  libavcodec     58.115.102 / 58.115.102
  libavformat    58. 65.100 / 58. 65.100
  libavdevice    58. 11.103 / 58. 11.103
  libavfilter     7. 94.100 /  7. 94.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
[dshow @ 0000017fd346b100] DirectShow video devices (some may be both video and audio devices)
[dshow @ 0000017fd346b100]  "Webcam C170"
[dshow @ 0000017fd346b100]     Alternative name "@device_pnp_\\?\usb#vid_046d&pid_082b&mi_00#6&e8979fb&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 0000017fd346b100]  "OBS Virtual Camera"
[dshow @ 0000017fd346b100]     Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{A3FCE0F5-3493-419F-958A-ABA1250EC20B}"
[dshow @ 0000017fd346b100] DirectShow audio devices
[dshow @ 0000017fd346b100]  "麦克风 (Webcam C170)"
[dshow @ 0000017fd346b100]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{79AED286-26B2-4725-A588-48DBCA31056F}"
[dshow @ 0000017fd346b100]  "麦克风 (Realtek High Definition Audio)"
[dshow @ 0000017fd346b100]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{4D723416-0C1E-4F66-8743-ABF0DF091FF6}"
[dshow @ 0000017fd346b100]  "立体声混音 (Realtek High Definition Audio)"
[dshow @ 0000017fd346b100]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{951C2BA7-DC91-4C0D-9C9E-BDF905CEA3B3}"
dummy: Immediate exit requested

从列表中找到摄像头的名称,以上可以看到我的摄像头是"Webcam C170"

然后用ffplay播放此摄像头:

C:\Windows\system32>ffplay -f dshow -i video="Webcam C170"
ffplay version 2020-12-24-git-9a0f5e412a-full_build-www.gyan.dev Copyright (c) 2003-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev5, 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-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --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-libglslang --enable-vulkan --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      56. 62.100 / 56. 62.100
  libavcodec     58.115.102 / 58.115.102
  libavformat    58. 65.100 / 58. 65.100
  libavdevice    58. 11.103 / 58. 11.103
  libavfilter     7. 94.100 /  7. 94.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, dshow, from 'video=Webcam C170':    0KB sq=    0B f=0/0
  Duration: N/A, start: 7285.290000, bitrate: N/A
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
7288.53 M-V:  0.006 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0

另外,查看摄像头支持的分辨率格式,参考网址:https://blog.csdn.net/lwwl12/article/details/79147421?utm_medium=distribute.pc_relevant_t0.none-task-blog-OPENSEARCH-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-OPENSEARCH-1.not_use_machine_learn_pai

E:\SampleCode\video>ffmpeg -list_options true -f dshow -i video="Webcam C170"
ffmpeg version 2020-12-24-git-9a0f5e412a-full_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev5, 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-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --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-libglslang --enable-vulkan --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      56. 62.100 / 56. 62.100
  libavcodec     58.115.102 / 58.115.102
  libavformat    58. 65.100 / 58. 65.100
  libavdevice    58. 11.103 / 58. 11.103
  libavfilter     7. 94.100 /  7. 94.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
[dshow @ 0000022c13ecb0c0] DirectShow video device options (from video devices)
[dshow @ 0000022c13ecb0c0]  Pin "捕获" (alternative pin name "0")
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=640x480 fps=15 max s=640x480 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=640x480 fps=15 max s=640x480 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=352x288 fps=15 max s=352x288 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=352x288 fps=15 max s=352x288 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=320x240 fps=15 max s=320x240 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=320x240 fps=15 max s=320x240 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=176x144 fps=15 max s=176x144 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=176x144 fps=15 max s=176x144 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=160x120 fps=15 max s=160x120 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=160x120 fps=15 max s=160x120 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=544x288 fps=15 max s=544x288 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=544x288 fps=15 max s=544x288 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=432x240 fps=15 max s=432x240 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=432x240 fps=15 max s=432x240 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=320x176 fps=15 max s=320x176 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=320x176 fps=15 max s=320x176 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=640x360 fps=15 max s=640x360 fps=30
[dshow @ 0000022c13ecb0c0]   pixel_format=yuyv422  min s=640x360 fps=15 max s=640x360 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=640x480 fps=15 max s=640x480 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=640x480 fps=15 max s=640x480 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=352x288 fps=15 max s=352x288 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=352x288 fps=15 max s=352x288 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=320x240 fps=15 max s=320x240 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=320x240 fps=15 max s=320x240 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=176x144 fps=15 max s=176x144 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=176x144 fps=15 max s=176x144 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=160x120 fps=15 max s=160x120 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=160x120 fps=15 max s=160x120 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=544x288 fps=15 max s=544x288 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=544x288 fps=15 max s=544x288 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=432x240 fps=15 max s=432x240 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=432x240 fps=15 max s=432x240 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=320x176 fps=15 max s=320x176 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=320x176 fps=15 max s=320x176 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=640x360 fps=15 max s=640x360 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=640x360 fps=15 max s=640x360 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=800x480 fps=15 max s=800x480 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=800x480 fps=15 max s=800x480 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=1024x768 fps=15 max s=1024x768 fps=30
[dshow @ 0000022c13ecb0c0]   vcodec=mjpeg  min s=1024x768 fps=15 max s=1024x768 fps=30
video=Webcam C170: Immediate exit requested

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值