更改USB相机的比特率

时间:2018-11-30 12:10:20

标签: video ffmpeg raspberry-pi gstreamer usb-camera

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

使用Ffmpeg命令获取视频流:

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

谢谢!

1 个答案:

答案 0 :(得分:1)

某些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不支持该协议。但是著名的Logitech C920是的,并且此命令已通过此相机进行了测试。

如果有人知道支持h.264编解码器和UVC协议的高清USB摄像机,请写信给我,