【问题标题】:How to identify 2 of the same type camera gphoto2如何识别2个同类型相机gphoto2
【发布时间】:2016-11-26 14:44:22
【问题描述】:

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

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

这意味着我必须遍历相机并根据摘要选择正确的相机。不幸的是,如果一个摄像头与其他连接的摄像头属于同一类型,我无法判断它是否存在静态唯一标识属性。

如果我输入 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

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

【问题讨论】:

    标签: libgphoto2


    【解决方案1】:

    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 个摄像头。

    如果您不知道端口,您会问如何迭代?你可以解析命令gphoto2 --auto-detect

    【讨论】:

      【解决方案2】:

      至于一般外接设备:也许

      lsusb
      

      lsusb -v
      

      将向您展示一些差异。

      另一种方法是比较输出

      udevadm --env
      

      插入摄像头时。

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

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

      和阅读它

      gphoto2 --get-config ownername
      

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

      如果无法单独设置 iso、快门速度等,解决方法是在相机的内存中创建一个文件夹。移除您的 SD 卡并创建一个文件夹:

      gphoto2 --mkdir MYINDIVIDUALFOLDERNAME
      

      然后可以看到:

      gphoto2 --list-folders
      

      【讨论】:

      • 一个非常简单的解决方案是使用“gphoto2 --set-config ownername=cameraX”设置不同的所有者名称并使用“gphoto2 --get-config ownername”读取它
      • 我确实设置了所有者名称,这就像一个魅力。我会将您的答案标记为正确,但我认为您应该在其中添加 set-config-ownername ,因为它绝对是解决此问题的更可靠的解决方案(将相机切换到另一个端口或 mac)。
      • 我已将使用“所有者名称”的解决方案添加到我的答案中。由于“所有者名称”是佳能特定设置,我添加了一个可能的基于文件夹名称的解决方案,它可能不太可靠,但更通用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多