更改 USB 摄像头的比特率

Change bitrate of USB camera

我使用带有 h264-codec 输出的 ELP USB 摄像头。

ffmpeg-command to take the video stream:

ffmpeg -i /dev/video1 -c:v copy output.ts

结果我有一个 4Mb 比特率的视频 - 这个值对于我的任务来说太高了。

我用GSTreamer也有同样的情况:

gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-h264,width=1280,height=720,framerate=30/1 ! mpegtsmux ! filesink location=output.ts

我知道如果我们先对流进行 h264 解码然后再次将其编码为 h264,则可以更改比特率。此操作对我的 NanoPI 设备的 CPU 功率要求过高。

主要问题是: 是否可以在不解码的情况下更改 USB 摄像头的比特率?

提前致谢!

部分 USB 相机支持 UVC 协议,与 v4l2-ctl 相比,它允许您调整更广泛的功能。

例如,要在不解码的情况下更改比特率:

gst-launch-1.0 uvch264src initial-bitrate=1500000 average-bitrate=1500000 iframe-period=1000 device=/dev/video0 name=src auto-start=true src.vidsrc ! video/x-h264,width=1280,height=720,framerate=30/1,profile=constrained-baseline ! h264parse ! mpegtsmux ! filesink location=output.ts

重要! ELP USB-cam 不支持此协议。但是大名鼎鼎的罗技C920——是的,而且命令是用这台相机测试的

如果有人知道支持h.264编解码器和UVC协议的高清USB摄像头,请写信给我,我将不胜感激。