3

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

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

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

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

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

4

2 回答 2

1

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

lsusb

或者

lsusb -v

将向您展示一些差异。

另一种方法是比较输出

udevadm --env

插入相机时。

编辑:一个非常简单的相机特定解决方案是设置不同的所有者名称

gphoto2 --set-config ownername=cameraX

并阅读它

gphoto2 --get-config ownername

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

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

gphoto2 --mkdir MYINDIVIDUALFOLDERNAME

然后可以看到:

gphoto2 --list-folders
于 2016-08-20T14:36:21.203 回答
0

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

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

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

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

于 2021-02-02T21:40:20.217 回答