মিলি সেকেন্ডে ফাইল তৈরির সময় পান


13

উচ্চতর নির্ভুলতায় উইন্ডোজে কোনও ফাইল তৈরির সময় পাওয়ার কোনও উপায় আছে কি? আমি একটি এমপি 4-ভিডিও তৈরির সময়টি মিলি সেকেন্ডে পেতে চাই। এটা কি সম্ভব?


আমাকে জিজ্ঞাসা করতে হবে কেন আপনার এই নির্ভুলতার প্রয়োজন?
মোয়াব

1
আমি একটি ভিডিও সহ এক অ্যান্ড্রয়েড ডিভাইসে কিছু সেন্সর ডেটা রেকর্ড করি। আমি নিজের দ্বারা সেন্সর লগিং লিখেছি এবং প্রতিটি সেন্সর মান সঙ্গে সিস্টেম সময় লগ ইন। ভিডিও রেকর্ড করার জন্য আমি স্ট্যান্ডার্ড ক্যামেরা ক্রিয়াকলাপটি ব্যবহার করি। পিসিতে ডেটা প্রেরণের পরে আমি এটি বিশ্লেষণ করতে চাই। সেন্সর ডেটা দিয়ে ভিডিও মার্জ করার জন্য আমাকে জানতে হবে ভিডিওটি কখন শুরু হয়েছিল। সেকেন্ডগুলি খানিকটা মোটা হয় তাই আমি ভিডিওটির আরও সঠিক সূচনা সময় পাওয়ার জন্য কোনও উপায় খুঁজছি।
ফিল

3
দ্রষ্টব্য: আপনার যদি দুটি ডাটা স্ট্রিমের মধ্যে এই জাতীয় সম্পর্কের প্রয়োজন হয় তবে সাধারণত স্ট্রিমের মধ্যে একটি রেজিস্ট্রেশন সিগন্যাল স্থাপন করা আবশ্যক (পরিচালক হিসাবে "অ্যাকশন" হিসাবে সিনেমাতে ব্যবহৃত পুরানো ক্ল্যাপবোর্ডগুলির মতো তালিটি একটি ভিজ্যুয়াল কিউ এবং অডিও ছিল কিউ, পরে দুটি বা আরও স্ট্রিম সিঙ্ক করার অনুমতি দেয়)। কিছু পরিস্থিতিতে, কার্নেল মোডে ফাইল তৈরি করার (এবং টাইমস্ট্যাম্পটি রেকর্ড করা) এবং এটি ব্যবহার করার জন্য এটির একটি ফাইল হ্যান্ডেল রয়েছে তা জানতে আপনার প্রক্রিয়া জাগ্রত করার মধ্যে সময় বিলম্ব আসলে আপনার ডেটার জন্য আপনার সহনশীলতার চেয়ে বেশি হতে পারে।
আম্মন কর্ট

আপনি যখন নিজের জিনিসগুলি অ্যান্ড্রয়েড থেকে অন্য কোথাও অনুলিপি করেন, তখন নিশ্চিত হয়ে নিন যে সমস্ত অনুলিপি সরঞ্জামগুলি টাইমস্ট্যাম্প যথার্থতা সংরক্ষণ করে। নোট করুন যে অনেক অনুলিপি সরঞ্জামগুলি অনুলিপিটি অনুলিপি করার সময়টিকে তৈরি করবে ctime
পিটার কর্ডেস

1
উইন্ডোজগুলিতে, আমি statসমস্ত 3 টাইমস্ট্যাম্পগুলি পেতে সাইগউইন / মিংডাব্লু ব্যবহার করব । অবশ্যই, কারণ আমি সাধারণত জিএনইউ / লিনাক্স ব্যবহার করি।
পিটার কর্ডেস

উত্তর:


22

টাইমস্ট্যাম্প রেজোলিউশন

উইন্ডোতে কোনও ফাইল তৈরির টাইমস্ট্যাম্প ফাইল সিস্টেমের উপর নির্ভর করে:

  • FAT / VFAT এর সর্বাধিক 2s রেজোলিউশন রয়েছে

  • এনটিএফএসের সর্বাধিক 100 এনএস রেজোলিউশন রয়েছে


ডাব্লুমিক সমাধান

আপনি wmicনিকটতম মাইক্রোসেকেন্ডে ফাইল তৈরির তারিখটি পুনরুদ্ধার করতে ব্যবহার করতে পারেন ।

উদাহরণ:

F:\test>wmic datafile where name="f:\\test\\test.txt" get creationdate | findstr /brc:[0-9]
20150329221650.080654+060

ক্রিয়েশনডেটটি 20150329221650.080654+060একটি টাইমস্ট্যাম্প, নিম্নলিখিত ফর্ম্যাট সহ:

yyyymmddHHMMSS.xxxxxxsUUU

