簡體   English   中英

FFmpeg dshow 設備格式列表

[英]FFmpeg dshow device format list

我想問一下是否有任何選項可以在 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"

但是我無法獲得格式列表,就像在 Linux 上通過 v4l2 一樣。

如何在 Windows 上通過 FFmpeg 獲取 dshow 設備支持的格式列表?

對您的問題的延遲回答。

不可能清楚地理解“格式列表”的含義,但是如果您參考使用v4l2時出現的Pixel Format ,那么您可以從您提到的-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

如您所見, vcodecpixel_format鍵中包含的數據與您在v4l2Pixel Format找到的值相同,在本例中分別為mjpegyuyv422

如果您想要的是與v4l2具有相同文本格式的輸出,那么我知道這可以通過正則表達式解決,例如,它與FFmpeg沒有直接關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM