Windows 10 如何在 ffmpeg 中从 yuyv422 切换到 yuv420p 以获得更好的帧率

How to switch from yuyv422 to yuv420p for better framerate in ffmpeg on Windows 10

我将 PC 从 Windows 7 升级到 Windows 10,因为它已停产。问题是, 我使用 FFmpeg 实现了低延迟监控和记录解决方案。

升级后,罗技摄像头从 yuv420p 切换到 yuyv422,我在 1280x720 下失去了 30 fps 支持。现在只限10帧。

试了不同的驱动,还是yuyv422

这是我使用的代码。

ffmpeg -y -loglevel panic -hwaccel qsv -threads 1 -fflags nobuffer -flags low_delay -strict experimental -f dshow -video_size 1280x720 -framerate 10 -pixel_format yuyv422 -i video="C922 Pro Stream Webcam" -codec:v libx264 -preset ultrafast -crf 24 -tune zerolatency -map 0 -f segment -segment_time 600 -segment_wrap 2 -reset_timestamps 1 dvr_%%04d.avi -codec:v copy -f nut - | ffplay -fflags nobuffer -flags low_delay -vf scale=1920x1080:flags=lanczos -window_title "kamera" -noborder -left 1920 -top 150 -fast -framedrop -

我真的需要低 CPU,没有最低 24 FPS 的延迟监控和录制功能。文件大小并不重要。

使用 mjpeg 吃得 CPU 发疯了。

我强制安装了旧的 Logitech 驱动程序并获得了 yuv420p/30FPS 支持。 我在这里存储了一些说明和驱动程序:https://github.com/mjasnikovs/logitechC920-vlc 也许有人会觉得有用。