exposure-auto setting fails

本文探讨了在Ubuntu上使用v4l2-ctl工具调整Logitech C920摄像头图片质量的方法。作者尝试将曝光模式设为自动,但遇到了输入/输出错误。文章详细列出了摄像头的各项设置,并提供了解决方案:通过调整exposure_auto_priority参数,成功将曝光模式从自动切换到手动。

I am trying to tune a C920 webcam for picture quality using v4l2-ctl utility on Ubuntu PC. I am unable to set exposure_auto to'Auto' mode, but I am able to set it to'Manual Mode'or in'Aperture Priority Mode'. Any clues?

lenovo@ubuntu:~$ v4l2-ctl -d /dev/video1 -c exposure_auto=0
VIDIOC_S_CTRL: failed: Input/output error
exposure_auto: Input/output error

Following are the settings dump of C920 connected to my ubuntu:

  • brightness (int) : min=0 max=255 step=1 default=128 value=128
  • contrast (int) : min=0 max=255 step=1 default=128 value=128
  • saturation (int) : min=0 max=255 step=1 default=128 value=128
  • white_balance_temperature_auto (bool) : default=1 value=1
  • gain (int) : min=0 max=255 step=1 default=0 value=0
  • power_line_frequency (menu) : min=0 max=2 default=2 value=2
  • white_balance_temperature (int) : min=2000 max=6500 step=1 default=4000 value=4000
  • sharpness (int) : min=0 max=255 step=1 default=128 value=128
  • backlight_compensation (int) : min=0 max=1 step=1 default=0 value=0
  • exposure_auto (menu) : min=0 max=3 default=3 value=3 (0: Auto Mode 1: Manual Mode
    2: Shutter Priority Mode
    3: Aperture Priority Mode)
  • exposure_absolute (int) : min=3 max=2047 step=1 default=250 value=250
  • exposure_auto_priority (bool) : default=0 value=1
  • focus_absolute (int) : min=0 max=250 step=5 default=0 value=0
  • focus_auto (bool) : default=1 value=1
  • zoom_absolute (int) : min=100 max=500 step=1 default=100 value=100

That usually happens when you try to manually set a setting which is currently controlled by some other automatic. Try toggling ''exposure_auto_priority''to see if that looses the grip of the auto algorithm on that particular setting.

For me, for example, setting''white_balance_temperature_auto''to 0 allowed me to manually set ''white_balance_temperature'' which resulted in"failed: Input/output error"before.

Using

v4l2-ctl -d /dev/video1 -c exposure_auto=1

instead of exposure_auto = 0, you can set exposure to manual then set exposure_absolute to change the value.

在使用 `ctrip-apollo` 时,配置获取失败是一个较为常见的问题,可能由多种原因引起。以下是一些可能的原因及对应的解决方案: ### 1. Apollo 服务端未启动或网络不通 如果 Apollo 配置中心的服务端没有正常启动,或者客户端无法访问 Apollo 服务端的地址,将导致配置无法获取。 检查 Apollo 服务端是否正常运行,并确保客户端可以访问 Apollo 的 Meta Server 地址。可以通过 `ping` 或 `telnet` 命令测试网络连通性。 ### 2. 客户端配置错误 `application.properties` 或 `bootstrap.properties` 中的 Apollo 配置参数不正确可能导致连接失败。例如: - `app.id` 配置错误,导致无法匹配 Apollo 服务端中的应用配置。 - `apollo.meta` 配置不正确,导致客户端无法定位到正确的 Apollo 服务地址。 - `apollo.cluster` 配置错误,导致客户端尝试从错误的集群获取配置信息。 确保这些参数与 Apollo 服务端中的配置一致。 ### 3. Apollo 配置中心的 Namespace 配置问题 如果使用了自定义的 `namespace`,但未在 Apollo 服务端中正确配置,或者客户端使用的 `namespace` 名称与服务端不一致,会导致配置获取失败。 检查客户端与服务端的 `namespace` 配置是否一致,并确保相关配置项已正确发布。 ### 4. Apollo 客户端版本与服务端不兼容 不同版本的 Apollo 客户端与服务端可能存在兼容性问题。如果客户端版本过低或过高,可能无法正常获取配置。 建议使用官方推荐的版本组合,并确保客户端与服务端版本兼容。 ### 5. 权限问题 Apollo 配置中心可能对某些配置项设置了访问权限。如果客户端使用的账号没有足够的权限访问特定的配置项,也会导致配置获取失败。 检查 Apollo 服务端的权限配置,确保客户端使用的账号具有访问相关配置的权限。 ### 6. 日志文件排查 查看 Apollo 客户端的日志文件,通常会记录详细的错误信息。通过日志可以更准确地定位问题。例如,日志中可能会显示连接超时、认证失败等错误信息。 ### 7. 灰度发布或集群配置问题 如果启用了灰度发布功能,但未正确配置灰度规则,或者客户端所在的集群未正确配置,可能导致配置无法获取。 检查灰度发布集群配置是否正确,并确保客户端所在的集群与 Apollo 服务端的配置一致。 ### 示例代码 以下是一个典型的 Apollo 客户端配置示例: ```properties # application.properties app.id=your-app-id apollo.meta=http://apollo-configservice:8080 apollo.cluster=default apollo.namespace=application ``` ### 解决方案总结 - 确保 Apollo 服务端正常运行,并且客户端可以访问服务端。 - 检查客户端配置文件中的 `app.id`、`apollo.meta`、`apollo.cluster` `apollo.namespace` 是否正确。 - 确保客户端与服务端版本兼容。 - 检查权限配置,确保客户端账号有访问相关配置的权限。 - 查看日志文件,定位具体的错误信息。 - 检查灰度发布集群配置是否正确。 通过以上步骤,可以有效排查解决 `ctrip-apollo` 配置获取失败的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值