Dlaczego większość kamer nie przechowuje nazw plików na podstawie daty i godziny?

11

Zauważam, że podczas robienia zdjęć za pomocą telefonu z aparatem nazwa pliku składa się z daty i godziny. (np. 20131101-110015.jpg)

Jednak większość aparatów typu wyceluj i zrób zdjęcie oraz lustrzanek cyfrowych nie. Ich nazwa pliku jest zwykle w sekwencji takiej jak DCM0011.jpg

Czy istnieje sposób, abyśmy mogli ustawić opcję kamery, aby utworzyła plik o nazwie zawierającej datę i godzinę?

W odniesieniu do aparatu Point and Shoot Camera Samsung EX1 vs telefon z aparatem Samsung Galaxy S2

Jacek
źródło
Chciałbym, żeby to była opcja! Canon 5D MkIII ma ograniczoną kontrolę nazw plików, ale to raczej przypadek 3 liter ...> _> Dzięki lustrzankom cyfrowym, które mogą robić wiele zdjęć na sekundę, nazwa pliku jest coraz dłuższa
NULLZ
Marka Olympus ma prosty system: zwykle zaczyna swoją nazwę od „P” lub „_” (nie pamiętam, co to znaczy, ale jest związane z przestrzenią kolorów), a następnie cyfrą miesiąca: 1,2,3,4 , 5,6,7,8,9, A, B, C, dwie cyfry dnia i cztery inne cyfry korelacji. Tak więc plik PC083651 został zastrzelony 8 grudnia. Jest to naprawdę BARDZO przydatne i przynajmniej nigdy nie miałem problemu. To dziwne, jeśli strzelałeś podczas 31 grudnia o północy, ponieważ „starszy” plik nagle znalazł się na szczycie listy uporządkowanej alfabetycznie. Może mają patent, a to powstrzymuje resztę.
Jahaziel
3
Jeśli zawierają datę, powinna być w formacie ISO 8601. Wszystko inne byłoby zagmatwane. Również format ISO oznacza, że ​​będzie poprawnie sortować.
vclaw
1
Myślę, że większości ludzi łatwiej jest zdobyć wszystkie zdjęcia w jednym miejscu. Dla zwykłych ludzi taka konwencja oznaczałaby, że pamięć aparatu zawiera niewiele zdjęć w każdym folderze. Tworzenie skryptów do importowania zdjęć i wykorzystywanie danych exif do aranżowania ich w
dowolny sposób jest
2
Zauważ, że sam system plików ma znacznik czasu. Konwencja porządkowania jest nadal potrzebna w przypadkach, gdy szybkość tworzenia obrazu jest większa niż rozdzielczość timera i / lub obsługi systemu plików (nie sądzę, że FAT32 obsługuje milisekundy?). Ponadto, w normalnym użyciu, prawdopodobnie dla dużej części użytkowników będzie to 1 stycznia 1970 roku.
Yorik,

Odpowiedzi:

16

Sprowadza się to do patentów na oprogramowanie - nie na daty, ale w sposób ograniczający nazwy plików. Jedynym powszechnie dostępnym i wieloplatformowym systemem plików jest FAT, czcigodny system plików Microsoft DOS. Działa zarówno na starych, jak i nowych wersjach systemu Windows, działał na systemie OS / 2, działa na komputerach Mac, działa na systemie Linux, a także jest wiele wbudowanych implementacji dla małych systemów operacyjnych działających na aparatach. Jest na tyle stary, że jest własnością publiczną.

Ale jest haczyk. Oryginalna wersja dopuszczała tylko nazwy plików składające się z ośmiu znaków plus kropka plus trzyliterowe rozszerzenie. Rozszerzenia, które pozwalają na dłuższe nazwy plików, są znacznie nowsze i jakiś czas temu Microsoft robił poważne grzechotanie szablą o zbieranie tantiem. Oznacza to, że większość kamer - i standard DCIM - wybierają bezpieczną trasę i unikają kodu w celu generowania długich nazw plików. A to oznacza, że ​​ważna dla człowieka data i godzina nie są opłacalne, ponieważ są po prostu zbyt długie.

