에펙 인코딩 빠르게 - epeg inkoding ppaleuge

결론부터 말씀드리겠습니다

i7-5970k 를 사용하지만 에펙은 버벅거립니다. 

3D쪽을 하려면 무조건 에펙은 사용하지 마세요~ 훨씬 가볍고 더 효율좋은 시네마 4D를 통해 에펙과 연동하는 것을 추천드립니다. 

ㅣ 에펙 렌더링 속도 빠르게 할수 있나요?

에프터 이펙트 프로그램 자체가 원래 이러한 효율이 좋지 못합니다.

아무리 좋은 컴퓨터라도 프로그램이 이 모양이므로, 빨라진다거나 하는 것은 거의 체감하지 못합니다.

메모리 8기가 컴퓨터와 메모리 16기가의 컴퓨터에서는 에펙의 빨라짐을 몸소 체험하지 못합니다.

이는 에프터이펙트(이하 에펙)의 CPU의 점유율을 먹습니다.

CPU의 코어가 많으면 많을수록 에펙 렌더링과 프리뷰 속도가 증대가 됩니다. 

따라서 에펙의 전반적인 속도가 향상되는 쪽도 CPU와 SSD의 사용입니다. 

따라서 엄청난 수의 CUDA 코어를 사용할게 아니라면 CPU의 점유율을 사용할 수밖에는 없습니다. 

경우에 따라 다르지만 CPU를 제온(서버워크스테이션급)을 사용해도 버벅거린다고 합니다. 

이 CPU는 최소 50만원짜리로 사용했을경우

그래서 애초에 전문가들은 한대의 컴퓨터로만 에펙을 하는게 아니라 여러대로 렌더링을 한다고 합니다.

그만큼 에펙은 성능이 아무리 좋은 컴퓨터라도 제값을 못하는 프로그램입니다. 

ㅣ 에펙 프리뷰 속도 빠르게 할 수 있나요?

에펙은 보통 재생을 하게 되면 캐시를 불러오기를 합니다. 

하지만 재생하지 않는 가운데에서도 캐시를 불러오라고 지시를 할 수 있습니다. 

에펙 인코딩 빠르게 - epeg inkoding ppaleuge

Include 항목에 cache Before Playback이라는 단어가 보이시죠?

이 단어의 정체는 플레이 전에 캐시를 불러오라는 뜻으로 재생하지 않아도 자동으로 캐시를 불러와

프리뷰 재생시 원할하게 해줍니다. 

그렇다고 프리뷰가 완벽하게 매끄럽게 되느냐

그게 아니고 캐시를 불러왔기 때문에 이 작업을 또 할필요가 없어, 중간에 영상이 끊기는 일은 없을 겁니다.

하지만 밀림 현상은 사양에 따라 있을 수 도 있습니다. 

ㅣ 결론

- 에펙의 속도를 빠르게 하려면 CPU와 SSD를 업그레이드 할 것

- 프리뷰 볼 때 재생전에 캐시를 불러오기 기능을 활성화 시키면 어느정도 프리뷰 속도가 빨라짐

(tagging)

#에프터 이펙트 속도

#에프터 이펙트 프리뷰

#에프터 이펙트 렌더링

#에펙 렌더링

#에펙 속도

#에펙 프리뷰

에펙에서 작업을 하다보면 렌더링을 해야 되는 경우가 많습니다.

그러나 작업할때 영상의 사이즈를 유튜브 영상 사이즈에 맞게 작업하지 않아서

실제 검은 테두리안에 영상이 갇혀있다던가 영상을 올렸을때 다시 렌더링 하게 되는 경우가 많습니다.

그런 경우 참 쉽게 렌더링 할 수 있습니다.

에펙의 경우 렌더링 하는 방법은 크게 2가지로 가능합니다.

첫번째. 에펙 자체 렌더링 사용하기

두번째. 미디어 인코더 사용하기

둘의 차이점이 무엇인지 궁금하신분들이 있으실텐데

둘의 차이점은 간단합니다.

에프터이펙트 자체로 렌더링을 하는 경우 .avi파일로 렌더링이 시작되며 파일의 용량이 큽니다

