프리미어 프로 CC 2015와 같이 유튜브 서버에 최적화된 동영상 인코딩 목적을 위해 오픈소스 FFMPEG 기반의 샤나인코더를 쓰고 있습니다. 팟플레이어는 RTV1도, 반디캠 코덱도 인식하는 점에서는 높게사지만 인코더 자체적인 라이브러리 버전업이 많이 부족해서 그나마 오픈소스 기반 인코더 중에 샤나인코더가 좋은 평이 있어서 넘어왔습니다.
근데 어이없는 버그도 좀 보이고 몇가지 아쉬운 미지원 기능들도 좀 있네요.
A.
Windows 10 Home 버전 1511 (빌드 10586.3)이 설치된 AMD PowerXpress 기반의 노트북 (인텔+AMD)에서 AMD 라데온 소프트웨어 (Crimson 15.11.1)에서 샤나인코더를 "고성능" (외장 그래픽)으로 설정하고 OpenCL 가속에서도 AMD Radeon 그래픽으로 설정하였으나 로그 기록을 보면 Switchable grahpics detected. OpenCL disabled.라고 뜹니다. 그리고 내장 그래픽으로 바꾸면 내장 그래픽만 OpenCL 가속을 정상적으로 사용할 수 있습니다. 이 부분에 대한 샤나인코더의 내부적인 추가적인 설명 기재 및 옵션 추가가 필요합니다.
그러므로 OpenCL 및 CUDA 가속 시 자동적으로 NVidia Optimus 및 AMD PowerXpress 환경인지를 인코더 모듈이 아닌 샤나인코더 코어에서 자동적으로 감지해서 문제가 발생하지 않는 최적의 GPU로 자동 설정하게 막던지 하는 추가 조치도 필요합니다.
문제의 원인으로 추측되는 로그 (OpenCL 가속 GPU로 AMD Radeon R9 M200X Series 설정 시)
[libx264 @ 00000000052f1600] OpenCL acceleration disabled, switchable graphics detected
B.
x264나 x265 인코더 사용 시에 초보자들을 위해서 따로 시각적 무손실의 인트라 옵션 (GOP N=1)을 별도로 추가해주셨으면 합니다. 그리고 가뜩이나 x265는 세부 옵션 설정도 없는데 인트라 코딩을 써야하는 사람들은 매우 불편하게 받아들일 수 있습니다.
C.
x264에서 인트라 코딩 시에 설정된 비트레이트대로 인코딩되지 않고 (Nominal Bit Rate) 절반 수준의 비트레이트 (Overall Bitrate)로 자꾸 인코딩되는 경향이 있는데 오픈소스를 활용하는 샤나인코더의 문제보다는 오픈소스의 버전이나 기능 상의 결점으로 생각됩니다. 이 부분이 파악이 되어서 정확한 안내가 되었으면 합니다.
D.
최대 64x64 블럭으로 세밀한 데이터 배분이 가능한 HEVC에 비해서 x264의 매크로 블럭 설정 시 16x16dct 블럭이나 16x16블럭, 16x8블럭,8x16 블럭 설정이 불가능 한 것은 매우 아쉽게 느껴집니다. 인트라 코딩으로 최대한 원본 화질을 최대한 유지하면서 유튜브 서버에 맞게 코덱 최적화 된 시각적 무손실 (Visually Lossless)을 매우 중요시하는 유저로써 상당히 아쉽습니다.
E.
x264 인코딩 시에 high10을 쓰면 OpenCL을 사용할 수 없다는 개발진의 설명이 납득되지 않습니다. 이론적으로 불가능한 것인지 이론적으로 문제되지 않으나 인코더 모듈의 구형 버전 상 지원이 안되는 부분인지에 대해서 명확한 안내 문구가 인코더 내부에 기재를 했으면 좋겠습니다. 그러나 프리미어 프로 CC 2015에서 XAVC Intra (H.264 4:2:2 Intra @ L5.2, YUV 10비트) 솔루션을 사용하고도 GPU가 60%정도 사용되면서 GPU 가속이 되는 것으로 보아 High10 프로파일에 대한 OpenCL 가속을 FFMPEG가 구형 버전에서 자체적으로 미지원하지 않나는 의구심이 듭니다. HEVC에서도 OpenCL 가속 못쓰는 것도 그런 의심이 되네요.
F.
오디오 트랙을 외부 오디오 파일에서 추가하여 싱크를 맞추는 기능 (ms 단위)도 추가하면 좋겠습니다. 동영상 편집 프로그램에서 96Khz/24비트 Hi-Fi 오디오 출력을 하기가 힘들어서 별도 분리 출력을 하면 Remuxer도 찾기 힘들고 기존 Remuxer들은 사용하기 힘들거나 구버전이여서 96Khz/24비트 PCM에 대한 인식이 잘 안됩니다. (다음 팟인코더 포함)
비표준 코덱이라 굳이 개선 요청은 하고 싶진않지만... RTV1, 반디집 코덱도 디코딩 지원을 했으면 좋겠습니다.