Jest to poparte instrukcją techniczną dla wbudowanego sterownika karty SD , która stwierdza:

Microsoft oferuje licencje na korzystanie z systemu archiwizacji FAT na podstawie liczby sprzedanych jednostek. Jednak ogólnie uważa się, że dotyczy to tylko aplikacji, które implementują opatentowany system długich nazw plików (LFN). Rozumiemy, że jeśli nie używa się długich nazw plików, nie jest pobierana żadna opłata licencyjna, jednak należy się upewnić, czy zgadzasz się z tym poglądem (o ile nam wiadomo, Microsoft nie stwierdził tego, ale inni ustalili to na podstawie oryginalnych wydań FAT standard Microsoft).

Kamery lub kamer w którym zrobienia zapisu dłuższe nazwy zostały zapłacone Microsoft, używasz innego systemu plików, czy nie obawiasz się o zagrożeniu prawnej.

Proszę przeczytać mój profil
źródło
Masz to! To właściwie ograniczenie. Nawet daty dla aparatów obsługujących nazwy plików z datami są dziwnie kodowane z miesiącem po październiku jako pojedyncza litera, aby pasowały.
Itai
1
FAT32 może obsługiwać więcej niż 8,3 i nie jest obciążony, o ile wiem. Kwestie związane z datami kultury i sortowaniem nazw to większy problem.
AJ Henderson
3
@AJ Niestety sytuacja nie jest tak różowa. Dotyczy to w szczególności obsługi długich nazw plików w VFAT / FAT32; konkretnie USPTO 5579517 . Zostało to odrzucone podczas przeglądu, ale kilka lat później przywrócono. Implementacja Linuksa ma obejście, które, jak się uważa, nie narusza (więcej na ten temat w LWN ), ale najprostszym obejściem jest uniknięcie tworzenia długich nazw plików.
Proszę przeczytać mój profil
Mogą to obejść, przechowując daty jako osobne foldery, a nie jako część nazwy pliku. W rzeczywistości to właśnie robi moja Sony a390 (choć ta opcja jest domyślnie wyłączona)
BlueRaja - Danny Pflughoeft
W rzeczywistości FAT obsługuje tylko 11-znakowe nazwy pozycji katalogu. Są one zwykle wyświetlane jako 8 + 3, ale w dawnych czasach nie było wcale tak rzadkie, aby używać wszystkich 11 dostępnych znaków jako nazwy bez określonego rozszerzenia. Oczywiście w dzisiejszych czasach korzystanie z rozszerzeń jest powszechne i wszystko inne w najlepszym razie spowodowałoby wiele zamieszania.
CVn
7

Większość aparatów nie przechowuje plików według danych i czasu po prostu dlatego, że nikt nie napisał kodu w oprogramowaniu aparatu, aby to zrobić.

Jednym z możliwych powodów, dla których nikt nie napisał tego kodu, jest to, że format daty / godziny jest nielegalny zgodnie ze standardem DCF, który opisuje, w jaki sposób kamery powinny przechowywać obrazy w celu zachowania zgodności z innymi kamerami, urządzeniami wyświetlającymi i drukarkami ( link wikipedia , faktyczny standardowy dokument ).

Innym powodem, dla którego nikt nie napisał kodu, jest to, że pisanie kodu, nawet pozornie prostego kodu, wymaga więcej czasu, niż myślisz (co zrobić, gdy zmieniasz tryby nazw plików, co zrobić, gdy plik o takiej nazwie już istnieje, czy będzie działał z oprogramowaniem na płycie CD dołączonej do aparatu? a teraz musisz wszystko przetestować dwa razy, raz w starym trybie nazwy pliku i raz w trybie daty i godziny ...) - i wszystko to działa w przypadku funkcji, która nie będzie sprzedawać więcej kamer - więc cały ten czas lepiej spędzić gdzie indziej.

Teraz, jak to zrobić za pomocą aparatów, szybkie wyszukiwanie w instrukcji obsługi Samsung EX1 nie znalazło sposobu na zmianę nazw plików, więc prawdopodobnie nie jest to możliwe.

