3 สิงหาคม 2554

บันทึกปัญหาเรื่องวันเวลาของไฟล์ภาพและวิดีโอ
หากเราถ่ายภาพหรือถ่ายวิดีโอจาก Galaxy Cooper ไฟล์ที่ได้จะมีปัญหาเรื่องวันที่และเวลา
คือเครื่องจะบันทึกเวลาท้องถิ่น (UTC+7) ลงใน EXIF แต่เวลาของไฟล์จะเป็นเวลา UTC
ส่วนไฟล์ Video จะไม่มี EXIF
แต่ยังโชคดีอย่างที่ชื่อไฟล์มักมีวันเวลาด้วย เช่น
2011-06-03 10.13.01.jpg
และ
video-2011-06-05-18-16-42.mp4
หรือ
2011_07_28__16_20_33.3gp
แต่ก็มีบางโปรแกรมที่ไม่บันทึกวันที่เวลาเป็นชื่อไฟล์ เช่น
VIDEO00006.mp4
สรุปไฟล์รูปภาพที่อยูใน Cooper จะมีบันทึกวันเวลาไว้ 3 จุดคือ
1. EXif ภายในไฟล์
2. ชื่อไฟล์
3. วันเวลาของไฟล์ที่ระบบ Android สร้างไว้เรียกว่า Modified DateTime
โดยบางครั้ง Exif DateTime จะเร็วกว่าชื่อไฟล์ และ Modified DateTime จะช้าที่สุด ผิดพลาดกันไม่เกิน 1 วินาที (เกิดจากขั้นตอนในการสร้างไฟล์ที่ต้องใช้เวลา)



การถ่ายข้อมูลออกมายังเครื่องคอมพิวเตอร์ด้วย FTP
หากใช้วิธีการ Copy ผ่าน FTP ธรรมดา เช่น Total Commander ไฟล์ที่ได้จะถูกแก้ไขใหม่เป็นวันที่เวลาขณะกำลัง Copy
อาจแก้ปัญหานี้โดยใช้ FileZilla ที่สามารถ Copy FTP แบบรักษาวันเวลาของไฟล์ได้ (แต่มีเงื่อนไขเล็กน้อย)
ตั้งที่ เมนู "ส่ง" และเลือก Reserve timestamps of transferred files หรือกด Ctrl-U
เท่าที่ลองกับ Cooper พบว่า จะได้วันเวลาใกล้เคียงจริง โดยวินาทีจะถูกตัดทิ้ง เช่น
ไฟล์ 2011-06-03 10.16.39.jpg
เวลาใน Exif = 10:16:39
เวลาใน Cooper = 10:16 (ปกติไม่แสดงวินาที)
เวลาใน Cooper(Astro) = 10:16:38
เวลาใน Cooper(ES File manager) = 10:16:38
เวลาบน PC (FileZilla) Created = 15:27:06 (ตรงกับเวลาที่ Copy ไฟล์)
เวลาบน PC (FileZilla) Modified = 10:16:00 (ใกล้เคียงเวลาจริงแต่วินาทีถูกตัดทิ้ง)
เวลาบน PC (FileZilla) Accessed = 15:27:06 (ตรงกับเวลาที่ Copy ไฟล์)

ซึ่งการที่ตัวเลขวินาทีถูกตัดไป ผู้ใช้อาจไม่รู้สึก เพราะปกติเครื่อง PC จะแสดงเวลาของไฟล์ละเอียดถึงแค่นาทีเท่านั้น แต่เวลาเป็นวินาที่หายไปอาจทำให้ลำดับของภาพถ่ายสลับกันได้

ได้ลองใช้โปรแกรม WinSCP ซึ่งสามารถรักษาวันเวลาเดิมในการ FTP ได้เหมือน FileZilla  ซึ่งก็พบปัญหาการตัดตัวเลขวินาทีทิ้งเหมือน FileZilla


*ข้อสังเกต FileZilla แสดงเวลาไฟล์ฝั่ง Server เป็น 00 วินาทีทุกไฟล์ ส่วน WinSCP  ไม่แสดงตัวเลขวินาทีตั้งแต่แรก ทั้งที่ใน Screenshots ของโปรแกรม WinSCP ที่พบบนเว็บมีการแสดงวินาที จึงสงสัยว่าอาจเป็นที่ Android ไม่ปล่อยข้อมูลวินาทีให้กับ FileZilla และ WinSCP หรือไม่