그리고 컴퓨터의 cpu, ram, ssd가 같이 연산작업을 하기때문에 분산작업이 되어서 렌더링이

조금 빠릅니다. 하지만 용량이 크다는 단점이 있습니다.

어도비 미디어 인코더로 렌더링을 하는 경우 여러가지 설정이 가능합니다

에프터 이펙트처럼 .avi파일로 할수있고 .mov 등등 여러가지 확장자로 렌더링이 가능합니다.

그리고 우리가 유튜브에 자주 올리는 .mp4파일로 렌더링이 가능합니다.

18년도가 지나면서 어도비 미디어 인코더에는 유튜브 전용 확장자가 생겨서 더더욱 쉬워졌습니다.

우선 에프터 이펙트로 렌더링을 하는 방법에 대해서 알려드리도록 하겠습니다.

우선 영상을 다 만드셨으면 파일을 클릭합니다.

에펙 인코딩 빠르게 - epeg inkoding ppaleuge
첫번째 파일 클릭

파일에서 내보내기를 누릅니다.

에펙 인코딩 빠르게 - epeg inkoding ppaleuge
메뉴 클릭

 여기서 제일 아래에 있는 렌더링 대기열에 추가를 눌러줍니다.

에펙 인코딩 빠르게 - epeg inkoding ppaleuge
이렇게...

그리고 위 이미지에 있는 출력 위치를 클릭해서 영상이 저장될 위치명을 잡아주시고

우측 상단에 렌더링을 누르고 렌더링을 시작하면 됩니다.

이제 미디어 인코더로 영상을 렌더링 해보겠습니다.

위에서 파일-내보내기-어도비 미디어 인코더 대기열에 추가를 눌러주세요

에펙 인코딩 빠르게 - epeg inkoding ppaleuge
바로 이렇게 자동실행

기다리면 미디어 인코더가 자동으로 켜집니다.

미디어 인코더는 따로 설치를 해주셔야 합니다.

에펙 인코딩 빠르게 - epeg inkoding ppaleuge
뽀로롱

이렇게 미디어 인코더가 실행이 되면 우리는 유튜브로 업로드를 할 것이기 때문에

유튜브 맞게 클릭하면 됩니다.

사전 설정 밑에 YouTube 1080p HD로 되어있는 파란 글씨를 클릭하면

원하는 옵션대로 출력이 가능합니다.

에펙 인코딩 빠르게 - epeg inkoding ppaleuge
사전 설정 클릭!

밑에 내보내기 설정을 보시면

형식

사전 설정

이런식으로 쭈욱 되어있는데

형식에서 H264를 클릭하시고

사전설정을 클릭해줍시다.

에펙 인코딩 빠르게 - epeg inkoding ppaleuge
클릭하면 나오는 리스트

이렇게 720p로 할지 

1080p로 할지 선택이 가능합니다.

720과 1080 4k의 차이점이 무엇이냐 하면

해상도의 차이입니다.

에프터이펙트에서 작업할때 제일 먼저 컴포지션 설정을 눌러서

해상도를 맞춰놓고 작업하셔야 합니다.

에펙 인코딩 빠르게 - epeg inkoding ppaleuge
컴포지션 설정

 이렇게 안하게 되면 위 이미지처럼 1920x1080인데

미디어 인코더에서 유튜브 4k로 출력을 하게 되면 영역이 비게되어서 테두리가 검은색으로 되고

만든 영상은 가운데에만 들어가있게 됩니다.

대부분 1080p에 맞추면 해상도는 1920x1080입니다.

1280x720은 720p이구요

뒤에 숫자가 화면 영역이라는건 대충 눈치채셨을겁니다.

4k의 경우 전문 카메라나 소스로 활용하지 않는 이상 크게 쓸일이 없으니

대부분 1080p에 맞춰서 영상작업을 해주시면 됩니다.

이렇게 마지막 컴포지션 설정까지 확인이 되었다면

이제 렌더링만 남았습니다.

에펙 인코딩 빠르게 - epeg inkoding ppaleuge
초록색 재생버튼 클릭