Nir
źródło
1
Myślę, że drugi akapit tutaj jest ważny: standard określa <3 litery> _ <4 cyfry>, a data i godzina nie pasują do tego.
Philip Kendall,
@ PhilipKendall - zawsze możesz po prostu nie być w ogóle zgodny z DCF (jak jego telefon) - lub mieć dwa tryby, tryb DCF dla osób, które chcą kompatybilności ze wszystkimi drukarkami i ramkami do zdjęć oraz tryb daty / czasu dla osób, którym zależy na nazwy plików (a następnie przejdziesz do mojego trzeciego akapitu, koszt tych opcji nie jest trywialny).
Nir
3
@PaulCezanne - Nie zgadzam się, z technicznego punktu widzenia można użyć tylko jednego rozsądnego formatu daty / godziny - liczby milisekund od epoki UNIX oczywiście w strefie czasowej UTC
Nir
5
Myślę, że wprowadza wiele zmiennych poza „kontrolą programistów”. Na przykład, w jaki sposób aparat reaguje na 14 zdjęć na sekundę? Ponadto, ponieważ czas i daty zmieniają się, możliwe jest zrobienie zdjęcia, a następnie godzinę później, zmianę czasu z powrotem na godzinę wcześniej, a następnie zrobienie zdjęcia. Co wtedy zrobi aparat? Zbyt wiele warunków, że proste przyrostowe numery plików ładnie rozwiązują.
cmason
1
@PililKendall - prawda, ale głębsze pytanie brzmi, dlaczego standardy to określają. Krótka odpowiedź to kulturowy agnostycyzm i właściwe sortowanie według nazwy. Również znacznik daty i godziny utworzenia pliku przechwytuje datę i godzinę jako znacznik czasu niezależny od kultury.
AJ Henderson
3

Chodzi głównie o długości nazw plików w momencie opracowywania zasad projektowania systemów plików z kamerami . Wiele powszechnie używanych systemów operacyjnych w tym czasie nie pozwalało na nazwy plików wystarczająco długie, aby pomieścić znaczniki daty / czasu z wystarczającą ilością szczegółów, aby odróżnić, na przykład, dwa zdjęcia wykonane w tej samej minucie, a tym bardziej w tej samej sekundzie. Istnieją również specyfikacje EXIF, które mogą być jeszcze bardziej restrykcyjne.

