題:
為什麼大多數相機不存儲基於日期和時間的文件名?
Jack
2013-04-10 10:52:31 UTC
view on stackexchange narkive permalink

我注意到,使用照相手機拍攝照片時,文件名由日期和時間組成。 (例如20131101-110015.jpg)

但是,大多數傻瓜相機和數碼單反相機都沒有。它們的文件名通常按DCM0011.jpg的順序排列。

是否可以通過一種方法設置攝像頭選項,使其創建包含日期和時間的文件名?

關於傻瓜相機三星EX1與相機手機三星Galaxy S2

我一個人會喜歡這是一個選擇!佳能5D MkIII具有有限的文件名控制,但更多的是3個字母的情況...> _>使用DSLR可以每秒拍攝多張照片,文件名越來越長
奧林巴斯品牌有一個簡單的系統:它通常以'P'或'_'開頭(不記得是什麼意思,但與色彩空間有關),然後是月份的數字:1,2,3,4 ,5、6、7、8、9,A,B,C,一天的兩位數和相關的其他四位數字。因此,文件PC083651在12月8日被槍殺。這確實非常有用,至少我從來沒有遇到過問題。如果您在12月31日午夜拍攝,那是很奇怪的,因為“較舊”文件突然位於按字母順序排列的列表的頂部。也許他們擁有一項專利,但其他專利卻無法獲得專利。
如果確實包含日期,則日期應為ISO 8601格式。其他任何事情都會令人困惑。同樣,ISO格式意味著它將正確排序。
我認為對於大多數人來說,將所有照片集中在一個地方比較容易。對於普通人來說,這樣的約定意味著您的相機存儲中每個文件夾中的照片很少。創建腳本以導入照片並使用exif數據隨意排列它們也很簡單,儘管大多數人無論如何都可能使用Lightroom之類的軟件來完成所有這些工作
請注意,文件系統本身俱有時間戳。在圖像創建速度比計時器和/或文件系統支持的分辨率快的情況下,仍然需要排序約定(我不認為FAT32支持毫秒嗎?)。同樣,在正常使用情況下,大部分用戶的時間可能是1970年1月1日。
六 答案:
Please Read My Profile
2013-04-10 15:51:15 UTC
view on stackexchange narkive permalink

這歸結為軟件專利-不是日期,而是以限製文件名的方式。唯一可廣泛使用且跨平台的文件系統是FAT,這是古老的Microsoft DOS文件系統。它既可以在Windows的新舊版本上運行,也可以在OS / 2上運行,也可以在Mac上運行,也可以在Linux上運行,並且在相機上運行的微型操作系統有很多嵌入式實現。它已經是公共領域了,足夠老了。

但是,有一個陷阱。原始版本只允許使用八個字符的文件名,外加一個點和三個字符的擴展名。允許使用更長文件名的擴展名是最新的,而前一陣子微軟在收取專利使用費方面做著一些嚴肅的嘗試。這意味著大多數攝像機以及DCIM標準都採取了安全的路線,並避免使用代碼來生成長文件名。這意味著有意義的日期和時間是不可行的,因為它太長了。

這由嵌入式SD卡驅動程序的技術手冊支持,其中指出:

Microsoft按銷售量提供其FAT歸檔系統的使用許可。但是,通常認為這僅適用於實現獲得專利的長文件名系統(LFN)的應用程序。我們的理解是,如果不使用長文件名,則無需支付許可費用,但是您應該確定自己是否同意這種觀點(據我們所知,Microsoft尚未說明此觀點,但其他人已根據FAT的原始版本確定了這一觀點)

寫入較長文件名的相機或照相手機已經向Microsoft付費,正在使用其他文件系統,或者不擔心合法性威脅。

