사용자 후기

전체보기

모바일 상단 메뉴

본문 페이지

[CPU/RAM] RYZEN x RADEON으로 편하게 인코딩 하기

아이콘 레시메르베주
조회: 3798
2019-05-21 01:11:00


■ 시간을 버리는 영상 녹화와 인코딩 피하기 

제가 예전에 취미로 이러한 영상을 유튜브에 올린 적이 있습니다. 

<데드 바이 데이라이트> 살인마인 레이스(종구) 플레이 영상이죠. 



▲ 이 편집 영상은 "막무가내식의 결정체"입니다. 

 

이 영상 하나 만들기 위해서 들인 시간은 녹화, 인코딩, 편집 모두 합쳐 4~5시간 이상이었습니다. 

그렇게 된 원인은 막무가내식 인코딩과 편집에 있습니다. 

본격적인 영상 편집을 단순히 처음해서 이런 걸 떠나서 과정 자체가 너무 비효율적이었죠. 





▲ 원본 영상은 평균 비디오 비트레이트가 약 50000kbps에 달합니다. 

 

편집 과정을 보여주는 파일은 8개가 남았지만 ​실제 결과물은 이보다 훨씬 많습니다. 

이걸 별 다른 인코딩 없이 원본 그대로 십수 회에 걸친 편집 과정을 거쳤습니다. 

심지어 영상 편집 프로그램의 프로젝트 파일을 쓰지도 않았습니다. 

무식하면 용감하다고 아주 용감하게 한 거죠.  

 

해당 원본 영상의 용량이 5.07GB에 달했기 때문에 

"편집 및 재인코딩 과정"에서 무의미하게 버린 시간이 너무 많습니다. 

효율적으로 그리고 계획적으로 한다면 다음과 같은 과정을 거쳐야 합니다. 

 

1. 원본 게임 영상 녹화  

2. 유튜브에 올릴 최적화된 포맷으로 영상 인코딩 

3. 2번의 결과물을 영상 편집 프로그램으로 보기 좋게 편집 

4. 영상 표지를 첨부해서 유튜브에 업로드 

 

여기서 다룰 건 2번 항목입니다. 





■ 유튜브에 적절한 포맷은 어떤 것인가 


▲ https://support.google.com/youtube/answer/1722171?hl=ko

구글에서 권장하는 유튜브 권장 업로딩 인코딩 설정입니다. 

 

영상 파일 확장자는 mp4

오디오 코덱은 AAC LC

동영상 코덱은 H.264 

SDR 영상 비트레이트는 1080p@30fps 8000kbps 1080p@60fps 12000kbps 

오디오 비트레이트는 스테레오(2채널) 384kbps / 5.1채널 512kpbs

 

여기서 중요한 건 우리가 일반적으로 이용하는 SDR 영상 비트레이트입니다. 

나머지 옵션은 대략적으로 맞춰도 별 문제가 없습니다. 

기본적으로 유튜브는 대역폭 절감을 위해서 어떠한 동영상 코덱을 쓰든 

자신들이 적절하다고 판단하는 비트레이트로 재인코딩해서 송출합니다. 

 

앞서 올린 "종구 플레이 영상 원본"을 그대로 올린 적이 있는데 

유튜브에서 적절한 수준으로 재인코딩을 했기에 화질이 크게 저하됐죠. 

게다가 용량이 5.07GB에 달했기에 유튜브 업로드에 꽤나 오랜 시간이 걸렸습니다. 

따라서 그 시간을 절약하기 위해서라도 인코딩은 필수입니다. 




▲ 위가 H264 12000kbps, 아래가 H264 8000kbps 영상입니다. 

 

일견 화질에 큰 차이는 없어 보입니다만

그건 화면 크기 때문이죠. 

전체화면으로 보면 12000kbps 쪽이 좀 더 나은 화질을 자랑합니다. 

 

굳이 해당 영상을 보실 필요는 없습니다.

아래 첨부한 스샷을 보시면 됩니다. 




▲ 위가 H.264 12000kbps, 아래가 동일 코덱 8000kbps입니다. 

