- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想问是否有任何选项可以在 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
ffmpeg -list_devices true -f dshow -i dummy
ffmpeg -f dshow -list_options true -i video="MY_DSHOW_DEVICE_NAME"
最佳答案
延迟回答您的问题。
无法清楚地理解您所说的“格式列表”是什么意思,但是如果您引用 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
, 在这种情况下
mjpeg
和
yuyv422
, 分别。
v4l2
具有相同文本格式的输出,然后我明白这可以用正则表达式来解决,例如,它与
FFmpeg
没有直接关系。 .
关于FFmpeg dshow 设备格式列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46447230/
我使用了以下命令: ffmpeg -f dshow -list_devices true -i dummy 列出设备,但如果设备名称不是英语,则 FFmpeg 显示的设备名称与实际不同。我该如何解决这
我想问是否有任何选项可以在 Windows 上获取 dshow 设备格式列表。 例如在 Linux 上,我可以通过以下方式在 Linux 上获取设备格式列表 v4l2-ctl -i /dev/vide
我的桌面上安装了 2 个网络摄像头 - Intex USB 2.0 和 Logitech 网络摄像头 C170。我正在使用libvlc .net wrapper我想流式传输第二个网络摄像头。 我正在使
命令(PS == Windows PowerShell): PS D:\> ffmpeg -f dshow -show_video_device_dialog True -video_device_s
我用 mingw 4.9.2 @ Win7Prof64 构建了 OpenCV WITH_FFMPEG 和 WITH_DSHOW 的 CMake 开关打开。 当我使用 VideoCapture (fil
我在尝试以可接受的误差幅度同步我的音频和视频时遇到了一个小问题。这是我的命令: ffmpeg -y -thread_queue_size 9999 -indexmem 9999 -guess_layo
有没有一种可靠的方法可以通过编程区分多个摄像头?我枚举 CLSID_VideoInputDeviceCategory,然后在每个 IMoniker 上获取 DisplayName。我发现,一些相机将它
我正在尝试使用 DirectShow 做一些事情来播放音频。我有一个头文件,在顶部是: #pragma once #include #pragma comment(lib, "strmiids.li
我目前正在 VB.net 中使用屏幕录像机,我需要 ffmpeg 来录制我的屏幕。我现在有以下 ffmpeg 代码: ffmpeg.exe -f dshow -framerate 30 -i vide
我们通过指定命名管道作为视频帧的输入来录制视频,如下所示: ffmpeg -r 30 -f rawvideo -pix_fmt bgra -s 640x480 -i namedPipe [... ou
USB网络摄像头还可以,但我要使用的设备是一个名为“无他伴侣(竖屏)”的“虚拟摄像头”,其视频来自Android或iOS等智能手机。将手机连接到 PC,在手机上运行一个应用程序,然后运行一个 PC 客
尝试使用 CreateProcess 启动 ffmpeg。 问题: 1) 不能在命令行中使用dshow。 2) 使用 STDIN 管道的 RTMP 流不显示流。 问题: 1) 与 CreateProc
我正在尝试在 C++ 程序中使用带有 FFmpeg 的 DirectShow 设备。我正在使用命令 .\vcpkg install ffmpeg[nvcodec]:x64-windows 使用 vcp
我试图弄清楚如何在我的 C++ 程序中实时设置我的声音剪辑播放的音量,并做一些事情,比如当 2 个对象彼此靠近时增加声音的音量。现在,我正在使用“DShow.h”以及“strmiids.lib”,并且
我终于有时间升级我的视频捕捉类(class)了。我想比较一下 VFW(到目前为止我一直在使用的)和 DirectShow。正如预期的那样,DirectShow 更快,但是当我添加信息文本时,AnsiS
我尝试在 FFmpeg 中捕获 48 kHz 的音频,代码如下: AVInputFormat* ifmt = av_find_input_format("dshow"); CHECK_POI
我是一名优秀的程序员,十分优秀!