你說對了!那幾乎是限制。支持日期文件名的相機的日期甚至會與10月之後的月份一樣被奇怪地編碼為單個字母,以使其適合。
FAT32可以支持8.3以上的版本,據我所知,它不受影響。文化日期問題和名稱排序是一個更大的問題。
-1
他們可以通過將日期存儲為單獨的文件夾而不是文件名的一部分來解決此問題。實際上,這正是我的Sony a390所做的*(儘管默認情況下該選項處於關閉狀態)*
實際上,* FAT *僅支持11個字符的目錄條目名稱。這些通常*顯示為8 + 3,但是在過去,簡單地使用所有11個可用字符作為名稱而沒有特定擴展名並不是很普遍。當然,如今,使用擴展名已司空見慣,其他任何事情充其量也只會造成很多混亂。
@MichaelKjörling進入細節可能會涉及到雜草叢生的雜草中,但是由於空格字符被分別視為8和3的填充物,因此這並非嚴格如此。也就是說,名稱“ A _______。TXT”(其中_是空格)是“ A.TXT”。
@mattdm我將不進一步詳細介紹,但您可能會對[通配符如何在MS-DOS中工作?](http://blogs.msdn.com/b/oldnewthing/archive/2007/12/17 /6785519.aspx),尤其是第二段和第一個文件名擴展表。注意頂部附近的“在字符8和9之間的*隱式點”。 FCB API(DOS的CP / M傳統)不需要分隔符。 http://www.o3one.org/hwdocs/bios_doc/dosref22.html(搜索功能0Fh“打開磁盤文件”和“標准文件控制塊”(原文如此));請注意,FCB結構中沒有分隔符。
我認為首頁根本不支持您的論文。之所以會有一些奇怪之處,是因為8 + 3以11個字節連續存儲,但是該頁面上的所有內容都支持最後三個字節是特殊的概念。第二頁還直接討論了“ 8字節文件名”和“ 3字節擴展名”,都用空格左對齊。
Nir
2013-04-10 12:30:00 UTC
view on stackexchange narkive permalink

大多數相機不按數據和時間存儲文件的原因僅僅是因為沒有人在相機的軟件中編寫代碼來存儲數據。

沒人寫該代碼的一個可能原因是日期根據DCF標準,/ time格式是非法的,該標準描述了相機應如何存儲圖像以與其他相機,查看設備和打印機兼容( wikipedia鏈接實際標准文檔)。

沒人寫代碼的另一個原因是,即使看似簡單的代碼,編寫代碼也需要比您想像的更多的時間(切換文件名模式時該怎麼辦,當已經存在具有該名稱的文件時該怎麼辦)。 ,它是否可以與相機隨附的CD中的軟件一起使用?現在您必須對所有內容進行兩次測試,一次是使用舊文件名模式,一次是使用日期時間模式...)-所有這些對於一個該功能將不會再銷售更多的相機-因此,所有這些時間都可以花在其他地方。三星EX1用戶手冊中的rch找不到更改文件名的方法,因此可能無法實現。

我認為這裡的第二段很重要:標準指定了<3個字母> _ <4個數字>,而日期和時間不適合該標準。
@PhilipKendall-您始終可以根本不遵循DCF(例如他的手機)-或擁有兩種模式,DCF模式用於希望與所有打印機和相框兼容的人,而日期/時間模式則用於關心文件的人名稱(然後進入我的第3段,這些選項的成本是微不足道的)。
另外,關於第三點,您想要什麼時間格式?日/月/年,月/日/年,以及您想要12小時還是24小時格式。這不容易...
@PaulCezanne-我不同意,從工程學的角度來看,您只能使用一種合理的日期/時間格式-自UNIX時代以來的毫秒數,顯然是UTC時區
大聲笑!!!!!根據主教Ussher的說法,也許是從時間開始以來的毫秒數...
我只希望它們在DCF標準中使用2個字母和5個數字,這樣我將只有文件名衝突次數的十分之一
我認為它引入了“程序員控制”之外的許多變量。例如,相機如何響應每秒14張照片?此外,由於時間和日期會發生變化,因此可以先拍照,然後一個小時後再將時間更改回一小時,然後再拍照。那相機是做什麼的呢?一個簡單的增量文件編號可以很好地解決很多情況。
@PhilipKendall-是的,但更深層的問題是標準為何要指定該標準?簡短的答案是文化不可知論和按名稱正確分類。同樣,文件創建日期時間戳記已經將日期時間捕獲為與區域性無關的時間戳記。
Michael C
2017-11-06 09:10:35 UTC
view on stackexchange narkive permalink