스샷 크기가 작아서 구분이 되지 않는다구요? 

그럼 확대해서 보죠. 





▲ 우측 하단의 어두운 부분을 확대하고 밝게 조정한 스샷입니다.

좌측이 12000kbps, 우측이 8000kbps입니다.  

8000kbps 쪽이 깍두기가 잘 보입니다. 

유튜브 서버에서 12000kbps까지는 소화를 해주니 가능하면 12000kbps로 올려주는 게 좋겠죠. 




■ 코덱 선택과 OpenCL 가속 

비디오 코덱은 H.264와 HEVC(H.265)를 많이 쓰고 후자가 압축률이 높습니다. 

특히 후자는 고해상도, 저 비트레이트에서 강한 면모를 보입니다.  

다만 일반적으로 많이 쓰는 1080p에서는 별 차이가 없어 보입니다. 

따라서 1080p 해상도에서는 아무거나 써도 된다고 생각합니다. 

 

구글에서 권장하는 유튜브 권장 업로딩 인코딩 설정​과 실질적인 화질 차이를 고려하면 

H.264든 H.265든 코덱은 별 상관이 없습니다. 

비트레이트는 12000kbps면 충분하구요. 

중요한 건 인코딩 속도입니다. 

 

다음팟 인코더와 인터페이스가 비슷한 느낌을 주는 샤나 인코더를 사용했습니다. 

다음팟 인코더는 아주 오래 전에 사용한 적이 있죠. 


<샤나 인코더 다운로드> 주소는 다음과 같습니다.  

https://shana.pe.kr/shanaencoder_download/50225 




▲ 샤나 인코더의 경우 위와 같은 코덱을 기본적으로 지원합니다. 

 

H.264: 범용, OpenCL 사용 가능 

H.264(NVENC): NVIDIA 그래픽 카드 전용 

H.264(QSV): Intel Quick Sync Video, 인텔 내장용 

HEVC: H.265 범용 

HEVC(NVENC): NVIDIA 그래픽 카드 전용 

HEVC(QSV): Intel Quick Sync Video, 인텔 내장용 

MPEG4: 범용   

 

RADEON 그래픽 카드 사용자라면 빨간색으로 표시된 코덱을 사용해야 합니다. 

후술하겠지만 <OpenCL 가속>을 사용 가능한 H.264 코덱을 추천합니다. 




▲ <OpenCL 가속>을 사용한 경우와 그렇지 않은 경우입니다. 

 

인코딩 속도가 3배 이상 빨라졌습니다. ​

<OpenCL 가속>을 사용하면 인코딩에 필요한 자원을 GPU인 RADEON VII에 할당합니다. 

그 때문에 RADEON VII은 미가속 때보다 2배 이상 사용율이 올랐습니다.

대신 CPU 사용량 100%를 돌파할 기세였던 RYZEN 2600의 사용량은 꽤나 낮아졌습니다. 





▲ 샤나 인코더 [빠른 설정]에서 OpenCL 가속을 체크하기만 하면 됩니다. 

 

단, HEVC(H.265)와 MPEG 코덱은 OpenCL 가속을 지원하지 않습니다. 

따라서 OpenCL 가속 지원이 되는 그래픽 카드를 쓰고 H.264 코덱을 사용해야 하죠. 

 

 

 

 

■  간단하고 빠른 인코딩 설정 


▲ 구글에서 권장하는 유튜브 권장 업로딩 인코딩 설정​에 따른 샤나 인코더 빠른 설정 옵션입니다. 

 

H.264 코덱 + OpenCL 가속 

비트레이트 12000kbps 

CFR(고정 프레임 레이트) 사용 

영상 사이즈 1920 x 1080 (변경 없음) 

오디오 코덱 AAC LC (시스템 오디오 채널 수에 따라 스테레오 2채널 혹은 5.1채널 선택) 

 