Prawie każda nowoczesna aplikacja do zarządzania cyfrowymi plikami obrazów od zewnętrznych dostawców (Lightroom, On1, CaptureOne itp.) Lub twórców aparatów fotograficznych (EOS Utility / Digital Photo Professional, ViewNX itp.) Pozwala na przypisywanie nowych nazw plików do obrazów podczas importowania je na komputerze. W większości z nich ustawienie automatycznego przypisywania nowej nazwy pliku podczas importu na podstawie daty i godziny jest dość proste. Ponieważ współczesne liczby klatek są takie, jakie są, potrzebujesz nazwy pliku, która odróżniałaby 10 lub więcej klatek wykonanych w tej samej sekundzie dla wielu kamer. Potem jest cały problem importowania zdjęć wykonanych przy użyciu dwóch różnych aparatów (ślub z wieloma strzelankami itp.) W tym samym czasie (lub prawie w tym samym czasie, ale z zegarem na każdej kamerze przesuniętym na tyle, aby niektóre zdjęcia „

Michael C.
źródło
2
Rozszerzenia katalogów FAT o dłuższe nazwy zostały opatentowane przez Microsoft, więc unikano długich nazw plików, mimo że były one dobrze znane i trywialne w implementacji. Stąd bierze się limit 8 znaków.
Mark Ransom,
Tak. Dlatego odpowiedź brzmi: „... nie dopuszczono wystarczająco długich nazw plików ...” zamiast „ nie można zezwolić na nazwy plików ...”
Michael C
3

Tak, jest konkretny powód. Takie postępowanie nie jest najprostszym zastosowaniem normy. Zgodność z najprostszym zastosowaniem normy ułatwia interoperacyjność między producentem, oprogramowaniem i czasem . Nowe oprogramowanie może obsługiwać operacje na poziomie plików na starych obrazach. Stare oprogramowanie prawdopodobnie obsługuje operacje na poziomie plików na nowych obrazach.

Istnieją również niespecyficzne powody. Jednym z nich jest to, że datę i godzinę można lepiej zakodować w EXIF ​​wraz z innymi istotnymi danymi, takimi jak model aparatu, przysłona, balans bieli itp., A umieszczenie go w nazwie pliku jest zbędne i otwiera puszkę robaków, która dystrybuuje dane (czyli prawda kanoniczna, EXIF ​​lub nazwa pliku?). Mówiąc prościej, nazwy plików są kwestią osobistych preferencji: jedna osoba może chcieć znaczników czasu, innego modelu obiektywu lub odległości ustawiania ostrości, czasu otwarcia migawki lub punktu bieli.

Pamiętaj, że twój aparat to komputer, a nadawanie nazw, unieważnianie pamięci podręcznej i błędy indywidualne to dwa trudne problemy informatyki.

Proszę przeczytać mój profil
źródło
1

Nie robi tego żaden aparat cyfrowy, ale wiele telefonów z Androidem, więc prawdopodobnie jest to po prostu historyczny. Jak powiedziałeś, potrzebujesz co najmniej subsekundowej dokładności, ponieważ większość kamer może strzelać więcej niż raz na sekundę, nawet w trybie pojedynczego strzału. Przy nowoczesnych szybkościach serii przy 60 klatkach na sekundę potrzebujesz co najmniej dwóch cyfr, więc godziny + minuty + sekundy + setne to już 8 znaków i nie ma miejsca na prefiks, więc jesteś poza limitem FAT, który był w użyciu kiedy zaczęła się obecna konwencja.

W każdym razie nie sądzę, że dużo to kupuje. Czy wiesz, które zdjęcie zrobiłeś, patrząc na nie, jeśli nazwa była znacznikiem czasu? Co jeśli czas w aparacie był nieprawidłowy lub znajdowałeś się w innej strefie czasowej? Kilka osób trzyma swoje kamery w UTC, ale większość ma ustawiony czas lokalny. Zatem numer porządkowy jest tak dobry, jak każda inna konwencja do rozróżniania obrazów. Osobiście bardziej mnie martwi to, że obrazy plują do folderów i zapominam o pobraniu lub utworzeniu kopii zapasowej następnego.

Itai
źródło
-1

Głównym powodem jest to, że formaty dat również nie są standardem międzynarodowym i nie zawsze można je sortować według kolejności. Na przykład, jeśli miałbym przeglądać pliki w kolejności w Stanach Zjednoczonych, wówczas format mmddyyyy, a następnie pliki z marca 2003 r. Byłyby wymienione po plikach ze stycznia 2012 r. Użycie ciągłej sekwencji gwarantuje, że pliki zostaną posortowane według czasu ich nagrania sortowane według nazwy. Sama data / czas pliku przechowuje datę i godzinę w formacie zgodnym na arenie międzynarodowej, a metadane na samym obrazie również zawierają informacje.

Innym powodem, dla którego mogę wymyślić, jest to, że potrzebujesz reprezentowanej w sekundach dokładności dla reprezentowanego czasu. W przypadku większości lustrzanek cyfrowych można wykonać wiele zdjęć na sekundę. Mój aparat na przykład wykonuje od 6 do 7 zdjęć w ciągu 1 sekundy, jeśli przytrzymam przycisk.

Krótko mówiąc, główne 4 powody to zapobieganie pomyłkom wynikającym z różnic kulturowych, zapewnienie właściwej kolejności sortowania według nazw plików, ponieważ można zrobić wiele zdjęć na sekundę, a data i godzina są już przechowywane w czasie tworzenia pliku.

AJ Henderson
źródło
5
Obowiązkowe XKCD: xkcd.com/1179
Proszę przeczytać mój profil