본문 바로가기
IT생활

FFmpeg에서 SVT-AV1 인코딩 시 RAM 사용량을 증가시키는 방법

by 우물 밖 개구리. 2025. 2. 17.
반응형

✅ FFmpeg에서 SVT-AV1 인코딩 시 RAM 사용량을 증가시키는 방법

SVT-AV1 인코더는 기본적으로 CPU 연산 중심이지만, 일부 파라미터를 조정하면 RAM 사용량을 늘려 성능을 최적화할 수 있음.


1️⃣ RAM 사용량을 증가시키는 주요 옵션

🔹 1. -svtav1-params ReservedMemory=...

  • 특정 용량의 메모리를 예약하여 사용 가능
  • 기본값은 낮게 설정되어 있을 수 있으므로, 높은 값을 주면 더 많은 RAM을 사용함

예제 (RAM 4GB 예약)

ffmpeg -i input.mp4 -c:v libsvtav1 -b:v 10M -preset 6 -svtav1-params "ReservedMemory=4096" output.mp4

4GB의 RAM을 SVT-AV1 전용으로 예약하여 사용


🔹 2. -svtav1-params Threads=...

  • 여러 스레드를 사용할수록 RAM 사용량 증가
  • 권장: CPU 코어 수의 2배 정도 (Threads=32 같은 값 사용)

예제 (스레드 수 32로 설정)

ffmpeg -i input.mp4 -c:v libsvtav1 -b:v 10M -preset 6 -svtav1-params "Threads=32" output.mp4

🔹 3. -svtav1-params HierarchicalLevels=...

  • GOP(Group of Pictures) 구조를 조정하여 더 많은 메모리 사용 가능
  • 기본값 4 → 더 높은 값 (5~6)으로 설정하면 메모리 사용 증가

예제 (HierarchicalLevels 6)

ffmpeg -i input.mp4 -c:v libsvtav1 -b:v 10M -preset 6 -svtav1-params "HierarchicalLevels=6" output.mp4

🔹 4. -svtav1-params TileRows=..., TileColumns=...

  • 타일을 많이 나누면 RAM 사용량 증가 (멀티스레딩 최적화)
  • 권장: CPU 코어 수에 맞춰 타일을 조정

예제 (타일 4x4 설정)

ffmpeg -i input.mp4 -c:v libsvtav1 -b:v 10M -preset 6 -svtav1-params "TileRows=4:TileColumns=4" output.mp4

🔹 5. -svtav1-params LookAhead=...

  • 프레임을 미리 분석하여 RAM 사용량 증가
  • 기본값 33 → 더 높은 값 (120)으로 설정하면 RAM 사용 증가

예제 (Lookahead 120)

ffmpeg -i input.mp4 -c:v libsvtav1 -b:v 10M -preset 6 -svtav1-params "LookAhead=120" output.mp4

2️⃣ 예제: RAM 사용량을 최대한 늘리는 설정

다음 설정은 최대한 많은 메모리를 활용하도록 조정한 FFmpeg 명령어입니다.

ffmpeg -i input.mp4 -c:v libsvtav1 -b:v 10000k -preset 6 -svtav1-params "ReservedMemory=8192:Threads=32:HierarchicalLevels=6:TileRows=4:TileColumns=4:LookAhead=120" output.mp4

주요 변경 사항

  • ReservedMemory=8192 → 8GB RAM 예약
  • Threads=32 → 32스레드 사용
  • HierarchicalLevels=6 → GOP 구조 조정
  • TileRows=4:TileColumns=4 → 타일 나누기
  • LookAhead=120 → 프레임 미리보기 증가

🚀 결론

SVT-AV1의 RAM 사용량을 늘리려면 다음 옵션을 조정하면 됨:
1️⃣ ReservedMemory → RAM 예약 (기본값보다 높게 설정)
2️⃣ Threads → 코어 수보다 2배 정도 높게 설정
3️⃣ HierarchicalLevels → 6으로 설정 (GOP 증가)
4️⃣ TileRows / TileColumns → 타일 수 증가
5️⃣ LookAhead → 120 등으로 증가

위 설정을 적용하면 더 많은 RAM을 사용하여 인코딩 성능 최적화 가능! 🚀

반응형