조회 수 6342 추천 수 2 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

인코딩 작업이 진행될 때 작업 흐름(workflow)은 어떻게 되는지 인포그래픽으로 정리해 보았습니다.

 

 

□ 스트림 복사와 재인코딩

스트림 복사(stream copy)란 위의 과정에서 디코딩, 필터 작업, 인코딩이 생략되어 디먹싱 후 바로 먹싱을 진행하는 것을 말합니다. 이때 해당 스트림(비디오, 오디오 등)은 압축 해제를 전혀 하지 않고 단지 컨테이너 양식만 바뀌게 되어 화질에는 전혀 영향이 없습니다.

 

재인코딩(re-encoding)은 스트림 복사의 반대 개념으로, 화질에 영향을 주는 디코딩, 필터 작업, 인코딩을 거치게 되며 코덱이 손실 코덱인 경우 반드시 원본에 비해 화질 저하가 일어나게 됩니다. 필터 작업은 디코딩(압축 해제)된 데이터를 대상으로 특정 데이터 처리 알고리듬을 적용하는 것을 말하므로 화질 손상과 직접적인 관련은 없지만, 필터 작업을 끝낸 동영상은 반드시 인코딩을 해야 하므로 이때 (손실 코덱의 경우) 화질 저하가 발생합니다.

 

□ 하드웨어 툴

하드웨어 툴은 그래픽 카드를 기반으로 GPU와 그래픽 카드의 칩들을 이용해 연산하는 툴을 말합니다. 스트림의 버퍼를 그래픽 카드의 메모리에 두고 작업하며, 그래픽 카드에 미리 설계된 알고리듬에 따라 칩이 하드웨어적으로 연산하므로 빠르게 처리가 가능합니다.

 

엔비디아 계열은 접두어 NV를 붙이거나 CUVID, CUDA와 관련이 있고, AMD 계열은 AMF 또는 UVD와 VCE라는 명칭을 가지며, 인텔 계열은 QSV의 명칭을 갖고 있습니다. 그래픽 카드 제조사가 아닌 제3자(third-party)가 제작해서 제공하는 하드웨어 툴들도 있는데, 마이크로소프트의 DXVA(DirectX Video Acceleration) 계열인 DXVA2, D3D11과 OpenCL, 리눅스에서 사용되는 VDPAU, 오픈소스인 VAAPI 등이 이에 해당됩니다.

 

위에 언급한 하드웨어 플랫폼을 바탕으로 독립적인 그룹 또는 개인 제작자가 제공하는 하드웨어 인코딩 툴들이 있는데, 대표적으로 rigaya라는 일본인 개발자가 제공하는 NVEnc, VCEEnc, QSVEnc 등이 그것입니다(rigaya의 깃헙 페이지).

 

rigaya는 최근 본인이 제공하는 엔비디아 계열 인코더에 FFmpeg에는 없는 'VPP 하드웨어 필터'들을 내장해서 제공하고 있습니다. (scale, 디인터레이스(nnedi), crop, deband, edgelevel, unsharp, denoise 등. 최근에는 제한적 기능의 '자막 입히기(subburn)'까지 추가)

 

□ 소프트웨어 툴

소프트웨어 툴은 CPU를 이용해 연산하는 툴을 말합니다. 스트림의 버퍼를 메인보드의 메모리에 두고 작업합니다. 프로그램 내부의 알고리듬으로 소프트웨어적으로 연산하므로 자유도가 높아서 복잡한 알고리듬을 구현할 수 있는 반면 처리 속도가 상대적으로 느립니다. 대신 결과물의 퀄리티는 하드웨어 툴에 비해 우수합니다.

 

□ 인코딩 속도와 관련해서 유의할 점

인코딩을 할 때는 하드웨어 툴과 소프트웨어 툴 간의 자료 교환으로 인한 병목 현상을 염두에 두어야 합니다. CPU(메인보드)와 GPU(그래픽 카드) 간의 자료 교환을 위한 버스 속도의 한계로 인해 자료 교환 횟수가 많을수록 작업 속도는 저하됩니다.

 