主要與製定照相機文件系統設計規則時的文件名長度有關。當時許多操作系統被廣泛使用,它們不允許文件名足夠長以容納具有足夠細節的日期/時間戳以區分,例如,同一分鐘內拍攝的兩個圖像,而不是同一秒鐘。還有EXIF規範,甚至可能更具限制性。

幾乎所有來自第三方供應商(Lightroom,On1,CaptureOne等)或相機製造商(EOS Utility / Digital)的現代數字圖像文件管理應用程序Photo Professional,ViewNX等)允許您在將圖像導入計算機時為圖像分配新的文件名。多數情況下,在導入時根據日期和時間自動分配新的文件名非常簡單。如果使用現代幀速率,那麼您需要一個文件名,該文件名可以區分多個攝像機在同一秒內拍攝的10個或更多幀。然後是整個問題,即同時(或接近同一時間)導入使用兩個不同的相機(mult-shooter婚禮等)拍攝的圖像,但每個相機的時鐘偏移恰好足以使某些圖像的時間戳成為相同-體育或事件射擊遊戲)放入同一文件夾。

FAT目錄的擴展名涵蓋了更長的名稱,並已獲得Microsoft的專利保護,因此即使文件名廣為人知且易於實現,也避免了使用長文件名。這就是8個字符限制的來源。
是的這就是為什麼答案說“ ... *不允許*文件名足夠長...”而不是“ *不允許*文件名...”的原因
user50888
2017-11-07 19:40:35 UTC
view on stackexchange narkive permalink

是的,這是有特定原因的。這樣做不是該標準最簡單的應用。符合該標準的最簡單應用,可促進跨製造商,軟件和時間的互操作性。新軟件可以處理舊圖像上的文件級操作。舊軟件可能可能處理新圖像上的文件級操作。

還有非特定原因。一種是,日期和時間可以與其他相關數據(如相機型號,光圈,白平衡等)一起在EXIF中更好地編碼,並將其放在文件名中是多餘的,並打開了散發數據的蠕蟲罐(即真實的事實,EXIF還是文件名?)。實際上,文件名是個人喜好問題:一個人可能需要時間戳,另一種鏡頭型號或焦距或快門速度或白點。

請記住,您的相機是一台計算機,並為事物命名,緩存失效和一字不漏的錯誤是計算機科學的兩個難題。

Itai
2017-11-06 10:13:58 UTC
view on stackexchange narkive permalink

沒有數碼相機可以做到,但是許多Android手機都可以做到,所以這可能僅僅是歷史性的。正如您所說,您至少需要亞秒級的精度,因為即使在單次拍攝模式下,大多數相機每秒也可以觸發一次以上。在60 FPS的現代突發速率下,您至少需要兩位數字,因此小時+分鐘+秒+百分之一已經是8個字符,並且沒有前綴空間,因此您超出了使用的FAT限制在當前的約定開始時。

無論如何,我認為它不會給您帶來多少好處。如果名字是帶時間戳的,您會知道看哪張照片嗎?如果您的相機時間錯誤或您所在的時區不同,該怎麼辦?少數人將其相機保留在UTC中,但大多數人將其設置為本地時間。因此,序列號與任何其他區分圖像的約定一樣好。就個人而言,現在我更擔心將圖像吐到文件夾中,而忘記下載或備份下一個圖像。

AJ Henderson
2013-04-10 23:56:24 UTC
view on stackexchange narkive permalink

主要原因是日期格式也不是國際標準,也不總是可以按順序排序。例如,如果我要按美國順序查看文件,則使用mmddyyyy格式,那麼2003年3月的文件將在2012年1月的文件之後列出。使用連續序列可確保文件按拍攝時的排序按名稱排序時。文件的日期/時間本身以國際兼容格式存儲日期時間,圖像本身的元數據還包含信息。

我能想到的另一個原因是,您可能需要不到一秒的時間表示時間的準確性。對於大多數數碼單反相機,每秒可以拍攝多張照片。例如,如果按住該按鈕,我的相機會在1秒鐘內拍攝6至7張照片。

因此,簡而言之,主要的4個原因是為了防止文化差異引起的混淆,請確保按文件名正確排序,因為每秒可以拍攝多張照片,並且日期時間已經在文件創建時間中存儲了。

強制性XKCD:http://xkcd.com/1179/


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...