Usar cámaras de fotos (MTP/PTP) que no se montan como dispositivos USB normales

Algunas cámaras digitales se montan como dispositivos de almacenamiento USB normales, pero otras lamentablemente no y requieren del uso de libgphoto2 en sistemas GNU/Linux para ser accedidas. En algunas cámaras es posible cambiar el modo de acceso PTP / USB / etc y muchas veces ni es necesario instalar libgphoto2.

La librería libgphoto2 permite a las aplicaciones acceder a la cámara fotográfica, la gran mayoría de usuarios puedes instalar en sus equipos software como “Digikam” el cual lo hace todo automático y de forma gráfica. Nosotros vamos a mostrar la forma de poder acceder desde consola instalando el menor número de paquetes posibles.

Listado de cámaras compatibles con libgphoto2: http://www.gphoto.org/proj/libgphoto2/support.php

Paquetes a instalar: libgphoto2 y gphoto2

Forma de uso desde terminal.

Listar puertos del sistema

gphoto2 --list-ports
Dispositivos encontrados: 12
Ruta                             Descripción
--------------------------------------------------------------
ptpip:                           PTP/IP Connection               
serial:/dev/ttyS0                Puerto serie 0                  
serial:/dev/ttyS1                Puerto serie 1                  
serial:/dev/ttyS2                Puerto serie 2                  
serial:/dev/ttyS3                Puerto serie 3                  
usb:003,014                      Universal Serial Bus            
usb:003,009                      Universal Serial Bus            
usbdiskdirect:/dev/sdd           USB Mass Storage direct IO      
usbdiskdirect:/dev/sde           USB Mass Storage direct IO      
usbscsi:/dev/sg4                 USB Mass Storage raw SCSI       
usbscsi:/dev/sg5                 USB Mass Storage raw SCSI       
usbscsi:/dev/sg6                 USB Mass Storage raw SCSI       

Escanear en busca de cámaras / dispositivos compatibles.

gphoto2 --auto-detect
Modelo                         Puerto                                          
----------------------------------------------------------
Canon EOS 400D (PTP mode)      usb:003,014     

Obtener información de la cámara.

gphoto2 --summary
Resumen de la cámara:                                                          
Manufacturer: Canon Inc.
Model: Canon EOS 400D DIGITAL
  Version: 3-1.1.0
  Serial Number: 000000000000000000000000524dda80
Vendor Extension ID: 0xb (2.0)
 
Capture Formats: JPEG
Display Formats: Association/Directory, Script, MS AVI, MS Wave, JPEG, CRW, Unknown(b103), Unknown(bf02), Defined Type
 
Device Capabilities:
	File Download, File Deletion, File Upload
	No Image Capture, No Open Capture, Canon EOS Capture
 
Storage Devices Summary:
store_00010001:
	StorageDescription: CF
	VolumeLabel: 
	Storage Type: Removable RAM (memory card)
	Filesystemtype: Digital Camera Layout (DCIM)
	Access Capability: Read-Write
	Maximum Capability: 2017099776 (1923 MB)
	Free Space (Bytes): 1643085824 (1566 MB)
	Free Space (Images): -1
 
Device Property Summary:
Event Emulate Mode(0xd045):(readwrite) (type=0x4) Enumeration [1,2,3,4,5,6,7] value: 2
Property 0xd402:(read only) (type=0xffff) 'Canon EOS 400D DIGITAL'
Property 0xd407:(read only) (type=0x6) 1
Property 0xd406:(readwrite) (type=0xffff) 'Unknown Initiator'
Model ID(0xd049):(read only) (type=0x6) 2147484214
Property 0xd04a:(readwrite) (type=0x2) Enumeration [0,1,2,3] value: 0

Listar el contenido de la cámara

gphoto2 --list-files
There is no file in folder '/'.                                                
There is no file in folder '/store_00010001'.
There is no file in folder '/store_00010001/DCIM'.
There are 109 files in folder '/store_00010001/DCIM/100CANON'.
#1     IMG_0030.JPG               rd  3757 KB image/jpeg
#2     IMG_0031.JPG               rd  3700 KB image/jpeg
#3     IMG_0032.JPG               rd  3708 KB image/jpeg
#4     IMG_0033.JPG               rd  3434 KB image/jpeg
#5     IMG_0034.JPG               rd  3520 KB image/jpeg

Descargar fichero/s

gphoto2 --get-file IMG_0034.JPG # Un solo fichero.
gphoto2 --get-all-files # Todos los ficheros de la cámara.

Shell de gphoto (Permite un uso más sofisticado, como hacer fotos, borrar, crear directorios, etc)

$ gphoto2 --shell
gphoto2: {/home/busi/caca} /> cd /store_00010001/DCIM/100CANON                 
El directorio remoto es ahora «/store_00010001/DCIM/100CANON».
gphoto2: {/home/busi/caca} /store_00010001/DCIM/100CANON> ls
IMG_0030.JPG        IMG_0031.JPG        IMG_0032.JPG        IMG_0033.JPG        
IMG_0034.JPG        
gphoto2: {/home/busi/caca} /store_00010001/DCIM/100CANON> help
Mandatos disponibles:
	cd              Cambiar a un directorio en la cámara
	lcd             Cambiar a un directorio en el disco local
	exit            Salir del intérprete gPhoto
	get             Descargar un fichero
	put             Upload a file
	get-thumbnail   Descargar una miniatura
	get-raw         Descargar datos en bruto
	show-info       Mostrar información
	delete          Borrar
	mkdir           Create Directory
	rmdir           Remove Directory
	show-exif       Mostrar la información EXIF
	help            Muestra la sintaxis de los mandatos
	ls              Lista el contenido del directorio actual
	list-config     List configuration variables
	get-config      Get configuration variable
	set-config      Set configuration variable
	set-config-indexSet configuration variable index
	set-config-valueSet configuration variable
	capture-image   Capture a single image
	capture-image-and-downloadCapture a single image and download it
	capture-preview Capture a preview image
	wait-event      Wait for an event
	capture-tetheredWait for images to be captured and download it
	wait-event-and-downloadWait for events and images to be captured and download it
	q               Salir del intérprete gPhoto
	quit            Salir del intérprete gPhoto
	?               Muestra la sintaxis de los mandatos

NOTA: Hay otra serie de paquetes que pueden mostrar la cámara como un dispositivo USB cualquier y verlo montado sobre el sistema como un usb más. se recomienda la lectura del manual de gphoto2 para poder sacarle el máximo partido.