USB UVC設(shè)備分析工具與方法記錄
Windows 系統(tǒng)使用 FFmpeg 查看攝像頭詳細(xì)信息
查看攝像頭設(shè)備列表
PS C:\Windows\system32> ffmpeg -hide_banner -list_devices true -f dshow -i dummy
[dshow @ 0000014791cab200] "HIK 2K Camera" (video)
[dshow @ 0000014791cab200] Alternative name "@device_pnp_\\?\usb#vid_2bdf&pid_0281&mi_00#6&2f0841bb&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 0000014791cab200] "OBS Virtual Camera" (video)
[dshow @ 0000014791cab200] Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{A3FCE0F5-3493-419F-958A-ABA1250EC20B}"
[dshow @ 0000014791cab200] "麥克風(fēng) (HIK 2K Camera-Audio)" (audio)
[dshow @ 0000014791cab200] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{A6A166B4-060B-49F8-929E-B9C30F315A4B}"
[dshow @ 0000014791cab200] "麥克風(fēng) (Realtek(R) Audio)" (audio)
[dshow @ 0000014791cab200] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{1219F832-41CE-4C4E-9D81-07208B312D91}"
dummy: Immediate exit requested
查看攝像頭格式
查看攝像頭當(dāng)前視頻格式
PS C:\Windows\system32> ffmpeg -hide_banner -f dshow -i video="HIK 2K Camera"
Input #0, dshow, from 'video=HIK 2K Camera':
Duration: N/A, start: 182108.727076, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj420p(pc, bt470bg/bt709/unknown), 640x480, 30 fps, 30 tbr, 10000k tbn
At least one output file must be specified
查看攝像頭支持的視頻格式列表:
PS C:\Windows\system32> ffmpeg -hide_banner -list_options true -f dshow -i video="HIK 2K Camera"
[dshow @ 0000015b3a57b200] DirectShow video device options (from video devices)
[dshow @ 0000015b3a57b200] Pin "捕獲" (alternative pin name "0")
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=640x480 fps=25 max s=640x480 fps=30
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=640x480 fps=25 max s=640x480 fps=30 (pc, bt470bg/bt709/unknown, center)
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=1280x720 fps=25 max s=1280x720 fps=30
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=1280x720 fps=25 max s=1280x720 fps=30 (pc, bt470bg/bt709/unknown, center)
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=1280x960 fps=25 max s=1280x960 fps=30
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=1280x960 fps=25 max s=1280x960 fps=30 (pc, bt470bg/bt709/unknown, center)
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=1920x1080 fps=25 max s=1920x1080 fps=30
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=1920x1080 fps=25 max s=1920x1080 fps=30 (pc, bt470bg/bt709/unknown, center)
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=2048x1536 fps=25 max s=2048x1536 fps=30
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=2048x1536 fps=25 max s=2048x1536 fps=30 (pc, bt470bg/bt709/unknown, center)
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=2560x1440 fps=25 max s=2560x1440 fps=25
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=2560x1440 fps=25 max s=2560x1440 fps=25 (pc, bt470bg/bt709/unknown, center)
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=640x480 fps=25 max s=640x480 fps=30
[dshow @ 0000015b3a57b200] vcodec=mjpeg min s=640x480 fps=25 max s=640x480 fps=30 (pc, bt470bg/bt709/unknown, center)
[dshow @ 0000015b3a57b200] pixel_format=yuyv422 min s=640x480 fps=25 max s=640x480 fps=25
[dshow @ 0000015b3a57b200] pixel_format=yuyv422 min s=640x480 fps=25 max s=640x480 fps=25 (tv, bt470bg/bt709/unknown, topleft)
video=HIK 2K Camera: Immediate exit requested
PS C:\Windows\system32>
查看是逐行還是隔行
PS C:\Windows\system32> ffmpeg -hide_banner -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null -f dshow -i video="HIK 2K Camera"
Input #0, dshow, from 'video=HIK 2K Camera':
Duration: N/A, start: 182328.665840, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj420p(pc, bt470bg/bt709/unknown), 640x480, 30 fps, 30 tbr, 10000k tbn
/dev/null: No such file or directory
PS C:\Windows\system32> ffmpeg -hide_banner -filter:v idet -frames:v 100 -an -f rawvideo null -f dshow -i video="HIK 2K Camera"
Input #0, dshow, from 'video=HIK 2K Camera':
Duration: N/A, start: 182359.319496, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj420p(pc, bt470bg/bt709/unknown), 640x480, 30 fps, 30 tbr, 10000k tbn
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> rawvideo (native))
Press [q] to stop, [?] for help
Output #0, rawvideo, to 'null':
Metadata:
encoder : Lavf59.27.100
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuvj420p(pc, bt470bg/bt709/unknown, progressive), 640x480, q=2-31, 110592 kb/s, 30 fps, 30 tbn
Metadata:
encoder : Lavc59.37.100 rawvideo
frame= 100 fps= 30 q=-0.0 Lsize= 45000kB time=00:00:03.33 bitrate=110592.1kbits/s speed=1.01x
video:45000kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
[Parsed_idet_0 @ 000001c28a1b4e00] Repeated Fields: Neither: 101 Top: 0 Bottom: 0
[Parsed_idet_0 @ 000001c28a1b4e00] Single frame detection: TFF: 0 BFF: 0 Progressive: 7 Undetermined: 94
[Parsed_idet_0 @ 000001c28a1b4e00] Multi frame detection: TFF: 0 BFF: 0 Progressive: 101 Undetermined: 0
PS C:\Windows\system32>
上面 Progressive 統(tǒng)計(jì)的幀數(shù)大于 0,且 TFF 和 BFF 統(tǒng)計(jì)幀數(shù)為 0,所以是逐行。
查看支持的分辨率:
Linux 系統(tǒng)
查看本機(jī)視頻設(shè)備
root@zynqmp:/sys/class/video4linux# v4l2-ctl --list-devices
dwc3-gadget (gadget):
/dev/video4
USB 2.0 Camera: USB Camera (usb-xhci-hcd.1.auto-1.1.3.2):
/dev/video2
/dev/video3
/dev/media1
HIK 2K Camera: HIK 2K Camera (usb-xhci-hcd.1.auto-1.2):
/dev/video0
/dev/video1
/dev/media0
查看支持的分辨率列表
root@zynqmp:~# v4l2-ctl --device=/dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'MJPG' (Motion-JPEG, compressed)
Size: Discrete 1280x720
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Size: Discrete 1280x960
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Size: Discrete 2048x1536
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Size: Discrete 2560x1440
Interval: Discrete 0.040s (25.000 fps)
Size: Discrete 640x480
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
[1]: 'YUYV' (YUYV 4:2:2)
Size: Discrete 640x480
Interval: Discrete 0.040s (25.000 fps)
查看當(dāng)前分辨率
root@zynqmp:~# v4l2-ctl --device=/dev/video0 --all
Driver Info:
Driver name : uvcvideo
Card type : HIK 2K Camera: HIK 2K Camera
Bus info : usb-xhci-hcd.1.auto-1.2
Driver version : 5.4.140
Capabilities : 0x84a00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Media Driver Info:
Driver name : uvcvideo
Model : HIK 2K Camera: HIK 2K Camera
Serial : SN0002
Bus info : usb-xhci-hcd.1.auto-1.2
Media version : 5.4.140
Hardware revision: 0x00001200 (4608)
Driver version : 5.4.140
Interface Info:
ID : 0x03000002
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : HIK 2K Camera: HIK 2K Camera
Function : V4L2 I/O
Flags : default
Pad 0x01000007 : 0: Sink
Link 0x02000010: from remote pad 0x100000a of entity 'Extension 3': Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 1280/720
Pixel Format : 'MJPG' (Motion-JPEG)
Field : None
Bytes per Line : 0
Size Image : 1843200
Colorspace : Default
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 1280, Height 720
Default : Left 0, Top 0, Width 1280, Height 720
Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 1280, Height 720, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1280, Height 720, Flags:
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
brightness 0x00980900 (int) : min=1 max=255 step=1 default=128 value=128
contrast 0x00980901 (int) : min=1 max=255 step=1 default=128 value=128
saturation 0x00980902 (int) : min=10 max=200 step=1 default=128 value=128
white_balance_temperature_auto 0x0098090c (bool) : default=1 value=1
power_line_frequency 0x00980918 (menu) : min=0 max=2 default=1 value=1
0: Disabled
1: 50 Hz
2: 60 Hz
white_balance_temperature 0x0098091a (int) : min=2800 max=6500 step=1 default=4650 value=4650 flags=inactive
sharpness 0x0098091b (int) : min=1 max=255 step=1 default=128 value=128
zoom_absolute 0x009a090d (int) : min=0 max=5 step=1 default=0 value=0
zoom_continuous 0x009a090f (int) : min=0 max=0 step=0 default=0 value=0
設(shè)置幀率
v4l2-ctl -d /dev/video0 --set-parm=25
v4l2-ctl -d /dev/video0 --set-fmt-video=width=640,height=480,pixelformat=YUYV

浙公網(wǎng)安備 33010602011771號(hào)