FFmpeg数据显示设备格式列表

FFmpeg数据显示设备格式列表,ffmpeg,ffdshow,Ffmpeg,Ffdshow,我想问一下,在Windows上是否有获取dshow设备格式列表的选项 例如,在Linux上,我可以通过 v4l2-ctl -i /dev/video0 --list-formats Index : 0 Type : Video Capture Pixel Format: 'YUYV' Name : YUV 4:2:2 (YUYV) Index : 1 Type : Video Capture Pixel Format: 'H2

我想问一下,在Windows上是否有获取dshow设备格式列表的选项

例如,在Linux上,我可以通过

v4l2-ctl -i /dev/video0 --list-formats

Index       : 0
Type        : Video Capture
Pixel Format: 'YUYV'
Name        : YUV 4:2:2 (YUYV)

Index       : 1
Type        : Video Capture
Pixel Format: 'H264' (compressed)
Name        : H.264

Index       : 2
Type        : Video Capture
Pixel Format: 'MJPG' (compressed)
Name        : MJPEG
在Windows上,我可以获取设备列表

ffmpeg -list_devices true -f dshow -i dummy
和设备选项

ffmpeg -f dshow -list_options true -i video="MY_DSHOW_DEVICE_NAME"
但我无法获得格式列表,就像在Linux上通过v4l2一样


如何在Windows上通过FFmpeg获取dshow设备支持的格式列表?

延迟回答您的问题

无法清楚理解“格式列表”的含义,但如果您参考使用
v4l2
时出现的
像素格式
,则可以从您提到的
-list\u options
命令的输出中获取此数据

例如,在我的笔记本电脑上,当运行
ffmpeg-f dshow-list_options true-I video=“Integrated Webcam”
时,我有以下输出:

(省略第一行以便于查看)

如您所见,
vcodec
pixel_格式
键中包含的数据与
v4l2
像素格式
中的值相同,在本例中分别是
mjpeg
yuyv422

如果您想要的是与
v4l2
具有相同文本格式的输出,那么我知道这可以用正则表达式来解决,例如,它与
FFmpeg
没有直接关系

[dshow @ 000001cc91eea4c0] DirectShow video device options (from video devices)
[dshow @ 000001cc91eea4c0]  Pin "Capture" (alternative pin name "0")
[dshow @ 000001cc91eea4c0]   vcodec=mjpeg  min s=1280x720 fps=30 max s=1280x720 fps=30
[dshow @ 000001cc91eea4c0]   vcodec=mjpeg  min s=1280x720 fps=30 max s=1280x720 fps=30
[dshow @ 000001cc91eea4c0]   vcodec=mjpeg  min s=960x540 fps=30 max s=960x540 fps=30
[dshow @ 000001cc91eea4c0]   vcodec=mjpeg  min s=960x540 fps=30 max s=960x540 fps=30
[dshow @ 000001cc91eea4c0]   vcodec=mjpeg  min s=848x480 fps=30 max s=848x480 fps=30
[dshow @ 000001cc91eea4c0]   vcodec=mjpeg  min s=848x480 fps=30 max s=848x480 fps=30
[dshow @ 000001cc91eea4c0]   vcodec=mjpeg  min s=1280x720 fps=30 max s=1280x720 fps=30
[dshow @ 000001cc91eea4c0]   vcodec=mjpeg  min s=1280x720 fps=30 max s=1280x720 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=640x480 fps=30 max s=640x480 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=640x480 fps=30 max s=640x480 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=160x120 fps=30 max s=160x120 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=160x120 fps=30 max s=160x120 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=320x180 fps=30 max s=320x180 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=320x180 fps=30 max s=320x180 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=320x240 fps=30 max s=320x240 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=320x240 fps=30 max s=320x240 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=424x240 fps=30 max s=424x240 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=424x240 fps=30 max s=424x240 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=640x360 fps=30 max s=640x360 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=640x360 fps=30 max s=640x360 fps=30
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=1280x720 fps=10 max s=1280x720 fps=10
[dshow @ 000001cc91eea4c0]   pixel_format=yuyv422  min s=1280x720 fps=10 max s=1280x720 fps=10