5950x 사용중입니다.16코어 32쓰레드입니다.
몇쓰레드까지 지원하는지 궁금합니다.
hevc 소프트웨어 인코딩을 주로 사용합니다만 속도는 크게 변화가 없네요 ㅠㅠ 플라시보에서 속도 엄청 느리네요
압축률과 속도 개선 이루어졌으면 합니다.
5950x 사용중입니다.16코어 32쓰레드입니다.
몇쓰레드까지 지원하는지 궁금합니다.
hevc 소프트웨어 인코딩을 주로 사용합니다만 속도는 크게 변화가 없네요 ㅠㅠ 플라시보에서 속도 엄청 느리네요
압축률과 속도 개선 이루어졌으면 합니다.
HEVC 소프트웨어라고 하셨으니 코덱은 x265인데
이게 옵션 별로, 그리고 인코딩하는 해상도 별로 조금씩 다릅니다.
x265는 Coding Tree Unit(CTU)이란 기본 블록 단위로 인코딩을 하는데
이 CTU의 크기에 따라, 또 동영상의 해상도(정확히는 세로축 픽셀수)에 따라 활용할 수 있는 최대 스레드 수가 결정이 됩니다.
placebo 옵션을 사용한다고 하셨으니 CTU의 크기는 64일테고 x265는 병렬 처리 시, 가로줄 단위로 병렬 처리를 합니다.
CTU=64, 1080p 기준으로 프레임 하나의 가로줄 갯수는 1080/64 = 16.875 약 17개가 됩니다.
즉, 하나의 프레임을 병렬 처리할 때 최대로 활용 가능한 스레드 개수는 많아봤자 17개 정도밖에 되지 않습니다.
차선책으로 lookahead-slice나 frame-threads 값을 올려서 병렬 처리 성능을 높이는 방법도 있습니다만 어느 정도 한계가 있습니다.
(둘 다 값을 너무 많이 올려버리면 동일 용량 대비 화질이 떨어지고 오히려 속도가 더 느려질 수도 있습니다)
그리고 placebo 옵션은 너무 과한 것 같으니 slow나 slower 정도 써보시는 걸 추천드립니다.
또 만약에 인코딩하는 동영상의 해상도가 1080p라면 CTU 크기를 64에서 32로 낮추는 것을 추천드립니다.
x265 코덱 자체가 기본적으로 4K 이상급의 해상도를 위해 만들어진 코덱이기 때문에 1080p에서 CTU 크기를 64까지 사용할 필요는 없다고 생각합니다.
이렇게 하면 한 프레임당 1080/32 = 33.75 약 34개의 가로줄이 생기는 셈이니 현재 시스템인 5950x의 모든 스레드를 활용할 수 있습니다.
(F8 키 눌러서 매개변수 화면 진입 -> 인코딩 설정에서 -c:v libx265 뒤에 -x265-params ctu=32:max-tu-size=16 입력 후 프리셋 저장)
https://shana.pe.kr/shanaencoder_board/83920
https://shana.pe.kr/shanaencoder_board/81039
https://shana.pe.kr/shanaencoder_board/81624
https://shana.pe.kr/shanaencoder_board/45475
검색 먼저 하세요 ^^