You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过autofocus-window与lens-position参数调整树莓派4B V3相机使白板全屏

问题描述

我使用树莓派4B的摄像头录制课堂教学内容,当前采用以下两条命令分别录制H264格式视频与WAV格式音频:

libcamera-vid -t 7200000 -o picture.h264
arecord -d 7200 -D hw:0,0 -f S32_LE -r 16000 -c 2 voice.wav

录制完成后,通过ffmpeg命令将二者合并为MP4文件:

ffmpeg -i picture.h264 -i voice.wav -c:v copy -c:a aac -strict experimental teacher.mp4

录制的视频中白板未占据整个屏幕,画面存在多余区域。请问如何通过调整autofocus-window与lens-position参数,让画面中的白板占据整个屏幕?

解决方法

1. 先明确两个参数的作用

  • autofocus-window:指定摄像头自动对焦的优先区域,格式为x,y,width,height,所有数值都是0-1之间的相对比例(对应画面宽高占比),设置后摄像头会优先对该区域对焦,保证白板清晰。
  • lens-position:手动调整镜头焦距,数值范围是0-1,0代表无限远对焦,1代表最近对焦;也可设为auto启用自动对焦。调整该参数能改变画面放大/缩小程度,让白板填满屏幕。

2. 分步调整参数

第一步:设置对焦窗口

根据白板在画面中的实际位置,确定对焦区域的相对坐标。比如白板位于画面中间区域时,可设置:

--autofocus-window 0.15,0.15,0.7,0.7

这个参数表示:从画面左上角15%的位置开始,取宽度70%、高度70%的区域作为优先对焦窗口,确保摄像头聚焦在白板上。

第二步:调整镜头焦距

通过lens-position参数微调画面放大程度,逐步测试找到合适数值:

  • 若白板过小,增大lens-position数值(镜头靠近物体,画面放大),可从0.4开始尝试;
  • 若画面模糊或白板超出屏幕,减小lens-position数值(镜头拉远,画面缩小)。

示例测试命令(录制5秒视频验证效果):

libcamera-vid -t 5000 -o test.h264 --autofocus-window 0.15,0.15,0.7,0.7 --lens-position 0.5

反复微调lens-position的数值(比如0.4、0.6),直到白板占满屏幕且画面清晰。

第三步:整合到正式录制命令

确定合适参数后,替换到原录制命令中:

libcamera-vid -t 7200000 --autofocus-window 0.15,0.15,0.7,0.7 --lens-position 0.5 -o picture.h264

音频录制命令保持不变,后续仍用原ffmpeg命令合并即可。

补充说明

如果仅调整这两个参数仍无法让白板完全占满屏幕,可额外添加--crop参数裁剪画面(格式为x,y,width,height,同样用相对比例),进一步去除多余区域。例如:

libcamera-vid -t 7200000 --autofocus-window 0.15,0.15,0.7,0.7 --lens-position 0.5 --crop 0.1,0.1,0.8,0.8 -o picture.h264

内容的提问来源于stack exchange,提问作者user84592

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 05:12:34