কোথায়:

  • yyyy চার-অঙ্কের বছর (0000 থেকে 9999)।

  • mm দুই-অঙ্কের মাস (01 থেকে 12 এর মধ্যে)।

  • dd মাসের দুই-অঙ্কের দিন (01 থেকে 31 এর মধ্যে)।

  • HH 24 ঘন্টা ঘড়ি ব্যবহার করে (দিনের মধ্যে 23 থেকে 00) দিনের দুই অঙ্কের ঘন্টা।

  • MM ঘন্টা দুই অঙ্কের মিনিট (00 থেকে 59)।

  • SS মিনিটে দুই-অঙ্কের সেকেন্ড (00 থেকে 59) through

  • xxxxxx দ্বিতীয়টিতে মাইক্রোসেকেন্ডগুলির ছয়-অঙ্কের সংখ্যা (000000 থেকে 999999)

  • sসমন্বিত ইউনিভার্সাল টাইমস (ইউটিসি) এর ইতিবাচক বা নেতিবাচক অফসেটটি নির্দেশ করতে প্লাস সাইন ( +) বা বিয়োগ চিহ্ন ( -)।

  • UUU তিন-অঙ্কের অফসেটটি উত্সের সময় অঞ্চলটি ইউটিসি থেকে বিচ্যুত হওয়া মিনিটের সংখ্যাটি নির্দেশ করে।


স্থির সমাধান

এছাড়াও আপনি ব্যবহার করতে পারেন stat(ক থেকে cygwin বা mingw ইনস্টলেশন)।

উদাহরণ:

DavidPostill@Hal /f/test
$ stat test.txt | grep Birth
 Birth: 2015-03-29 22:16:50.080654200 +0100

তুলনা জন্য dir আউটপুট

F:\test>dir /t:c test.txt
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test

29/03/2015  22:16                32 test.txt
               1 File(s)             32 bytes
               0 Dir(s)  1,798,546,849,792 bytes free

আরও পড়া


@ নেটএলড্রেজ ধন্যবাদ, ভাল দাগযুক্ত। উত্তর সংশোধন করা হয়েছে।
ডেভিডপস্টিল

4
সতর্কতার একটি নোট: কেবলমাত্র টাইমস্ট্যাম্পগুলিতে একটি উচ্চ ফ্রিকোয়েন্সি ডিজিট যেমন 100 ন্যানোসেকেন্ডস অঙ্ক রয়েছে, তার অর্থ এই নয় যে 100 ঘন্টা পরিসরে ঘড়িটি নির্ভরযোগ্য সময় উত্স হিসাবে ব্যবহৃত হতে পারে। এটি কেবলমাত্র জানিয়েছে যে প্রচুর পরিমাণে বিট রয়েছে যা [আশাবাদী] একঘেয়ে এবং প্রায় "বাস্তব" সময়ের সাথে সম্পর্কিত।
আম্মন 21

1
MSDN দেখুন CIM_DATETIME : আপনার স্বরলিপি, xxxxxxহয় দ্বিতীয় (000000 999999 মাধ্যমে) মধ্যে মাইক্রোসেকেন্ড ছয়-সংখ্যার নম্বরমাইক্রো- অর্থাৎ 10^-6। অবশ্যই, প্রথম ট্রিপলেটটি মিলি ( 10^-3)) উপস্থাপন করে: কাটা হয়েছে, গোল নয়। উত্তোলিত দ্বিতীয় ট্রিপলেটটি নিজের মধ্যে কিছুই উপস্থাপন করে না ... তবে কিছু wmiতারিখের মান 000সর্বদা দ্বিতীয় ট্রিপলেট দেখায় যেমন,wmic OS get LocalDateTime
জোসেফজেড

1
ধন্যবাদ, এই জাতীয় উত্তরগুলি কেন আমি স্ট্যাক এক্সচেঞ্জ পছন্দ করি :)
ফিল

1
@MarisB। আহ। উত্তর আপডেট হয়েছে।
ডেভিডপস্টিল

1

একটি চৌকস উপায়ে এখানে প্রদর্শিত হয়: https://stackoverflow.com/questions/5180592/show-ntfs-timestamp-with-100-nsec-granularity

এটি ডাব্লুএমআইয়ের সিআইএম ডাটাবেসকে জিজ্ঞাসা করতে এবং FILETIMEকোনও ফাইলের সাথে সম্পর্কিত কাঠামো ফিরিয়ে আনতে ভিবিএস স্ক্রিপ্ট ব্যবহার করছে।

এমন ওপেন সোর্স সরঞ্জামগুলি রয়েছে যা একটি মিডিয়া ফাইলের মেটাডেটা যেমন এক্সআইএফটিওল পরিদর্শন করতে পারে যা ডিজিটাল ক্যামেরাগুলি দ্বারা তৈরি মিডিয়া মেটাডেটা পরিচালনার দিকে এগিয়ে যায়।


1

মতলব এ কীভাবে পাবেন তা আমি একটি উপায় পেয়েছি:

