Perché la maggior parte delle fotocamere non memorizza i nomi dei file in base alla data e all'ora?


11

Ho notato che quando si scattano foto utilizzando il telefono con fotocamera, il nome del file è costituito da data e ora. (ad es. 20131101-110015.jpg)

Tuttavia, la maggior parte delle fotocamere point and shoot e DSLR no. Il nome del loro file è solitamente in una sequenza come DCM0011.jpg

C'è un modo in cui possiamo impostare un'opzione della fotocamera in modo che crei il file con un nome che contenga la data e l'ora?

Con riferimento a una fotocamera Point and Shoot Samsung EX1 vs una fotocamera del telefono Samsung Galaxy S2


Io per primo mi piacerebbe che fosse un'opzione! Canon 5D MkIII ha un controllo limitato del nome del file, ma è più un caso di 3 lettere ...> _> Con le DSLR che possono scattare più foto al secondo, il nome del file diventa sempre più lungo
NULLZ

Il marchio Olympus ha un sistema semplice: di solito inizia i suoi nomi con una 'P' o '_' (non ricordare cosa significa ma è legato allo spazio colore), quindi una cifra per il mese: 1,2,3,4 , 5,6,7,8,9, A, B, C, due cifre per il giorno e altre quattro cifre per il correlativo. Pertanto, il file PC083651 è stato girato l'8 dicembre. È davvero MOLTO utile e almeno non ho mai avuto problemi. È strano solo se hai girato a mezzanotte del 31 dicembre, perché il file "più vecchio" si trova improvvisamente in cima alla lista in ordine alfabetico. Forse hanno un brevetto e impedisce al resto di farlo.
Jahaziel,

3
Se includessero la data, dovrebbe essere in formato ISO 8601. Qualcos'altro sarebbe confuso. Anche il formato ISO significa che verrà ordinato correttamente.
vclaw

1
Penso che sia più facile per la maggior parte delle persone ottenere tutte le foto in un unico posto. Per le persone normali una convenzione come questa significherebbe che la memoria della tua fotocamera avrebbe pochissime foto in ogni cartella. È anche banale creare script per importare foto e utilizzare i dati exif per disporli come preferisci, anche se la maggior parte delle persone probabilmente utilizza software come Lightroom per tutto questo
JimL,

2
Si noti che il file system stesso ha un timestamp. La convenzione di ordinamento è ancora necessaria per i casi in cui la velocità di creazione dell'immagine è maggiore della risoluzione del timer e / o del supporto del filesystem (non credo che FAT32 supporti i millisecondi?). Inoltre, nell'uso normale, il tempo sarà probabilmente il 1 gennaio 1970 per un ampio sottoinsieme di utenti.
Yorik,

Risposte:


16

Questo si riduce ai brevetti software, non alle date, ma in un modo che limita i nomi dei file. L'unico filesystem ampiamente disponibile e multipiattaforma è FAT, il venerabile filesystem Microsoft DOS. Funziona su entrambe le versioni vecchie e nuove di Windows, ha funzionato su OS / 2, funziona su Mac, funziona su Linux e ci sono molte implementazioni integrate per i mini sistemi operativi che girano su telecamere. È abbastanza vecchio da essere di dominio pubblico.

Ma c'è un problema. La versione originale consentiva solo nomi di file di otto caratteri più un punto più l'estensione di tre caratteri. Le estensioni che consentono nomi di file più lunghi sono molto più recenti, e qualche tempo fa Microsoft stava facendo un grosso scossone sulla raccolta di royalties. Ciò significa che la maggior parte delle telecamere - e lo standard DCIM - prendono la strada sicura ed evitano il codice per generare nomi di file lunghi. Ciò significa che la data e l'ora significative per l'uomo non sono praticabili, perché sono semplicemente troppo lunghe.

Questo è supportato da un manuale tecnico per un driver della scheda SD incorporato , che rileva:

Microsoft offre licenze per l'uso del proprio sistema di archiviazione FAT su base unitaria venduta. Tuttavia, si osserva generalmente che ciò si applica solo alle applicazioni che implementano il sistema brevettato di denominazione di file lunghi (LFN). Siamo consapevoli che se non vengono utilizzati nomi di file lunghi, non è previsto alcun costo di licenza, tuttavia è necessario accertarsi se si è d'accordo con questo punto di vista (a nostra conoscenza, Microsoft non lo ha dichiarato, ma altri lo hanno determinato in base alle versioni originali del FAT standard di Microsoft).

Macchine fotografiche o cellulari con fotocamera, che fanno i nomi dei file di scrittura più lunghi sono sia pagato Microsoft, si utilizza un file system diverso, o non sono preoccupati per la minaccia legale.


Avete capito bene! Questa è praticamente la restrizione. Anche le date per le telecamere che supportano i nomi dei file delle date sono codificate in modo bizzarro con il mese di ottobre come una singola lettera per adattarlo.
Itai,

