libgphoto2
欢迎来到精彩的gphoto世界!这是libgphoto2,gphoto的继任者,具有许多新功能和额外的相机驱动程序。
如果您发现缺少某项功能,想要报告成功或失败,或有任何问题,请随时联系我们的邮件列表。
libgphoto2是什么?
libgphoto2是一个可以被应用程序用来访问各种数码相机的库。
有关gphoto的更多信息,请参阅[gphoto项目主页]。
在那里,您还可以获得有关邮件列表、支持的相机和gphoto2可用性的信息。另一个信息来源是[gphoto GitHub项目页面]。
您可以在那里访问我们的SVN服务器,获取gphoto2、gtkam和GnoCam的源代码(见下文)。
libgphoto2不是什么?
与gphoto相反,libgphoto2本身不是一个GUI应用程序。然而,gphoto2库有GUI前端,例如gtkam。
libgphoto2只能与它理解语言的相机通信。也就是说,如果您拥有一台使用未公开语言的相机,而且没有人能够弄清楚这些句子的含义,libgphoto2就无法与这些相机通信。
此外,还有支持所谓USB大容量存储协议的相机。这是一个已发布的协议,让您可以访问任何通过USB连接到计算机的存储设备,无论是相机还是磁盘。由于已经有这种协议的驱动程序,您不需要像libgphoto2这样的额外库。使用USB大容量存储的相机列表每天都在变长,所以我们不会公布它。
要获取更新的列表,您可以查阅[相机列表及支持状态]。
您的操作系统会告诉您这一点,因为它可能会将设备识别为可以挂载的SCSI磁盘(对于Linux,'dmesg'会告诉您)。再次强调,这些相机无法通过libgphoto2访问。其中一些可以切换到使用不同的通信协议,在这种情况下可能可以与libgphoto2一起使用。
其他相机支持由柯达和其他公司开发的PTP或USB图像设备协议。libgphoto2支持PTP。标记为"PictBridge"的相机也可以工作,PictBridge是PTP的扩展。
如今,几乎所有不是大容量存储的相机都支持它,包括但不限于所有尼康、佳能、富士、索尼、松下、惠普等品牌。
libgphoto2未知的PTP相机将被检测为通用PTP相机,无需任何更改即可正常工作。
支持MTP(微软传输协议)的设备也可以访问,因为MTP基于PTP。
平台
libgphoto2应该可以在几乎所有类Unix平台上编译和运行。libgphoto2(尚?)未移植到任何微软操作系统。
绑定
- Java: gphoto2-java, libgphoto2-jna
- Python: python-gphoto2, gphoto2-cffi
- C#: libgphoto2-sharp
- Go: gphoto2-go
- Rust: gphoto-rs
- Node.js: node-gphoto2
- Ruby: ffi-gphoto2
- Crystal: gphoto2.cr
如何设置libgphoto2
有关如何设置libgphoto2及其前端的信息,请参阅gphoto2手册。
您可以在以下地方找到它:
- 在gphoto网站上: [gphoto项目主页]
- 在SVN模块gphoto2-manual中
gphoto2手册包含有关设置USB热插拔的信息。
如果遇到问题,您还可以查阅FAQ(也包含在gphoto2手册中)。
前端
gphoto2是一个功能强大的命令行前端,特别是与脚本结合使用时。有关简短说明,请参阅gphoto2手册。
对于喜欢GUI的用户,有digikam(KDE)、gthumb(GNOME)、f-spot(GNOME / Mono)等。我们还有一个名为gtkam的GTK2参考GUI,它没有维护,唯一的特殊功能是捕获能力。 此外,还有其他程序的插件,如kio_camera(KDE - Konqueror)和fuse插件gphotofs。
报告错误
每一款软件都包含错误和缺陷。libgphoto2也不例外。当您遇到不工作的情况时,请执行以下操作:
-
查明这是否是一个已知问题。
-
在启用调试输出并将语言设置为英语的情况下重现问题,以便开发团队能够理解这些消息。您可以通过运行以下命令来实现这一点:
env LC_ALL=C gtkam
如果您使用的是gtkam前端,或者运行:
env LC_ALL=C gphoto2 --debug-logfile=logfile.log --debug <options>
使用gphoto2命令行界面。
-
如果调试输出较小,请在邮件列表上报告问题并附上相应的调试输出。如果超过几千字节,请不要在列表上发布完整的调试输出。