আপনি জান সিমনের লিখিত গেটফিলটাইম ফাংশনটি ব্যবহার করতে পারেন । আপনি যদি নিজের নিজস্ব ম্যাক্স ফাইল সংকলন করতে না চান তবে আপনি এখানে সংকলিত ফাইলগুলি ডাউনলোড করতে পারেন ।

এটি ডাব্লুমিক (কেবলমাত্র এমএস) ব্যবহারের মতো সঠিক নয় তবে আমার উদ্দেশ্যে এটি উপযুক্ত।


-3

এটি ফাইল সিস্টেমের উপর নির্ভর করে : FAT এর 2 সেকেন্ড রেজোলিউশন রয়েছে, এনটিএফএসের তাত্ত্বিকভাবে 100 এনএস রেজোলিউশন রয়েছে, তবে আসল রেজোলিউশনটি 10 ​​এমএস । এটি বলেছিল, ডিস্ক আই / ও এর চেয়ে বাধাগুলির উচ্চ অগ্রাধিকার রয়েছে এবং আমি নিশ্চিত নই যে টাইম স্ট্যাম্পে রাইট-ক্যাচিংয়ের প্রভাব রয়েছে। মাল্টিমিডিয়া টাইমারগুলি নির্ভুলতার জন্য অনুকূলিত, তাই সময় প্রয়োগের জন্য পছন্দসই উপায় way

আপনি হাই-রেজুলেশন টাইমস্ট্যাম্পগুলি দেখতে এক্সওয়াইপ্লোরারের মতো একটি বিদ্যমান সরঞ্জাম ব্যবহার করতে পারেন বা এক্সওয়াইপ্লোরার এমএস দেখাচ্ছেআপনি নিজের অ্যাপ্লিকেশন লিখতে পছন্দ করতে পারেন। ফাইল.গেটক্রিয়েশনটাইম পদ্ধতিটি ব্যবহার করুন ; এটি মিলিসেকেন্ড সম্পত্তি সহ একটি ডেটটাইম কাঠামো দেয়


1
উম ... অভদ্র হতে হবে না, তবে, আপনি কি ডেভিডপস্টিলের উত্তরটি পড়েছেন?
td512

2
"এনটিএফএসের তাত্ত্বিকভাবে 100 এনএস রেজোলিউশন রয়েছে, তবে প্রকৃত রেজোলিউশনটি 10 ​​এমএস " ভুল " - এই লিঙ্কটি আসলে" এনটি ফ্যাট-এ , তৈরির সময়কে 10 মিলিসেকেন্ডের রেজোলিউশন দেয় "বলে। এর অর্থ এই নয় যে এনটিএফএসের সেই রেজোলিউশন রয়েছে। আপনি আমার উত্তর থেকে দেখতে পারেন যে এনটিএফএসে wmicনিকটস্থ মাইক্রোসেকেন্ডে একটি রেজোলিউশন দেখায় ।
ডেভিডপস্টিল

তাত্ত্বিক এবং সর্বাধিক রেজোলিউশনের মধ্যে পার্থক্য রয়েছে, একটিতে সর্বোচ্চ রেজোলিউশনটি ভালভাবে ইঙ্গিত করা হয়, অন্যটি একটি গড় গড় রেজোলিউশনকে আরও নির্দেশ করে।
রামহাউন্ড

1
@ ডেভিডপস্টিল যদি ঘড়িটি প্রতি 10 মিনিটে কেবল সময় বাড়ায় তবে ডেটটাইম দায়ের করা যা 100ns উপস্থাপন করতে পারে এখনও কেবলমাত্র 10 মিমিগুলির নির্ভুলতা রয়েছে। আদর্শ উত্কনো এপিআই (উচ্চ পারফরম্যান্স কাউন্টারগুলির বিপরীতে যা সময়ের পার্থক্য পরিমাপের জন্য তৈরি করা হয়েছে ) উইন্ডোজগুলিতে প্রতি 0.5-16 মিমি সময়কে বৃদ্ধি করে, তাই এই উত্তরটি যথেষ্ট প্রশংসনীয়।
কোডসইনচওস

@ কোডসইনচাওস হ্যাঁ, তবে - "সিস্টেমের সময় পুনরুদ্ধারের সর্বোত্তম উত্স হ'ল getSystemTimeAsFileTime API It এটি একটি দ্রুত অ্যাক্সেস এপিআই যা তার যুক্তিতে যথেষ্ট সঠিক (100 এনএস ইউনিট) মান রাখতে সক্ষম।" - আমার উইন্ডোজ উত্স কোডে অ্যাক্সেস নেই তাই ফাইল টাইমস্ট্যাম্পগুলি পরিচালনা করার সময় হুডের নীচে কী কলগুলি ব্যবহৃত হয় তা আমি জানি না। আমরা জানি না আসল রেজোলিউশন কী - এটি কেবল অনুমান করা।
ডেভিডপস্টিল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.