프레임을 초로, 초를 프레임으로 변환하는 방법

초 = 프레임 ÷ fps, 프레임 = 초 × fps입니다. 24, 23.976, 29.97 fps에서 프레임과 타임코드를 변환하는 방법과 Sume가 초 단위를 받는 이유를 설명합니다.

읽는 시간 5분Sume
전체 글

프레임을 초로 변환하려면 프레임 수를 프레임 레이트로 나누세요. 초 = 프레임 ÷ fps입니다. 반대로 변환하려면 곱하세요. 프레임 = 초 × fps이므로, 5초는 24 fps에서 120프레임, 30 fps에서 150프레임, 60 fps에서 300프레임입니다. 23.976 fps와 29.97 fps 영상에는 정확한 레이트인 24000/1001과 30000/1001을 쓰세요.

정확한 레이트와 FFmpeg의 시간 문법은 FFmpeg의 유틸리티, ffmpeg, 필터 문서에서, Sume의 필드는 영상 트림, Timeline 1.0, 영상 프레임 문서와 Sume API 레퍼런스에서 가져왔으며, 모두 2026-09-28에 확인했습니다. 현재 동작이라고 설명한 내용은 Sume의 코드에서 확인한 것입니다.

5초는 몇 프레임인가요?

프레임 레이트에 따라 다릅니다. 23.976 fps와 29.97 fps에서는 5초가 정수 개의 프레임으로 떨어지지 않아 5초 지점이 두 프레임 사이에 놓입니다. 프레임 하나가 필요하다면 가장 가까운 프레임으로 반올림하세요.

정확한 레이트는 FFmpeg 영상 레이트 문법 기준, 2026-09-28 확인. 나머지 열은 이 레이트로 계산했습니다.
프레임 레이트프레임 하나의 길이5초의 프레임 수1분의 프레임 수
23.976 fps41.708 ms119.881,438.56
24 fps41.667 ms1201,440
25 fps40.000 ms1251,500
29.97 fps33.367 ms149.851,798.2
30 fps33.333 ms1501,800
60 fps16.667 ms3003,600

타임코드는 어떻게 초로 변환하나요?

타임코드는 각 프레임을 시:분:초:프레임(HH:MM:SS:FF) 형식으로 표시합니다. 정수 프레임 레이트에서는 초 = 시 × 3600 + 분 × 60 + 초 + 프레임 ÷ fps이므로, 24 fps에서 00:01:10:12는 70.5초입니다.

  • 23.976 fps나 29.97 fps에서도 논드롭 프레임 타임코드는 타임코드상 한 초에 24프레임 또는 30프레임을 셉니다. 먼저 (시 × 3600 + 분 × 60 + 초) × 24(또는 30) + 프레임으로 프레임 수를 구한 뒤, 실제 레이트인 24000/1001 또는 30000/1001로 나누세요. 23.976 fps에서 타임코드상 한 시간은 실제로는 3,603.6초입니다.
  • 29.97 fps의 변형인 드롭 프레임 타임코드는 실제 시간에 가깝게 유지하려고 프레임이 아니라 프레임 번호를 건너뛰므로, 별도의 변환이 필요합니다. 변환하기 전에 편집기가 어떤 종류의 타임코드를 표시하는지 확인하세요.

FFmpeg는 프레임이나 타임코드를 받나요?

시간 옵션에서는 받지 않습니다. -ss, -t, -to는 시간 길이를 받으며, 이 값은 [-][HH:]MM:SS[.m...] 형식이나 s, ms, us 접미사를 선택적으로 붙인 초 단위 숫자로 씁니다. 이 문법에는 프레임 필드가 없습니다. 먼저 프레임 부분을 소수로 바꾸세요. 24 fps에서 00:01:10:12라면 70.5나 00:01:10.5를 넘기면 됩니다.

대신 프레임 번호로 자르려면 FFmpeg의 trim 필터를 쓰세요. start_frame은 출력으로 넘어가는 첫 프레임의 번호이고, end_frame은 버려지는 첫 프레임의 번호입니다. 이 옵션들은 타임스탬프를 읽는 대신 필터를 통과하는 프레임을 셉니다.

Sume의 편집 도구는 어떤 단위를 쓰나요?

초입니다. 시간 필드는 프레임이나 타임코드가 아니라 초를 받으므로, 호출하기 전에 변환하세요. 이 도구들은 이전 Sume Job의 출력처럼 워크스페이스에 있는 media.sume.com 파일만 읽습니다. 무료 프로브가 클립의 fps를 어떻게 알려 주는지는 영상의 길이, 해상도, fps 확인하기에서 보여 주며, 현재 코드에서 이 값은 평균 프레임 레이트를 소수점 세 자리로 반올림한 것입니다.

  • 영상 트림: start, end, duration은 초 단위이며, 트림은 [start, end) 구간을 자르므로 end는 포함되지 않습니다. 현재 코드에서 트림은 시작 위치와 길이를 소수점 세 자리, 즉 밀리초 단위로 반올림해 FFmpeg에 넘기며, 이는 위의 어느 레이트에서든 프레임 하나보다 세밀합니다.
  • Timeline 1.0: 각 video[] 슬롯의 start와 duration은 초 단위입니다. 전환 효과는 최소 출력 프레임 한 장 길이여야 하며, 현재 코드에서는 프레임 사이에 걸친 전환 효과를 가장 가까운 정수 프레임에 맞추고(이동 폭은 최대 반 프레임) transition_snapped_to_frame 경고를 붙입니다. 이 맞춤은 영상 전환 효과 API에서 다룹니다.
  • 영상 프레임: 모든 at[] 값은 초 단위이며, 0 이상이고 클립 길이보다 작아야 합니다. 그렇지 않으면 Job이 frame_time_out_of_range로 실패합니다.
# Frames 240 up to 480 of a 24 fps clip: 240 ÷ 24 and 480 ÷ 24
curl -X POST https://api.sume.com/v1/video-trim \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: trim-frames-240-480" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
    "start": 10,
    "end": 20
  }'

출처

관련 글

미디어 도구 카테고리의 다른 글

미디어 도구 글 전체 보기

작성자 Sume