노드의 m2ts 파일에서 가져온 원래 이름과 날짜를 추출하고 싶습니다. "packet"패키지를 사용하여 일부 죽은 코드 (m2ts-parser)를 발견했습니다. 나는 정말로 이해 하기엔 너무 초보자이지만. 하지만m2ts (mpeg2-ts) 파일에서 원래 이름과 날짜를 추출하십시오.
그래서 사람이 어떻게 원래의 파일 이름과 노드의 M2TS 파일 (원본 작성 날짜를 추출하는 말해 줄 수 :-) 배우고 싶은, 그러나 어떤 의사 코드는 할 것
감사
:-)갱신
내가 찾은 - @aergistal 부분적인 해결책의 답변에 따라. m2ts 파일에서 Date/Time 원본을 추출 할 수 있습니다. 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;
}
}
}
});
});