การรักษาวันเวลาโดยการทำ ZIP - ไม่สำเร็จ
ได้มีการลองใช้ Astro และ ES File Explorer สั่ง ZIP ไฟล์ในเครื่องมือถือก่อนแล้วค่อยให้ FTP มาลง PC ปรากฏว่าไฟล์ที่อยู่ใน ZIP กลับเป็นไฟล์ที่ถูกสร้างใหม่ วันที่กลายเป็นปัจจุบัน ทำให้เมื่อ UNZIP แล้วจะได้วันเวลาขณะทำการ ZIP ไม่ใช่เวลาที่ถ่ยภาพ

การแก้ไขปัญหาสำหรับภาพถ่าย
สำหรับภาพถ่ายสามารถปรับแก้วันที่โดยใช้โปรแกรม JpgTime ซึ่งสามารถอ่านวันเวลาจาก Exif มาแก้ไขค่าของ Modified DateTime ให้ เช่นไฟล์ตัวอย่างก็จะได้
เวลาบน PC (หลังใช้ JpgTime) Created = 15:27:06 (ตรงกับเวลาที่ Copy ไฟล์)
เวลาบน PC (หลังใช้ JpgTime) Modified = 10:16:39 (ตรงเวลาจริง)
เวลาบน PC (หลังใช้ JpgTime) Accessed = xx:xx:xx (ตรงกับเวลาที่แก้ไขไฟล์)

การแก้ไขสำหรับ วิดีโอ
ทางแก้ไขที่ดีที่สุดตอนนี้คือการ FTP ผ่านโปรแกรมที่สามารถรักษาวันเวลาของไฟล์ได้ เช่น FileZilla หรือ WinSCP แต่คงต้องยอมรับว่าข้อมูลวินาทีจะหายไป
หรือทางสุดท้ายคือแก้ไขด้วยมือ โดยใช้โปรแกรม Total Commander

หมายเหตุ
ในระบบ Windows ไฟล์ 1 ไฟล์จะมีข้อมูลวันเวลา 3 ชุดคือ
Created : วันเวลาที่สร้างสำเนาไฟล์ลงบนสื่อบันทึก (ไม่ใช่วันที่สร้างไฟล์ครั้งแรกเสมอไป)
Modified : วันเวลาสุดท้ายที่แก้ไขไฟล์นี้
Accessed : วันเวลาสุดท้ายที่เขียนหรืออ่านไฟล์นี้
เมื่อสร้างไฟล์ครั้งแรก ข้อมูลทั้ง 3 จะตรงกัน
หังจากนั้น Modified กับ Accessed DateTime จะเปลี่ยนไปตามจริง
แต่มีเฉพาะข้อมูล Modified DateTime เท่านั้นที่จะแสดงบนหน้าจอ

หมายเหตุ 2
พบปัญหาแปลกของ Cooper
เพิ่งสังเกตเห็น เรื่องไฟล์ภาพถ่าย เวลาของไฟล์ที่ได้บางวันเวลาช้ากว่าจริงไป 7 ชั่วโมง บางวันก็ตรง บางวันผิด
เช่น
ไฟล์ 2011-06-15 14.15.04.jpg มีเวลาของไฟล์ถูกต้องเป็น 14:15
แต่ไฟล์ 2011-06-15 15.51.52.jpg มีเวลาของไฟล์เป็น 8:51
โดยมากจะผิดติดต่อกัน2-3 วัน แล้วกลับมาถูก สักพักก็กลับไปผิดอีก
ดูที่ Setting แล้ว ตั้งเป็น GMT+07:00 แล้ว
ROM เป็น 2.2.1 FROYO.DXKD3

พบบูตเครื่องใหม่ (เนื่องจากดับไปเอง) กลับปรากฏว่า ไฟล์ที่เวลาเคยเคยถูกต้อง จะกลับกลายเป็นผิด เป็น GMT+14 ส่วนไฟล์ที่เคยผิด จะกลับมาถูก เป็น GMT+7 เช่นไฟล์เดิมข้างบน
ไฟล์ 2011-06-15 14.15.04.jpg ที่เคยถูกต้องเป็น 14:15 ตอนนี้กลายเป็น 21:15 (ผิด)
ส่วนไฟล์ 2011-06-15 15.51.52.jpg ที่เคยผิดเป็น 8:51 ตอนนี้กลายเป็น 15:51 (ถูก)

