Tôi tò mò liệu có ai có thể cho tôi cái nhìn sâu sắc về vấn đề hiện tại mà tôi đang gặp phải không.
Đối với một số bối cảnh, vợ tôi và tôi có một điện thoại Android (Moto G5 Plus). Các điện thoại đồng bộ hóa tất cả các mục trong thư mục DCIM với Máy chủ Ubuntu của tôi qua SFTP. Các mục được lưu trữ trong thư mục "unsort_pictures". Mỗi đêm, một công việc định kỳ chạy, thực thi một tập lệnh tự động sao chép nội dung từ unsort_pictures sang hình ảnh / năm / tháng. Sau này (sau khi điện thoại tối đa trong không gian) tôi sẽ xóa thư mục unsort_pictures làm bước bảo trì.
Kịch bản, cho bất cứ điều gì nó có giá trị, như sau:
#!/bin/bash
exiftool -overwrite_original_in_place -P -if 'not $CreateDate' '-CreateDate<FileModifyDate' -r /mnt/vault/unsorted_pictures/staging
exiftool -o . '-Directory<CreateDate' -d /mnt/vault/pictures/%Y/%m -r /mnt/vault/unsorted_pictures/staging
exit
Về cơ bản, dòng exiftool đầu tiên sẽ kiểm tra xem CreatDate có tồn tại không. Nếu không, nó sử dụng FileModifyDate để tạo tham số CreateDate. Điều này thực sự chỉ hữu ích cho các hình ảnh được lưu thông qua các cuộc hội thoại trên Hangouts vì Google dường như loại bỏ dữ liệu exif. (?!) Sau đó, dòng exiftool thứ hai thực hiện sao chép + sắp xếp.
Quá trình này là tuyệt vời và tôi rất hài lòng với nó. Mặc dù có một snafu - các tệp video dường như được ghi trong thời gian UTC, trong khi các hình ảnh dường như được ghi lại theo giờ địa phương. Dưới đây là một tệp video đã được chụp, ngay lập tức được chuyển đến máy chủ của tôi và exiftool đã được chạy với nó để kiểm tra tất cả các dấu thời gian.
administrator@vault:/mnt/vault/unsorted_pictures$ exiftool -time:all -s VID_20171225_214456599.mp4
FileModifyDate : 2017:12:25 21:47:02-05:00
FileAccessDate : 2017:12:25 21:47:00-05:00
FileInodeChangeDate : 2017:12:25 21:47:02-05:00
CreateDate : 2017:12:26 02:45:00
ModifyDate : 2017:12:26 02:45:00
TrackCreateDate : 2017:12:26 02:45:00
TrackModifyDate : 2017:12:26 02:45:00
MediaCreateDate : 2017:12:26 02:45:00
MediaModifyDate : 2017:12:26 02:45:00
administrator@vault:/mnt/vault/unsorted_pictures$ date
Mon Dec 25 21:47:23 EST 2017
Như bạn có thể thấy, dường như CreatDate được đặt vào một thời điểm trong tương lai. Hơn nữa bên dưới tôi đã chạy lệnh 'ngày' để bạn có thể thấy giờ địa phương hiện tại khi điều này diễn ra. Ở dòng trên, bạn có thể thấy các dấu thời gian kết thúc bằng 05:00, theo hiểu biết của tôi rằng đó là sự khác biệt về thời gian với UTC.
Về câu hỏi thực tế của tôi:
1) Tôi đã thử nhiều ứng dụng camera trên Motorola, nhưng tất cả chúng đều mang lại hành vi giống hệt nhau. Điều này cho thấy rằng đó không phải là một cài đặt dành riêng cho ứng dụng. Có cách nào để giữ cho video của tôi không bị ghi ở định dạng UTC không? Hình ảnh là tốt, nó chỉ là video. Tôi thấy điều này hơi lạ, nhưng tìm kiếm trực tuyến cho thấy nó phổ biến, nhưng tôi chưa nghe và hiểu lý do tại sao.
2) Tôi chắc chắn rằng tôi có thể thêm một số logic trong tập lệnh của mình để chỉ cần sắp xếp hình ảnh thông qua CreatDate và sắp xếp các loại tệp video qua FileModifyDate hoặc thậm chí thêm một số tham số bổ sung để cập nhật lại một cách có hệ thống tất cả các video sau 5 giờ. Nhưng tôi đã tự hỏi, có một phương tiện để exiftool nhìn vào một tập tin mp4 và thừa nhận sự khác biệt thời gian UTC? Tôi biết các tệp video là một quái thú khác và exiftool chủ yếu tập trung vào hình ảnh, nhưng ngay cả khi, exiftool thực hiện công việc tốt như vậy với việc thừa nhận siêu dữ liệu ngay cả trên các video này, tôi nghĩ có thể có cách để điều chỉnh nó để xem thời gian không thuộc UTC. Hoặc có lẽ không có hy vọng nếu điện thoại được ghi trong thời gian UTC. /nhún vai
Có lẽ đây là lý do thậm chí nhiều hơn để sắp xếp theo năm / tháng thay vì năm / tháng / ngày, vì tôi thậm chí sẽ không nói rằng các video được thay đổi trong 5 giờ vì tất cả chúng sẽ nằm trong thư mục của tháng đó. Nhưng tôi vẫn thấy mình bị hấp dẫn bởi điều này và tự hỏi ... tại sao?
Bất kỳ trợ giúp hoặc cái nhìn sâu sắc sẽ được rất nhiều đánh giá cao!