저클럭 멀티코어의 한계를 인코딩 시에는 뼈저리게 느끼게 됩니다.
왜냐하면 코덱마다 활용할 수 있는 스레드 수에 제한이 있기 때문입니다.
항상 이 점때문에 스레드리퍼나 라이젠이 굉장히 땡겼는데 .. 이제는 굳이 그렇게까지 고클럭 저코어에 매달릴 필요는 없을 듯 하네요.
제가 사용하는 cpu는 2699v4 es 듀얼 CPU입니다. 물리적으로 보드 하나에 cpu가 2개 붙어있는 워크스테이션입니다.
es모델이라 클럭이 2.1Ghz입니다. (엔지니어링 샘플)
(요런놈.. 2년 전에 수백만원 들여가면서 구매했는데 지금은 3950x보다 별론듯...)
처음 시도했을 때의 인코딩 옵션입니다만,
해보니까
에러가 나는군요.
이번에는 오디오를 아예 빼 봅시다.
서버 설정도 해주고
청크 사이즈도 조절했습니다.
청크 사이즈를 1로 하면 너무 많은 청크들이 생겨서 병목현상이 야기될 수 있습니다.
1로 하면 일반적인 영화파일의 경우 120개정도 생겼으며,
5로 하면 25개정도 나옵니다.
더 큰 숫자로 하면 더 줄어들겠죠.
다만, 너무 숫자가 크면 '분산 트랜스코딩'의 의미가 많이 떨어질 겁니다.
서버가 4갠데 청크가 2,3개면 효율이 많이 떨어지겠죠.
만족스러운 속도가 나오네요.
왼쪽 아래를 보면 333.16fps가 보이는데
이건 일반적인 ffmpeg 기반 트랜스코더로는 뽑기 힘든 수치입니다.
아무래도 코덱별로 코어 활용에 한계가 있으니까 말입니다.
CPU활용도 적당하네요.
나머지 20%는 가상머신들에게 할당해줘야하니까 남겨놓도록 하겠습니다.
원하는 만큼 서버 늘리면 CPU에 부하를 늘릴 수가 있기는 합니다만.. 그렇게까지 할 필요는 없다 생각이 들어 이정도까지만 했습니다.
여하튼 각설하고..
좋은 프로그램 알려주셔서 감사합니다.
이제 집이 더워질 일만 남았군요.
배치파일을 어떻게 다루는지도 공부해봐야겠습니다.
오늘 밤은 이거 맛보기로 밤을 불태우도록 해야겠네요.