หมายเหตุ 3
วันนี้ถ่ายรูปเยอะพอควรตั้งแต่เช้าถึงเย็น พบว่ารูปถ่ายโดยมาก วันที่ตามชื่อไฟล์ และวันที่ของไฟล์ตรงกัน แต่มี 2 รูปที่เวลาผิด (บวกเกินจริงไป 7 ชั่วโมง) คือ
2011-08-11 12.01.10.jpg เวลาของไฟล์ 19:01 บวก 7 ชั่วโมง
2011-08-11 12.00.20.jpg เวลาของไฟล์ 19:00 บวก 7 ชั่วโมง
ทั้งที่รูปก่อนหน้า แค่ 38 วินาทีก็ยังถูก
2011-08-11 11.59.42.jpg เวลาของไฟล์ 11:59 ถูกต้อง

ลองถ่ายรูปใหม่ 1 รูปก็ยังคงเป็นวันเวลาที่ถูกต้อง

เลยลองตั้งที่เครื่องมือถือ ให้ใช้เวลาแบบอัตโนมัติจากเครือข่ายโทรศัพท์แทน เริ่มเปลี่ยน 18:30น. 11 สิงหาคม 2554
จากนั้นลองถ่ายรูปอีก 1 รูป ก็ยังได้เวลาถูกต้อง

หมายเหตุ 4 สรุปว่าการตั้งเวลาแบบอัตโนมัติไม่เกี่ยวกับปัญหานี้, สงสัย IgCamera
26-28 ส.ค. 54 ถ่ายรูปและวิดีโอไว้ 190 ไฟล์
พบว่า
วันที่ 26 ตั้งแต่เวลา 14:04-16:42 ไฟล์ได้เวลาถูกต้อง รวม 57 ไฟล์ ไฟล์สุดท้ายคือไฟล์ที่ถ่ายจาก IgCamera และไฟล์เสียตรงข้อมูล EXIF มาไม่ครบ (JpgTime อ่านไม่ได้)

จากนั้นไฟล์ตั้งแต่เวลา 26 ส.ค. 16:54:42 เป็นต้นไป จนถึงรูปสุดท้าย เวลาจะน้อยไป 7 ชั่วโมง (-7) ทั้งหมด (แม้ว่าในแต่ละวันจะมีการปิดเปิดเครื่องหลายครั้งแล้วก็ไม่หาย)
ข้อสังเกต มีการใช้งานโปรแกรม IgCamera และ IgCamcorder ซึ่งบางทีมีการแฮงก์ระหว่างโปรแกรมกำลัง Save ภาพ จนต้องปิดเครื่องหลายครั้ง
จากการใช้โรปแกรม JpgTime อ่านไฟล์ พบว่ามี 2 ไฟล์ที่อ่าน EXIF ไม่ได้ คือ 2011_08_26__16_42_46.jpg (เป็นภาพสุดท้ายก่อนเวลาจะผิด)
และ
2011_08_27__10_25_47.jpg

จึงลองถ่ายภาพ 1 ภาพ เมื่อ 29 ส.ค. 00:29 ปรากฏว่าได้วันเวลาถูกต้อง (เป็นไฟล์แรกที่ถูกนับจากวันที่ 26 ส.ค. 16:54:42)

29 ส.ค. 2554  11:02:56 ลองถ่ายภาพอีก 1 ภาพ ได้ไฟล์ 2011-08-29 11.02.56.jpg  และเวลาถูกต้อง
ที่ แปลกใจคือ ลองต่อสาย USB พบว่า PC มองเห็นไฟล์วันเวลาถูกต้องหมด และเมื่อ Copy มาลง PC ก็ได้วันเวลาระเอียดถึงวินาทีถูกต้องหมดมาด้วย แสดงว่าที่เคยบอกว่า opy ผ่านสาย USB ได้วันเวลาผิดไป 7 ชั่วโมงก็เป็นการเข้าใจผิด

หมายเหตุ 5 Total Commander รักษาเวลาได้
โปรแกรม Total Commander สามารถ copy ไฟล์แบบรักษาเวลาได้ โดยการเชื่อมต่อแบบ FTP แล้วสั่ง Copy (F5) แล้วเลือก Preserve file dates

ไม่มีความคิดเห็น:

แสดงความคิดเห็น