MPV copy current time as 25fps timecode
20. 9. 2021As seen here, but assumes that input is 25fps and that we want HH:MM:SS:FRAMES timecode format.
require 'mp'
local function set_clipboard(text)
mp.commandv("run", "powershell", "set-clipboard", text);
end
local function copyTime()
local time_pos = mp.get_property_number("time-pos")
local time_in_seconds = time_pos
local time_seg = time_pos % 60
time_pos = time_pos - time_seg
local time_hours = math.floor(time_pos / 3600)
time_pos = time_pos - (time_hours * 3600)
local time_minutes = time_pos/60
time_seg,time_ms=string.format("%.03f", time_seg):match"([^.]*).(.*)"
-- by me time in 25 frames
time_ff = time_ms * 25 / 1000
-- time = string.format("%02d:%02d:%02d.%s", time_hours, time_minutes, time_seg, time_ms)
time = string.format("%02d:%02d:%02d:%02d", time_hours, time_minutes, time_seg, time_ff)
mp.osd_message(string.format("Copied to Clipboard: %s", time))
set_clipboard(time)
end
mp.add_key_binding("Ctrl+f", "copyTime", copyTime)
Install: Copy to mpv/scripts/copyTime25TimeCode.lua