Trong phần tiếp theo, chúng ta sẽ xem xét về ExifTool. Đây là một chương trình mã nguồn mở miễn phí để đọc, viết và thao tác với siêu dữ liệu hình ảnh, âm thanh, video và PDF. Nó độc lập với nền tảng chúng tôi sử dụng. Nó có sẵn dưới dạng thư viện Perl và ứng dụng dòng lệnh.
Siêu dữ liệu của ảnh là dữ liệu bổ sung được thêm vào tệp. Chẳng hạn như máy ảnh mà một bức ảnh được chụp hoặc thời gian nó được chụp. Các loại siêu dữ liệu hình ảnh này có thể ở nhiều định dạng khác nhau. Thông tin được chứa trong siêu dữ liệu có thể thuộc bất kỳ loại nào, từ tên công ty, đến tên máy tính, thông qua các thẻ, ngày sửa đổi, vị trí, v.v.
ExifTool hỗ trợ nhiều định dạng siêu dữ liệu khác nhau bao gồm EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP và ID3, cũng như siêu dữ liệu hình ảnh máy ảnh kỹ thuật số. Như bạn có thể đánh giá cao siêu dữ liệu không chỉ dành cho hình ảnh, nhưng có thể được áp dụng cho tất cả các loại tệp.
Mặc dù những chi tiết này có thể rất hữu ích để phân loại bất kỳ loại tệp nào, chúng cũng có thể chứa thông tin nhạy cảm. Vì vậy, chúng tôi cũng sẽ phải cẩn thận với các tệp chúng tôi chia sẻ vì chúng có thể mang thông tin mà chúng tôi không muốn chia sẻ.
Cài đặt ExifTool
Chúng ta có thể cài đặt ExifTool trong Ubuntu một cách đơn giản. Chúng ta chỉ cần mở một terminal (Ctrl + Alt + T) và thực hiện lệnh sau:
sudo apt install libimage-exiftool-perl
Với điều này, chúng tôi sẽ cài đặt chương trình. Bây giờ chúng ta có thể làm việc với nó thông qua bảng điều khiển.
Sử dụng siêu dữ liệu với ExifTool
Một số lệnh chính mà chương trình chấp nhận như sau:
Lệnh sau sẽ hiển thị cho chúng ta tất cả siêu dữ liệu được liên kết với hình ảnh mà chúng ta chỉ ra.
exiftool imagen.jpg
Lệnh này sau đó sẽ xóa tất cả siêu dữ liệu bổ sung được liên kết với tệp.
exiftool -all= imagen.jpg
Lệnh sau chỉ định một giá trị cho một TAG trong GROUP được chỉ định.
exiftool -[GROUP:]TAG=VALUE imagen.jpg
Với những lệnh này, giờ đây chúng ta có thể quản lý tất cả siêu dữ liệu của hình ảnh. Nếu bạn muốn biết thêm về các thẻ và nhóm có sẵn để quản lý chúng theo ý muốn của mỗi người, bạn có thể lấy thêm thông tin trong này website. Một cách nhìn khác nhiều tùy chọn hơn của lệnh exiftool sẽ sử dụng sự trợ giúp của con người trong hệ điều hành của chúng tôi.
Các ví dụ khác để quản lý siêu dữ liệu
Tiếp theo, chúng ta sẽ xem một số ví dụ để biết cách quản lý siêu dữ liệu:
Để thêm hoặc sửa đổi tọa độ GPS vào một bức ảnh, chúng ta sẽ phải viết một cái gì đó như sau:
exiftool -exif:gpslatitude="27 33" -exif:gpslatituderef=S -exif:gpslongitude="165 130" -exif:gpslongituderef=E fotografia.jpg
Gắn thẻ có điều kiện với tùy chọn -if. Điều này có nghĩa là bạn có thể sửa đổi một loạt siêu dữ liệu nếu nó đáp ứng một điều kiện, ví dụ:
exiftool -alldates+=1 -if '$CreateDate ge "2017:11:02"' DIRECTORIO-IMAGENES
Nó sẽ sửa đổi thời gian của hình ảnh trong TRỰC TIẾP-HÌNH ẢNH. Đối với những hình ảnh này, 1 giờ sẽ được thêm vào nếu chúng được tạo sau ngày 2 tháng 2017 năm XNUMX và chỉ cho những hình ảnh đó. Tùy chọn -alldates là một bí danh cho tất cả các dấu thời gian mà bạn có thể tìm thấy trong tệp jpeg (Datetimeoriginal, CreateDate và ModifyDate). Bạn có thể tìm hiểu về những điều này và các tùy chọn exiftool khác tại trang này.
Điều kiện -if là chung chung, có nghĩa là bạn có thể sử dụng nó theo cách bạn muốn miễn là cú pháp Perl được tôn trọng. Bạn có thể nối nhiều biểu thức với -if trong một lệnh gọi đến exiftool nếu cần. Hãy nhớ rằng tên của các nhãn trong điều kiện phải có tiền tố "$", giống như các biến trong perl. Ai cần thì có thể tìm thêm ví dụ và ý tưởng trong web này.
Một điều tuyệt vời khác về Exiftool là bạn không phải viết lại siêu dữ liệu EXIF của một hình ảnh. Tùy chọn -TagsFromFile sao chép tất cả các thẻ từ tệp được chỉ định sang tệp được cung cấp làm đối số cuối cùng. Ví dụ:
exiftool -TagsFromFile tagged-img-fuente.jpg untagged-img-destino.jpg
Mặt khác, tùy chọn -w ghi dữ liệu EXIF được tìm thấy trong một hình ảnh vào một tệp văn bản. Nếu bạn thêm -htmlDump thì nó sẽ ghi chúng vào một tệp HTML. Nếu những gì bạn cần là xuất tất cả siêu dữ liệu sang cơ sở dữ liệu, thì cách tốt nhất để làm điều đó là sử dụng lệnh sau:
exiftool -t -S IMG-DIRECTORIO | grep -v ^====> img-tags-valores.txt
Bạn có thể tìm thấy một ví dụ khác về cách nó được thực hiện trong liên kết.
Gỡ cài đặt exiftool
Để loại bỏ chương trình này khỏi hệ điều hành của chúng tôi, chúng tôi sẽ chỉ phải mở một thiết bị đầu cuối (Ctrl + Alt + T). Trong đó chúng ta sẽ viết thứ tự như sau:
sudo apt remove libimage-exiftool-perl && sudo apt autoremove
Xin chào, điều đó xuất hiện trong thiết bị đầu cuối.
exiftool - [GROUP:] TAG = VALUE parrot.jpg
Cảnh báo: Thẻ '] TAG' không tồn tại
Không có gì làm.
Khi cố gắng khôi phục exif
exiftool -TagsFromFile được gắn thẻ-img-20180625_0032.CR2 không được gắn thẻ-img-parrot.jpg
Tệp 'được gắn thẻ-img-20180625_0032.CR2' không tồn tại cho tùy chọn -tagsFromFile