1
FAT32 può supportare più di 8.3 e non è gravato per quanto ne so. I problemi di data culturale e l'ordinamento dei nomi è un problema maggiore.
AJ Henderson

3
@AJ Purtroppo la situazione non è così rosea. È in particolare il supporto del nome file lungo in VFAT / FAT32; in particolare USPTO 5579517 . Questo è stato lanciato in revisione ma poi ripristinato pochi anni dopo. L'implementazione di Linux ha una soluzione alternativa che si ritiene non violi (vedi di più su LWN ), ma la soluzione più semplice è quella di evitare la creazione di nomi di file lunghi.
Leggi il mio profilo il

Potrebbero aggirare questo problema memorizzando le date come cartelle separate, piuttosto che come parte del nome del file. In realtà, questo è esattamente ciò che fa la mia Sony A390 (anche se questa opzione è disattivata per impostazione predefinita)
BlueRaja - Danny Pflughoeft

In realtà, FAT supporta solo nomi di voci di directory di 11 caratteri. Questi sono comunemente visualizzati come 8 + 3, ma ai vecchi tempi, non era poi così raro usare semplicemente tutti gli 11 caratteri disponibili come nome senza estensione specifica. Certo, oggigiorno, l'uso delle estensioni è all'ordine del giorno e nella migliore delle ipotesi si potrebbe creare molta confusione.
un CVn

7

Il motivo per cui la maggior parte delle fotocamere non memorizza i file per data e ora è semplicemente perché nessuno ha scritto il codice nel software della fotocamera per farlo.

Una possibile ragione per cui nessuno ha scritto quel codice è che il formato data / ora è illegale secondo lo standard DCF che descrive come le telecamere devono archiviare le immagini per la compatibilità con altre fotocamere, dispositivi di visualizzazione e stampanti ( link Wikipedia , documento standard effettivo ).

Un altro motivo per cui nessuno ha scritto il codice è che scrivere codice, anche se apparentemente semplice, richiede più tempo di quanto si pensi (cosa fare quando si cambia modalità nome file, cosa fare quando esiste già un file con quel nome, funzionerà con il software nel CD in dotazione con la fotocamera? e ora devi testare tutto due volte, una volta con la vecchia modalità nome file e una volta con la modalità data e ora ...) - e tutto questo funziona per una funzionalità che non venderà più telecamere - quindi tutto quel tempo è meglio speso altrove.

Ora, per come farlo con le fotocamere, una rapida ricerca nel manuale dell'utente Samsung EX1 non ha trovato un modo per cambiare i nomi dei file, quindi probabilmente non è possibile.


1
Penso che il secondo paragrafo qui sia quello importante: lo standard specifica <3 lettere> _ <4 numeri>, e la data e l'ora non si adattano a questo.
Philip Kendall,

@PhilipKendall - puoi sempre non essere affatto conforme al DCF (come il suo cellulare) - o avere due modalità, una modalità DCF per le persone che desiderano la compatibilità con tutte le stampanti e le cornici e una modalità data / ora per le persone a cui importa nomi dei file (e poi arriva al mio terzo paragrafo, il costo di queste opzioni non è banale).
Nir il

3
@PaulCezanne - Non sono d'accordo, da un punto di vista ingegneristico c'è solo un ragionevole formato data / ora che puoi usare - il numero di millisecondi dall'epoca di UNIX ovviamente, nel fuso orario UTC
Nir

5
Penso che introduce molte variabili al di fuori del "controllo dei programmatori". Ad esempio, come risponde la fotocamera a 14 scatti al secondo? Inoltre, poiché l'ora e le date cambiano, è possibile scattare una foto, quindi un'ora dopo, modificare l'ora indietro di un'ora prima, quindi scattare una foto. Cosa deve fare allora la fotocamera? Troppe condizioni, che un semplice numero di file incrementale risolve bene.
cmason,

1
@PhilipKendall - vero, ma la domanda più profonda è perché gli standard lo specificano. La risposta breve è l'agnosticismo culturale e l'ordinamento corretto per nome. Inoltre, il timbro datetime di creazione file acquisisce già il datetime come un timestamp che è indipendente dalla cultura.
AJ Henderson

3

Si tratta principalmente delle lunghezze dei nomi dei file al momento dello sviluppo delle Regole di progettazione per i file system della fotocamera . Molti sistemi operativi in ​​uso diffuso in quel momento non consentivano ai nomi di file abbastanza a lungo di contenere timbri data / ora con dettagli sufficienti per differenziare, ad esempio, due immagini scattate nello stesso minuto, molto meno nello stesso secondo. Ci sono anche le specifiche EXIF ​​che possono essere ancora più restrittive.

