0. 项目代码
可以从下面获取到项目中的代码。
https://github.com/cdsmakc/h264_codec_base_rpi4b_rpi5_rv1106_visual_studio.git
1. 背景
接上篇。我在应用中创建3个线程:
- CAM线程,使用V4L2驱动,从 /dev/video11 获取图像。
- ENC线程,使用硬件编码器(RK-MPI-VENC)对图像编码。
- DTR线程,发送编码后的数据。
实际上,SDK中的 media 路径下有多个以 sample_ 开头的例程,比这个更简单更高效。一般是直接将VI绑定到VPSS或VENC,直接就可以获取264码流。
2. 问题
应用了 IMX415 摄像头之后,使用V4L2获取图像,只能获取到20FPS左右。而且V4L2驱动不支持 VIDIOC_S_PARM 命令设置帧率。修改了 驱动中 imx415.c 的寄存器列表,支持到90fps(720P情况下),输出帧率也没有变化。
这时候想到不用自己的程序,用 sample_venc_stresstest 这个例程来测试。先修改默认帧率:

图中修改VI的帧率。结果发现,如果该值设置为30,那么运行时不会报错。如果设置超过30,例如35,运行就会报错。
cmpi

最低0.47元/天 解锁文章

1541





