인코딩 속도에 영향을 많이 미치는 부품이 순서대로 따지면 뭐가 있을까요?
인코딩은 X264.exe라는 오픈소스 인코더를 그냥 Command 상에서 사용합니다.
다량 인코딩 할 일이 많은데, I7 920에서 돌렸을 때와 I3 가장 낮은 거에서 돌렸을 때 초당 프레임 처리 수가
거의 2배 가까이 나서 궁금해졌습니다.
인코딩 소스는 MP4인데, 좀 특이한 장비에서 추출받는 거라 범용적인 MP4가 아닙니다.
어지간한 통합코덱 설치해서는 보지도 못하고,
통합코덱 중에 화면 보여주고 소리 정도 들려주는 게 있긴 한데,
화면이 제대로 돌아가질 못하고 다 움직이는 부분은 뭉그러집니다.
그래서 인코딩을 해야하는데...
제가 생각하기에는 일단 CPU가 가장 영향을 미치는 거 같고
HDD 성능은 별반 중요하지 않은 거 같습니다.
그럴만도 한 것이 I7 920에서 SCSI 320에도 돌려보고 SATA2에서도 돌려보고 했는데,
뭐 그러나 저러나 20FPS 밖에 처리 못합니다. ㅡ_ㅡ;
아마 HDD 대역폭은 10%도 사용 못할 거 같습니다.
두 컴 모두 32bit Vista라 램은 4GB까지만 인식되고 한대는 6GB 트리플 채널, 한대는 4GB 듀얼 채널인데,
메인메모리 채널 대역폭에서 좀 갈릴 거 같기도 한데, CPU 좀 더 큰 거 같습니다.
혹시 X264.exe 사용하시는 분 중에 멀티쓰레딩 지원되는 지 아시는 분 계실까요?
I7은 쿼드코어라 8개 Thread까지 동시에 돌릴 수 있는데,
X264.exe를 여러 개 띄워서 한꺼번에 처리하려고 해도 마찬가집니다.
X264.exe로 인코딩 시작하면 작업관리자 화면에서 CPU8개 모두 100%칩니다.
여러 개 띄워도 다 합쳐보면 20FPS 정도 됩니다.
이걸 인코딩 속도를 좀 높여보고 싶은데,
어떤 조합이 인코딩에 결정적인 영향을 미칠까요?
아시는 분들 답변 부탁드립니다.
x264.exe를 사용하면 쓰레드 8개가 다 100%가 되는데
인코딩 속도를 높이고 싶으시다는게 맞나요.?
그렇다면 코어가 12개짜리나 아니면 12코어 듀얼을 사용하시거나 그러는
방법이 있습니다. x264.exe가 스레드가 8개가 다 100%된다는 거는 멀티쓰레딩이
지원되는거 아닌가요.?
좀 이상해서 말입니다.
오픈소스 인코더인데, 그렇게 만들었을까 싶기도 해서 말이죠. ^^;
여기 threads.txt라는 문서를 보시면 참조정도는 되실듯 하네요...
영어가 짧아서 검색에 한계를 느끼는데,
궁금한 게 풀렸습니다.
밑에 부분에 Thread에 따른 인코딩 속도 배수가 나오네요.
그나저나 결국 코어 수가 늘어나야겠네요.
흠... 견적이 너무 올라가버려서 참 고민이 됩니다.
쿼드코어와 헥사코어 가격 차이가 너무 심합니다.
멀티 CPU도 꿈꾸기 어려운 상황인데, 참 난감합니다.