我使用具有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摄像机的比特率?
谢谢!
答案 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摄像机,请写信给我,