问题描述
有人可以帮助使用此NPM库将毫秒转换为时间码(HH:MM:SS:Frame)的快速脚本吗?
https://www.npmjs.com/package/ms-to-timecode
我只需要传递一个毫秒数(即7036.112)并输出转换后的时间码。我已经在我的debian服务器上安装了npm和ms-to-timecode库。我知道perl / bash,并且从未使用这些库模块进行编码。
任何帮助将不胜感激。 -Akak
解决方法
您需要编写JavaScript代码才能使用此npm模块。
const msToTimecode = require('ms-to-timecode');
const ms = 6000;
const fps = 30
const result = msToTimecode(ms,fps)
console.log(result) // Print 00:00:06:00
,
如果您正在使用npm模块ms-to-timecode
,则:
const msToTimecode = require('ms-to-timecode');
const timeCode = msToTimecode(7036,112);
console.log(timeCode); // displays 00:00:07:04
如果您不想使用npm模块,那么:
function msToTimeCode(ms,fps) {
let frames = parseInt((ms/1000 * fps) % fps)
let seconds = parseInt((ms/1000)%60)
let minutes = parseInt((ms/(1000*60))%60)
let hours = parseInt((ms/(1000*60*60))%24);
hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
seconds = (seconds < 10) ? "0" + seconds : seconds;
frames = (frames < 10) ? "0" + frames : frames;
return hours + ":" + minutes + ":" + seconds + ":" + frames;
};
console.log(msToTimeCode(7036,112)); // displays 00:00:07:04