예를 들어 하드웨어 인코더소프트웨어 필터를 사용할 경우, '하드웨어 디코딩(GPU) 소프트웨어 필터(CPU) 하드웨어 인코딩(GPU)'의 작업 흐름(하드웨어 디코딩 활성화, 2번의 자료 교환)은 '소프트웨어 디코딩(CPU) 소프트웨어 필터(CPU) 하드웨어 인코딩(GPU)'의 작업 흐름(하드웨어 디코딩 비활성화, 1번의 자료 교환)보다 속도가 느립니다.

 

물론 이때 필터를 하드웨어 필터만으로 사용한다면 (인코딩되는 영상의 화질과는 무관하게) 작업 속도가 월등히 향상됩니다.

 

FFmpeg(와 FFmpeg 기반의 샤나인코더)의 경우 라이센스(LGPL) 문제 때문에 배포되는 모든 필터가 소프트웨어 필터이니만큼 해상도 변경 같은 필터 작업을 할 때는 하드웨어 인코딩을 하더라도 디코딩은 하드웨어 디코딩을 비활성화함으로써 인코딩 속도를 높일 수 있습니다.

 

이 글을 추천한 사람
bluedove 합풀
Facebook Twitter Pinterest Kakao

List of Articles
번호 제목 글쓴이 날짜 조회 수 추천 수
33 샤나에서 HEVC(x265)로 2패스 인코딩하기 12 file JKyle 2018.08.28 14805 0
32 샤나인코더 4.9 버전부터 추가된 편의기능 >>프리셋 메뉴 및 설정 메뉴를 빠르게 열기<< file Rina 2018.06.28 7470 0
31 하드웨어 가속 디코딩을 꺼서 인코딩 속도를 높이기 6 JKyle 2018.06.19 27901 1
30 소장용 고화질 1080p 영상 인코딩 팁 2 퍼플군단 2018.06.12 30135 0
29 샤나인코더와 자막, Q&A 1 file JKyle 2018.05.31 21058 2
28 QuickTime/Apple TV에서 재생이 안 되는 HEVC mp4/m4v 동영상 문제 해결 2 file JKyle 2018.05.21 4937 1
27 HD(720p) 이상 고해상도 동영상을 HD의 WebM(VP9, Opus 코덱)으로 인코딩하기 file JKyle 2018.05.20 5564 0
26 wINDOWS10 멀티 데스크톱 정군 2018.05.07 2645 0
25 HDR 영상 인코딩하기! 8 황금별똥 2018.01.23 9187 0
24 ASS 자막 파일을 aegisub으로 작업 시 libass를 사용하세요. file Rina 2018.01.20 4787 1
23 MP3 파일 비트레이트 320 이상 설정방법 / 자막크기 및 자막 위치 설정 방법 1 file 능소화 2017.10.28 5744 0
22 AMD 플루이드모션 60프레임 인코딩 (real 프레임레이트) 설정방법 (ffmpeg 프레임 보간기법) 23 file 능소화 2017.06.06 24393 0
21 막강한 ★샤나인코더★ 기능 제대로 사용하기 [영상-음성 분리하기 및 외부 음성파일 넣기] 37 file 능소화 2017.04.15 35385 4
20 2Audio 내장 플레이어로 재생시 기본재생 음성 지정하기 file 능소화 2017.04.09 5043 1
19 메타데이터, 챕터정보 삽입하기 1 file Rina 2017.04.02 4215 2
18 [TIP] 기존의 '귀여운 소녀' 아이콘으로 돌아가기 1 file 유밍 2017.03.30 10666 0
17 ※ 설정방법 / 프리셋파일포함 ※ 샤나인코더외부 자막 Mux 기능 추가 [v 4.5.1] 9 file 능소화 2017.03.30 15990 2
16 MKV 포맷에 ErrorDetectionType 에 대해서(지우는 방법 포함) file Rina 2017.03.14 3567 0
15 8쓰레드 부터 점유율 100프로 못찍을때 해결방법 입니다. 쩌는사냐인코더 2017.03.11 9157 0
14 webm VP9 인코딩 속도 올리는 방법 1 file 마소리스 2017.01.18 8251 0
Board Pagination Prev 1 2 3 4 Next
/ 4