3

我使用带有 h264 编解码器输出的 ELP USB 摄像头。

ffmpeg-command 获取视频流:

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 相机的比特率?

提前致谢!

4

1 回答 1

4

部分 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 摄像机,请写信给我,我将不胜感激。

于 2018-12-12T14:47:40.417 回答