이렇게 유튜브 1080p으로 설정을 하고 나서 출력 위치를 정한뒤

우측상단에 초록색 재생버튼을 클릭하면 렌더링이 시작됩니다.

유튜브 설정으로 하는 경우 자동으로 H264인 mp4파일로 렌더링 되니까

렌더링 후에는 바로 유튜브에 업로드 할 수 있습니다. 파일용량도 적어서

업로드 속도도 매우 쾌적합니다.

GPU를 사용하는 이펙트가 늘어남에 따라 애프터이펙트는 최소 2GB의 그래픽 카드 메모리를 요구합니다. 새로운 편집시스템 구축이나 원활한 작업과 #렌더링속도향상 을 위해 그래픽 카드만 업그레이드하게 되면 4GB 이상의 GPU VRAM을 권장합니다. 읽기, 쓰기 속도가 좋은 SSD 드라이브를 사용하는 것도 애프터 이펙트의 렌더링 속도를 높이는 방법 가운데 하나입니다. 드라이브를 파티션 분할해 사용하는 것보다 시스템 OS와 프로그램만을 위한 SSD와 작업하면서 발생하는 디스크 캐시만 저장할 SSD, 작업용으로 사용할 세 개의 SSD 드라이브로 구성하는 것이 가장 좋습니다.

Adobe After Effects 인코딩 빠르게 하기

아래쪽 실선 아래 내용은 SSD 속도를 이용해서 렌더링과 인코딩 과정을

분산하자라는 의도였지만 다른 좋은 방법이 있었네요.

FrameServer라는 프로그램으로 저 아래에서 의도한 SSD 대체 효과가 충분합니다.

FrameServer, AviSynth와 FFMpeg를 이용해서 nvEnc나 QSV로 인코딩 하면

렌더링과 인코딩 작업의 분산 효과가 충분하고도 넘칩니다.

중요한 것은 FFMpeg를 이용해서 nvEnc나 QSV로 인코딩 하는 부분입니다.

(Adobe Media Encoder도 nvEnc나 QSV를 사용이 가능하지만 FFMpeg 보다 빠르진 않습니다.)

AE가 인코딩이 느린 이유는 렌더링도 CPU가 연산 하고, 인코딩도 CPU가 연산 하기 때문인데

nvEnc나 QSV를 이용하게 되면 렌더링은 CPU가 연산하고, 인코딩은 GPU가 연산하는

분산 작업을 하게 되면서 빨라지는 겁니다.

이거 외에도 3D 렌더러로 셋팅하고 사용하면 GPU 렌더링이 됩니다.

즉, 렌더링도 그래픽(GPU)로 몰아 넣을수 있다는 것으로

하이엔드 그래픽(1060, 1070, 1080), 로우엔드 그래픽(1030, 1040, 1050) 두개로 구성해서

하이엔드 그래픽에서는 렌더링, 로우엔드 그래픽에서는 nvEnc 인코딩,

CPU는 디코딩 하게 하는 분산도 가능합니다.

하지만 아무리 GPU가 좋다고 해도 디코딩도 하드웨어 가속 써서 GPU 사용, 렌더링도 GPU 사용,

인코딩도 GPU 사용 식으로 GPU에만 과부하를 주고 CPU를 놀게 만들면 절대 안됩니다.

가장 중요한 건 분산 작업이니까요

그리고 저 아래 내용에 스왑 메모리를 위해 SSD를 이용하는건 효과가 충분합니다.

30분~1시간 정도 되는 동영상이라면 램이 64GB여도 스왑 메모리를 쓸 수밖에 없습니다.

아래는 관련 정보 링크입니다.

https://helpx.adobe.com/after-effects/using/rendering-opengl.html

https://trac.ffmpeg.org/wiki/Encode/PremierePro

https://youtu.be/AGvryaRGSK0

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

​ 

결론부터 말하면 많은 사람들이 당연히 생각하는 "돈을 써라"입니다만...

동작 원리를 알고 돈을 써야 효율성이 높아지기 때문에 포스팅합니다

먼저 알아야 할 것

AE는 무압축 비디오 렌더링을 하기 때문에 메모리를 무지 막지하게 잡아 먹음

