영상을 정사각형으로 만드는 방법: 1:1로 자르거나 맞추기

영상을 정사각형으로 만들려면 가운데 1:1 영역을 잘라 내거나, 화면 전체를 정사각형 안에 넣고 검은 여백을 채우세요. Sume에서는 둘 다 FFmpeg 필터 Job 하나로 됩니다.

읽는 시간 5분Sume
전체 글

영상을 정사각형으로 만들려면 프레임 가운데에서 1:1 영역을 잘라 내거나, 화면 전체를 정사각형 프레임 안에 넣고 빈 공간을 검은 여백이나 블러 처리한 영상 사본으로 채우세요. 잘라 내는 방식에서는 가로 클립은 양옆이, 세로 클립은 위아래가 잘립니다. Sume에서는 이미 media.sume.com에 호스팅된 클립이라면 POST /v1/video-filter Job 하나로 크롭이나 검은 여백을 처리하고, 블러 배경으로 채우려면 Timeline 1.0 렌더를 씁니다.

FFmpeg 문법은 FFmpeg 필터 문서를, Sume 관련 내용은 영상 필터와 Timeline 1.0 문서, Sume API 레퍼런스를 따르며, 모두 2026-09-27에 확인했습니다. Sume 코드에서 확인한 동작은 현재 동작하는 방식대로 설명합니다.

영상을 정사각형으로 크롭하려면 어떻게 하나요?

프레임 높이만큼 큰 정사각형을 잘라 내세요. 세로 클립이라면 프레임 너비만큼입니다. FFmpeg의 crop 필터에서 처음 두 값은 출력 너비와 높이이고, iw와 ih는 입력의 너비와 높이입니다. x와 y를 지정하지 않으면 잘라 낼 영역은 가운데에 놓입니다.

  • crop=ih:ih는 가로 클립의 가운데 정사각형을 남깁니다. FFmpeg 문서는 같은 크롭을 crop=in_h로 씁니다.
  • crop=iw:iw는 세로 클립의 가운데 정사각형을 남깁니다.
  • crop=ih:ih:0:0은 가운데 대신 왼쪽 가장자리를 남깁니다. x는 입력에서 잘라 낼 영역의 왼쪽 가장자리가 놓이는 위치입니다.
  • scale=1080:1080은 크기를 정합니다. 저희 계산으로는 1920×1080 소스는 크롭만으로 이미 1080×1080이 되고, 3840×2160 소스는 2160×2160이 되며, 1280×720 소스는 720×720이 되어 scale이 이를 확대합니다.
  • 이 체인을 영상 필터 Job의 filtergraph로 보내세요. video_url은 이전 Sume Job의 출력처럼 이미 워크스페이스에 있는 media.sume.com 아티팩트나 에셋이어야 하며, 이 규칙은 엔드포인트별로 받는 URL에서 설명합니다. 결과는 소스의 프레임 레이트와 오디오를 그대로 가진 새 MP4입니다.
curl -X POST https://api.sume.com/v1/video-filter \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: square-crop-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/landscape.mp4",
    "filtergraph": "crop=ih:ih,scale=1080:1080"
  }'

자르지 않고 영상을 정사각형으로 만들려면 어떻게 하나요?

화면 전체가 정사각형 안에 들어갈 때까지 줄인 다음, 남는 공간을 패딩으로 채우세요. 300초 이하의 클립이라면 영상 필터 Job 하나가 두 작업을 모두 하고 클립 본래의 소리도 유지합니다. 이때 filtergraph는 scale=1080:1080:force_original_aspect_ratio=decrease,pad=1080:1080:(ow-iw)/2:(oh-ih)/2입니다.

  • force_original_aspect_ratio=decrease는 화면 비율을 유지하도록 필요한 만큼 출력 크기를 줄입니다. 그래서 1920×1080 클립은 약 1080×608이 됩니다(저희 계산).
  • pad=1080:1080은 1080×1080 프레임을 만듭니다. 오프셋에서 ow와 oh는 패딩을 더한 크기, iw와 ih는 화면의 크기이므로, (ow-iw)/2:(oh-ih)/2는 화면을 가운데에 놓습니다.
  • 패딩은 기본적으로 검은색입니다. 다른 색을 쓰려면 pad의 color 옵션을 추가하세요. 이 옵션은 FFmpeg 색상 문법에 따라 색 이름이나 hex 값을 받습니다.
  • 화면 뒤를 블러 처리한 영상 사본으로 채우거나 300초보다 긴 클립을 다루려면, output을 1080×1080으로 설정하고 fit: "blur"(여백을 원하면 "contain")를 지정해 클립을 Timeline 1.0으로 렌더링하세요. 이 렌더는 세로 영상을 가로로 만들기에서 단계별로 설명하며, 클립의 소리는 따로 분리한 트랙으로 받습니다.
curl -X POST https://api.sume.com/v1/video-filter \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: square-pad-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/landscape.mp4",
    "filtergraph": "scale=1080:1080:force_original_aspect_ratio=decrease,pad=1080:1080:(ow-iw)/2:(oh-ih)/2"
  }'

방법마다 무엇이 남나요?

1920×1080 클립을 1080×1080 정사각형으로 만들 때, 방법마다 화면이 얼마나 보이는지와 소리를 어디에서 가져오는지가 다릅니다.

픽셀 크기는 1920×1080 소스를 기준으로 저희가 계산한 값입니다. 동작은 영상 필터, Timeline 1.0, Sume API 레퍼런스, FFmpeg 필터 문서, 그리고 현재 동작하는 Sume Timeline 컴파일러 기준이며, 2026-09-27에 확인했습니다.
방법정사각형에 보이는 것소리
크롭: 영상 필터 Job의 crop=ih:ih가운데 1080×1080. 양옆에서 각각 420픽셀이 잘림소스의 오디오
검은 여백: 영상 필터 Job의 scale과 pad약 1080×608 크기의 화면 전체와 위아래의 검은 여백소스의 오디오
블러 채우기: fit: "blur"를 쓴 Timeline 1.0 렌더프레임을 블러 처리한 사본 위에 놓인 화면 전체렌더의 오디오로 넘긴 트랙만

한도와 비용은 어떻게 되나요?

  • 영상 필터는 최대 300초인 클립 하나를 읽으며, 더 긴 소스는 output_duration_exceeded로 실패합니다. Timeline 1.0 렌더의 출력 길이는 1–1800초입니다.
  • POST /v1/video-filter/check는 같은 본문을 무료로 검증하며, Job을 만들지 않고 크레딧도 예약하지 않습니다. 검사를 통과한 프로그램도 잘못된 식 같은 이유로 워커에서 실패할 수 있으며, 그 경우 Job 오류로 돌아옵니다.
  • 필터 인코딩은 Job당 과금되며, 문서는 요율을 GET /v1/catalog에서 확인하라고 안내합니다. API 요금 요율표에는 Timeline 렌더가 출력 분당 $0.10로 나와 있습니다.
  • Timeline 출력의 각 변은 256에서 2160 사이의 짝수 정수이므로, 렌더로 만들 수 있는 가장 큰 정사각형은 2160×2160입니다.
  • 필터는 HDR 소스(PQ 또는 HLG)를 hdr_source_unsupported로 거부합니다.
  • 크롭은 매번 다시 인코딩하면서 픽셀을 버립니다. 손실을 작게 유지하는 방법은 화질을 잃지 않고 영상 크롭하기에서 다룹니다.

출처

관련 글

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

미디어 도구 글 전체 보기

작성자 Sume