我有一个蹩脚的 USB 网络摄像头(Logitech C250),想知道该设备发送的原始格式是什么。
我正在使用 VLC 通过网络传输视频,但有很多格式可供选择,而我想选择不需要(或最简单)转码的格式。
那么,我怎样才能知道该设备实际上本机泵送的内容?
编辑:此外,该设备显然支持音频,但我找不到在 VLC 中使用的路径,它可能仅受 Windows 驱动程序支持 - 有什么想法吗?
答案1
看到这个帖子被标记为 linux,我猜 heavyd 的答案并不适合你,尽管它很完整。
我自己不是 VLC 用户,但我猜一旦 VLC 显示视频,应该是一个带有“视频属性”项或类似内容的菜单。
另一方面,您可以尝试使用 mplayer 使用相机并查看其输出内容。打开控制台并输入以下内容:
mplayer tv:///
现在,应该会打开一个新窗口,控制台内会打印出大量文本。它应该首先显示版本,然后是几行“正在播放 tv:///”
你要找的行是
Current format: [format here]
甚至
Selected video codec: [blah] vfm: raw (RAW *interesting_info_here*)
MPlayer 可以使用各种选项进行编译,并且输出会有所不同,这就是我明确指出两个可能的位置来找到您正在寻找的信息的原因。
经过一番谷歌搜索,关联表明您的相机可以输出 YUYV 或 MJPEG。
答案2
VLC 使用 Microsoft DirectShow 框架从网络摄像头和其他视频捕获设备获取视频。在Windows 平台 SDK有一个很好的工具可以帮助调试 DirectShow“过滤器”,名为 Graph Edit。您可以下载整个 SDK 以获取 MS 工具,或者有一个开源版本,名为图形工作室。
获取 GraphEdit 或 GraphStudio,打开应用程序后,插入过滤器(从 Graph 菜单)。选择“视频捕获源”类别,然后将相机插入到图表中。现在您应该能够右键单击过滤器的裸露引脚并选择“属性”以查看相机支持的格式。许多相机将支持多种格式,但常见的格式包括 YUY2、YV12、MJPEG 等。