如何识别2相同类型的相机gphoto2

时间:2016-07-22 15:56:38

标签: libgphoto2

假设我有两个完全相同类型的相机,如果我不知道它们插入哪个端口,我将如何正确使用一个而不是另一个?

我知道您可以按名称选择相机,但它们都具有相同的名称。我知道您可以通过驱动器进行选择,但我无法确定用户将摄像机插入哪个端口。

这意味着我必须迭代摄像机并根据摘要选择正确的摄像机。不幸的是,如果摄像机的类型与其他连接的摄像机的类型相同,我无法分辨相机的静态唯一标识属性。

如果我输入gphoto2 --camera-summary,我会得到:

Camera summary:                                                                
Manufacturer: Canon Inc.
Model: Canon EOS Rebel T6i
  Version: 3-1.0.0
Vendor Extension ID: 0xb (1.0)

Capture Formats: JPEG
Display Formats: Association/Directory, Script, DPOF, MS AVI, MS Wave, JPEG, CRW, Unknown(b103), Unknown(bf02), Defined Type, Unknown(b104), Unknown(b105), Unknown(b982)

Device Capabilities:
    File Download, File Deletion, File Upload
    No Image Capture, No Open Capture, Canon EOS Capture, Canon EOS Shutter Button
    Canon Wifi support

Storage Devices Summary:
store_00020001:
    StorageDescription: SD
    VolumeLabel: None
    Storage Type: Removable RAM (memory card)
    Filesystemtype: Digital Camera Layout (DCIM)
    Access Capability: Read-Write
    Maximum Capability: 31902400512 (30424 MB)
    Free Space (Bytes): 21192966144 (20211 MB)
    Free Space (Images): -1

Device Property Summary:
Model ID(0xd049):(read only) (type=0x6) 2147484563
Property 0xd402:(read only) (type=0xffff) 'Canon EOS Rebel T6i'
Property 0xd407:(read only) (type=0x6) 1
Property 0xd406:(readwrite) (type=0xffff) 'Unknown Initiator'
Property 0xd303:(read only) (type=0x2) 1
Battery Level(0x5001):(read only) (type=0x2) Enumeration [100,0,75,0,50] value: 100% (100)

其中不包含序列号等属性。

我也试过gphoto2 --get-config serialnumber但得到了一个奇怪的结果:

Label: Serial Number                                                           
Type: TEXT
Current: None

任何帮助都会很棒,感谢阅读!

2 个答案:

答案 0 :(得分:1)

至于外部设备的一般情况:也许

lsusb

lsusb -v

会告诉你一些差异。

另一种方法是比较

的输出
udevadm --env

插入相机时。

编辑: 一个非常简单的相机特定解决方案是使用

设置不同的所有者名称
gphoto2 --set-config ownername=cameraX

并用

阅读
gphoto2 --get-config ownername

这种可能性取决于相机型号,可能所有Canon EOS都支持更改“所有者名称”,其他制造商的相机可能会提供类似的个人设置。

如果不能单独设置iso,shutterspeed等,则解决方法是在摄像机的内部存储器中创建一个文件夹。删除SD卡并创建一个文件夹:

gphoto2 --mkdir MYINDIVIDUALFOLDERNAME

然后可以看到:

gphoto2 --list-folders

答案 1 :(得分:0)

gphoto2 --auto-detect 帮助您显示所有相机型号和它们所连接的端口的列表。然后你可以使用如下命令迭代它们:

gphoto2 --camera=Canon\ EOS\ 1100D --port=usb:001,018 --capture-image

仅向连接到 usb:001,018 的相机发送命令 --capture-image 或更一般的表示: gphoto2 --camera=$CAMERA --port=$PORT $COMMAND 其中 $CAMERA 和 $PORT 可以从 gphoto2 --auto-detect 中指定。我已经设法通过这种方式从我的 PC 控制了不到 50 个摄像头。

相关问题