我正在尝试在运行 Raspbian Buster 的 Raspberry Pi 4B 上从 GV-USB2(一种流行的复合/S-Video 捕获卡)捕获视频。我构建并安装了这些适用于 GV-USB2 的 V4L2 驱动程序,当我尝试通过 S-Video 捕获视频时,出现了一些奇怪的扭曲,看起来像是“视口”的位移。
捕获卡使用官方驱动程序(仅限 Windows)在 Windows 计算机上产生正常输出。
输出v4l2-ctl --all
:
Driver Info:
Driver name : gvusb2
Card type : gvusb2
Bus info : usb-0000:01:00.0-1.3
Driver version : 5.10.17
Capabilities : 0x85200001
Video Capture
Read/Write
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x05200001
Video Capture
Read/Write
Streaming
Extended Pix Format
Priority: 2
Video input : 1 (S-Video: ok)
Video Standard = 0x00001000
NTSC-M
Format Video Capture:
Width/Height : 720/480
Pixel Format : 'UYVY' (UYVY 4:2:2)
Field : Interlaced
Bytes per Line : 1440
Size Image : 691200
Colorspace : SMPTE 170M
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Limited Range)
Flags :
Streaming Parameters Video Capture:
Frames per second: 29.970 (30000/1001)
Read buffers : 2
User Controls
brightness 0x00980900 (int) : min=0 max=255 step=1 default=128 value=128 flags=slider
contrast 0x00980901 (int) : min=0 max=255 step=1 default=128 value=128 flags=slider
saturation 0x00980902 (int) : min=0 max=255 step=1 default=128 value=128 flags=slider
hue 0x00980903 (int) : min=0 max=255 step=1 default=128 value=128 flags=slider
sharpness 0x0098091b (int) : min=0 max=15 step=1 default=0 value=0 flags=slider
vertical_start 0x0098f900 (int) : min=1 max=4 step=1 default=2 value=2 flags=slider
horizontal_start 0x0098f901 (int) : min=0 max=8 step=4 default=4 value=4 flags=slider
的结果ffmpeg -f video4linux2 -pix_fmt uyvy422 -i /dev/video0 -c:v libx264 -t 10 gvusb2-test.mp4
:https://youtu.be/Eqn_zlZJVx0
使用yadif
视频滤镜有助于消除隔行扫描效果。
结果ffmpeg -f video4linux2 -pix_fmt uyvy422 -i /dev/video0 -c:v libx264 -vf yadif -t 10 gvusb2-test-yadif.mp4
:https://youtu.be/t13SVu5o-Sc
如果它有任何意义的话,音频可以使用来自同一存储库的附带声音驱动程序正常工作。
如果有人能帮助我或给我一些 Google 信息就太好了。谢谢!