CFR(Constant Frame Rate)를 체크하는 건 동영상 편집 프로그램을 쓰면서 프레임이 밀리는 상황을 방지하기 위함입니다. 영상의 프레임이 30fps로도 나왔다가 60fps로도 나왔다가 하는 등 프레임 변화가 있는 VFR(Variable Frame Rate) 영상의 경우 영상 프로그램으로 편집 시 싱크가 맞지 않는 경우가 발생할 수 있습니다. 

 

영상 자체가 녹화될 때 고정 60fps 설정으로 됐다면 상관없습니다. 

RADEON ReLive나 GeForce Shadowplay로 게임영상을 녹화한 경우

30/60fps 고정 녹화라 굳이 신경쓸 필요가 없죠. 

 

우측 상단에 2패스 항목이 있는데 디폴트는 1패스입니다.

2패스로 설정하면 연속적인 인코딩을 통해 좀 더 나은 화질을 보장합니다만

한바퀴를 더 돌려줘야 하기에 시간이 더 오래 걸리는데다가 

유튜브에 올리는 순간 1패스든 2패스든 의미가 없어집니다. 

서버에 업로드되면서 자동으로 화질이 재조정되기에 1패스나 2패스나 별 차이가 없죠. 

 

리사이즈 필터는 말 그대로 영상 크기 변경 시 걸어주는 필터로 

깍두기나 이런저런 잡티(?)가 들어가는 걸 최소한도로 해줍니다. 

업스케일링 시 lanczos나 spline 필터를 걸어주는 게 좋다고 합니다. 

다만 여러 가지 세부적인 조정을 해주지 않는 한 큰 차이는 없다고 하더군요.

테스트해보니 실제로 그랬습니다. 

4K 같은 고해상도가 아닌 경우 기본값인 bicubic를 써도 충분합니다. 

 

영상 크기를 변경하지 않는다면 체크할 필요가 없는 옵션입니다. 





▲ 추가로 중요한 건 <코덱 설정 프리셋> 항목입니다. 

 

다른 건 딱히 만져줄 게 없습니다. 

프리셋 설정을 ultrafast로 해주면 인코딩에 소요되는 시간을 크게 줄일 수 있습니다.

단계를 내릴 수록 인코딩 시간이 길어지지만 대신 CPU 자원에 여유가 생깁니다. 





▲ 간단한 설정과 몇 분의 인코딩을 통해 큰 화질 없이 용량을 몇 배 줄일 수 있습니다. 

 

유튜브에 올리는 용도라면 구글 서버 대역폭에 맞춰 열화가 되는 부분을 감안해 12000kbps 정도면 괜찮죠. 좋은 화질로 소장해서 보겠다면 더 복잡한 세팅이 필요하지만 유튜브 업로드용이라면 이 정도만 해도 충분합니다. 세심하게 설정을 해도 유튜브에 업로드되는 과정에서 상당 부분 쓸모없어지기도 하구요. 

 

개인적으로 게임영상 녹화에 추천하는 프로그램은 AMD 및 NVIDIA 그래픽 카드 드라이버에 각각 부속된 RADEON ReLive GeForce Shadowplay​입니다. 사용하기도 간편하거니와 이렇다 할 문제가 없어서 굳이 다른 프로그램을 쓸 이유가 없다고 봅니다. 




<PC 사양>

CPU: AMD RYZEN 5 2600

CPU 쿨러: 레이스 맥스

메인보드: 기가바이트 A320M-H

RAM: 지스킬 FLARE-X 3200MHz CL14 8GB x 2 (3466MHz 14-14-14-30-44-312 CR1) 

VGA: EVGA RTX 2080 Ti FTW3 Ultra Gaming / ASRock Phantom Gaming X RADEON VII 

SSD: WD BLUE 250GB / MICRON MX500 1TB

파워: EVGA 750BQ 80PLUS BRONZE

케이스: 마이크로닉스 ARC-3000 화이트  

키보드: 커세어 K95 RGB 플래티넘 은축 

마우스: 로지텍 G502 RGB PROTEUS SPECTRUM

모니터: LG 32GK850G    




인벤러

Lv82 레시메르베주

인벤 만세

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 갤러리 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

최근 HOT한 콘텐츠

  • 견적
  • 게임
  • IT
  • 유머
  • 연예