gpt4 book ai didi

FFmpeg dshow 设备格式列表

转载 作者:行者123 更新时间:2023-12-04 03:09:27 26 4
gpt4 key购买 nike

我想问是否有任何选项可以在 Windows 上获取 dshow 设备格式列表。

例如在 Linux 上,我可以通过以下方式在 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"

但我无法获取格式列表,例如通过 v4l2 在 Linux 上。

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

最佳答案

延迟回答您的问题。

无法清楚地理解您所说的“格式列表”是什么意思,但是如果您引用 Pixel Format使用 v4l2 时出现的,那么您可以从 -list_options 的输出中获取此数据你提到的命令。

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

(为了便于查看,省略了第一行)

[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

如您所见, vcodec 中包含的数据和 pixel_format键与您在 v4l2 中找到的值相同的 Pixel Format , 在这种情况下 mjpegyuyv422 , 分别。

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

关于FFmpeg dshow 设备格式列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46447230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com