Quasi tutte le moderne applicazioni di gestione dei file di immagini digitali di fornitori terzi (Lightroom, On1, CaptureOne, ecc.) O produttori di fotocamere (EOS Utility / Digital Photo Professional, ViewNX, ecc.) Consentono di assegnare nuovi nomi di file alle immagini durante l'importazione li su un computer. È piuttosto banale con la maggior parte di essi impostare automaticamente l'assegnazione di un nuovo nome file al momento dell'importazione in base alla data e all'ora. Dato che i frame rate moderni sono quelli che sono, avresti bisogno di un nome file che potrebbe differenziare 10 o più frame presi nello stesso secondo per un certo numero di telecamere. Poi c'è l'intero problema di importare le immagini scattate usando due diverse fotocamere (matrimonio multi-sparatutto, ecc.) Allo stesso tempo (o quasi allo stesso tempo, ma con gli orologi su ogni fotocamera sfalsati quanto basta che alcune delle immagini "


2
Le estensioni alle directory FAT per coprire nomi più lunghi sono state brevettate da Microsoft, quindi i nomi di file lunghi sono stati evitati anche se erano ben noti e banali da implementare. Ecco da dove viene il limite di 8 caratteri.
Mark Ransom,

Sì. Ecco perché la risposta dice "... non ha permesso i nomi dei file abbastanza a lungo ..." piuttosto che " non ha potuto consentire i nomi dei file ..."
Michael C,

3

Sì, c'è un motivo specifico. Non è l'applicazione più semplice dello standard. La conformità alla più semplice applicazione dello standard facilita l'interoperabilità tra produttore, software e tempo . Il nuovo software può gestire operazioni a livello di file su vecchie immagini. Il vecchio software probabilmente può gestire operazioni a livello di file su nuove immagini.

Ci sono anche ragioni non specifiche. Uno è che la data e l'ora possono essere meglio codificate in EXIF ​​insieme ad altri dati rilevanti come modello di fotocamera, apertura, bilanciamento del bianco, ecc. E inserendola nel nome del file è ridondante e apre la lattina di worm che sono dati distribuiti (che è il verità cannonica, EXIF ​​o nome file?). Più in pratica, i nomi dei file sono una questione di preferenze personali: una persona può desiderare timestamp, un altro modello di obiettivo o distanza di messa a fuoco o velocità dell'otturatore o punto bianco.

Ricorda, la tua fotocamera è un computer e la denominazione delle cose, l'invalidazione della cache e gli errori off-by-one sono i due problemi principali dell'informatica.


1

Nessuna fotocamera digitale lo fa, ma molti telefoni cellulari Android lo fanno, quindi è probabilmente semplicemente storica. È necessaria una precisione di almeno un secondo, come hai detto, poiché la maggior parte delle telecamere può sparare più di una volta al secondo, anche in modalità scatto singolo. Con i moderni tassi di burst a 60 FPS, avrai bisogno di almeno due cifre, quindi ore + minuti + secondo + centesimi sono già 8 caratteri e non c'è spazio per un prefisso, quindi sei fuori dal limite FAT che era in uso quando è iniziata l'attuale convenzione.

In ogni caso, non penso che ti compri molto. Sapresti quale foto hai scattato osservandola se il nome fosse un timestamp? Che cosa succede se l'ora della fotocamera era sbagliata o si trovava in un fuso orario diverso? Alcune persone mantengono le loro telecamere in UTC ma la maggior parte le ha impostate sull'ora locale. Quindi un numero di sequenza è buono come qualsiasi altra convenzione per distinguere le immagini. Personalmente, sono più preoccupato ora che le immagini vengano sputate in cartelle e dimenticando di scaricare o eseguire il backup di quello successivo.


-1

Il motivo principale è che anche i formati di data non sono standard a livello internazionale e non sono sempre ordinabili per ordine. Ad esempio, se dovessi visualizzare i file in ordine negli Stati Uniti, quindi il formato mmddyyyy, i file per marzo del 2003 verranno elencati dopo i file per gennaio del 2012. L'uso di una sequenza continua assicura che i file verranno ordinati in base allo scatto se ordinato per nome. La data / ora del file stesso memorizza il datetime in un formato compatibile a livello internazionale e i metadati sull'immagine stessa contengono anche le informazioni.

Un altro motivo a cui riesco a pensare è che occorrerebbe una precisione al secondo secondo per i tempi rappresentati. Con la maggior parte delle reflex digitali è possibile scattare più scatti al secondo. La mia fotocamera, ad esempio, scatta da 6 a 7 scatti in 1 secondo se si tiene premuto il pulsante.

Quindi, in breve, i 4 motivi principali sono quelli di prevenire la confusione dovuta alle differenze culturali, garantire il corretto ordinamento per nome file, perché è possibile scattare più foto al secondo e perché il datetime è già memorizzato durante il tempo di creazione del file.


5
XKCD obbligatorio: xkcd.com/1179
Leggi il mio profilo il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.