Я хочу извлечь исходное имя и дату из файлов m2ts в узле. Я нашел какой-то мертвый код (m2ts-parser), используя пакет «пакет». Хотя я слишком послушник, чтобы действительно понять. Но я хочу узнать :-)Извлечь оригинальное имя и дату из файлов m2ts (mpeg2-ts)
Так может кто-нибудь сказать мне, как извлечь оригинальное имя файла и первоначальную дату создания файла m2ts (в узле, но любой код псевдо будет делать :-)
Благодарности
обновление
я нашел - на основе ответа @aergistal частичного решения. Я могу извлечь оригинал даты/времени из файла m2ts. Протестировано только в файле Canon и Panasonic:
var fs = require('fs');
fs.open('C:/temp/28685338476.mts', 'r', function (status, fd) {
if (status) {
console.log(status.message);
return;
}
var chunk = new Buffer(10000);
var syncFound = false;
var i, l;
fs.read(fd, chunk, 0, 10000, 0, function (err, num) {
for (i = 0, l = chunk.length; i < l; i++) {
if (chunk[i] === 0x47) {
syncFound = true;
}
if (syncFound) {
if (chunk[i] === 0x66 && chunk[i + 1] === 0x4D && chunk[i + 2] === 0x44 && chunk[i + 3] === 0x50 && chunk[i + 4] === 0x4D) {
console.log("GOT 'MDPM' at byte ", i);
var yy = chunk[i + 8].toString(16) + chunk[i + 9].toString(16);
var MM = chunk[i + 10].toString(16);
var dd = chunk[i + 12].toString(16);
var hh = chunk[i + 13].toString(16);
var mm = chunk[i + 14].toString(16);
var ss = chunk[i + 15].toString(16);
var timeStamp = yy + "/" + MM + "/" + dd + " " + hh + ":" + mm + ":" + ss;
console.log("TimeStamp: "+ timeStamp);
return timeStamp;
}
}
}
});
});