메인 메모리가 부족하면 그냥 바로 가상 메모리를 사용하고, 가상 메모리까지 부족하면

무조건 에러 내뿜는 극악의 무개념 프로그램

효과 이미지는 BMP로, 효과음은 WAV로 임시 폴더에 변환한 후에 렌더링하는 무지 막지한 프로그램

(렌더링 하면서 필요할 때 메모리 상에서 변환한다는 개념이 없음, 그냥 구성된 모든 소스 파일을 한꺼번에 변환)

Adobe Media Encoder와 연계 하는 인코딩(렌더링과 인코딩을 동시에 진행)이 느린 이유도 이 메모리 때문임

렌더링에서 무지 막지하게 메모리를 차지하고 있으니 인코딩에서 사용할 메모리가 부족하게 됨

즉, 메모리 관리가 엉망인 프로그램으로 이걸 해결하는 방법은 메모리 용량을 극단적으로 늘리던지

아니면 가상 메모리로 사용할 드라이브의 쓰기 속도를 극단적으로 올리는 방법 뿐 임

또한 Adobe Media Encoder 사용하지 말고, 렌더링과 인코딩을 구분하는게 좋음

가상 메모리로 사용할 드라이브의 쓰기 속도를 극단적으로 늘리는 방법

1. 프로그램 드라이브, 가상 메모리 드라이브, 임시 폴더 드라이브를 분산 시키는게 좋지만

   조금 복잡해서 읽기 쓰기 속도가 빠른 SSD 여러개를 RAID로 묶어 C드라이브로 하는게 편하다

   (가상 메모리, 임시 폴더는 기본으로 C드라이브에 설정 됨)

2. 모든 효과 소스(이미지, 효과음, 배경음 등)는 BMP, WAV로 저장해 두고 사용하는게 좋다

   (매번 렌더링 할 때 마다 소스 파일을 임시 폴더에 변환하는 것 방지)

3. 소스 파일 불러오기 전용 HDD, 렌더링 출력 전용 SSD를 구성하는게 좋다

4. 느려 터진 Adobe Media Encoder는 사용하지 말고 AE 자체 렌더링만 사용하는게 빠르다

   단, AE 자체 렌더링은 무지 막지한 용량과 빠른 쓰기 속도가 필요하다

   (렌더링 출력 전용 SSD를 구성 해야 하는 이유)

5. AE 자체 렌더링 출력 된 파일을 ffmpeg, 다음팟 인코더 등 QSV나 NVENC를 지원하는

   다른 인코더로 인코딩 하는게 좋다

6. 위 5가지를 다 한 이후에 CPU, 메모리, 그래픽 업그레이드를 생각한다

아래 그림은 위 내용대로 구상해 본 극단적 SSD RAID 구성...

* SSD는 200GB 이상 제품을 사용해야 쓰기 속도가 빠르다

  (렌더링 할 때 쓰기 속도 때문에 느려지지 않게 하기 위해)

* 드라이브1은 RAID 구성으로 최대한 쓰기 속도 빠르게 한다

  (가상 메모리 드라이브는 무조건 쓰기 속도가 중요)

* 드라이브2를 소스 파일 불러오기 전용 드라이브로 사용하고,

  소스 파일은 BMP or 무압축 PNG, WAV로 저장해야 추가 변환 작업을 안한다

* 드라이브3은 AE 렌더링 출력 전용 드라이브로 사용하고 렌더링 출력 파일은

  다시 ffmpeg 등으로 인코딩 해서 용량을 줄여 보관용 HDD에 저장한다

* [ 드라이브1 구성 (가상 메모리, 임시 폴더) ]→[ 드라이브2의 소스 불러오기 ]→[ 드라이브3에 렌더큐 출력 ]

  →[ 드라이브3에 출력된 파일을 x264 등으로 인코딩하여 드라이브2 or 보관용 HDD에 저장 ]

* RAID 구성하지 않고 [1.SSD] [2.HDD] [3.SSD] 정도만 해줘도 렌더링 속도는 빨라짐

... 만져보면서 생각한 내용 정리...