Công cụ chuyển khung hình sang Timecode là gì?
Công cụ này giúp bạn đổi một số khung hình video thô thành thời lượng thực tế (tính bằng giây) và timecode chuẩn theo định dạng HH:MM:SS:FF. Những người làm dựng phim, hoạt hình, chỉnh màu hay đồ họa chuyển động thường xuyên phải quy đổi "bao nhiêu khung hình" thành "dài bao lâu" — chẳng hạn khi đọc số khung hình trong After Effects, Premiere, DaVinci Resolve hay một file EDL. Bạn chỉ cần nhập tổng số khung hình rồi chọn tốc độ khung hình của dự án.
Cách sử dụng
Nhập tổng số khung hình, sau đó chọn tốc độ khung hình mà cảnh quay hoặc timeline của bạn đang chạy: 23.976, 24, 25 (PAL), 29.97, 30, 50, 59.94 hoặc 60 fps. Công cụ sẽ trả về thời lượng chính xác tính bằng giây cùng timecode được tách thành giờ, phút, giây và phần khung hình còn dư.
Giải thích công thức
Thời lượng đơn giản là số khung hình chia cho tốc độ khung hình: \( t = N / \text{fps} \). Timecode được dựng lên bằng cách chia liên tiếp cho số khung hình trong mỗi đơn vị.
$$\begin{gathered} \text{Timecode} = HH:MM:SS:FF \\[1.5em] \text{where}\quad \left\{ \begin{aligned} N &= \left\lfloor \text{Total Frames} \right\rfloor,\quad f = \operatorname{round}\!\left(\text{FPS}\right) \\ HH &= \left\lfloor \dfrac{N}{3600\,f} \right\rfloor \\ MM &= \left\lfloor \dfrac{N \bmod 3600\,f}{60\,f} \right\rfloor \\ SS &= \left\lfloor \dfrac{N \bmod 60\,f}{f} \right\rfloor \\ FF &= N \bmod f \end{aligned} \right. \end{gathered}$$Giá trị fps được làm tròn về số nguyên gần nhất để tính phần FF (do đó 29.97 fps dùng 30 khung hình cho mỗi giây hiển thị, đúng theo quy ước non-drop-frame). Đây là mô hình non-drop-frame, nên với 29.97/59.94 fps thì timecode hiển thị sẽ chạy chậm hơn một chút so với thời gian thực — dòng "Tổng thời lượng" luôn cho biết thời gian thực chính xác.
$$\text{Total Seconds} = \frac{\text{Total Frames}}{\text{FPS}}$$
Ví dụ minh họa
Giả sử bạn có 1800 khung hình ở 30 fps. Thời lượng = \( 1800 / 30 = 60 \) giây. Timecode: 60 giây tương đương đúng 1 phút, nên kết quả là 00:01:00:00.
Câu hỏi thường gặp
Phần FF nghĩa là gì? FF là phần khung hình — số khung hình vượt quá giây tròn cuối cùng, chạy từ 00 đến \( \text{fps} - 1 \).
Vì sao tổng số giây lại khác với timecode ở 29.97 fps? Timecode non-drop-frame đếm 30 khung hình cho mỗi giây được dán nhãn dù thực tế chỉ có 29.97 khung hình được phát, nên thời gian theo nhãn sẽ trôi nhanh hơn thời gian thực. Giá trị tính bằng giây mới là thời gian trôi qua thật sự.
Tôi có thể làm ngược lại không? Công cụ này đổi khung hình thành thời gian; để tính khung hình từ một timecode, hãy nhân từng đơn vị thời gian với fps rồi cộng thêm phần khung hình.