tkm
조회 수 1484 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

환경설정-멀티스레드 에서

디코딩은  -threads 1 -thread_type frame

인코딩은  -threads 1

입력을 했습니다

그래도 cpu전체를 사용합니다.

스레드 하나만 해서 인코딩 테스트를 해보고 싶은데

버전은 5.3.1.1

윈도우 10 이며

파일형식은 mkv에 hevc 입니다

i5 1135g7에서 실행했습니다.

 

Facebook Twitter Pinterest Kakao
  • ?
    JKyle 2022.07.11 12:37

    FFmpeg 매뉴얼에 의하면

    threads integer (decoding/encoding,video)

    Set the number of threads to be used, in case the selected codec implementation supports multi-threading.

    Possible values:

    auto, 0

    automatically select the number of threads to set

    Default value is ‘auto’.

    코덱에 따라 적용이 달라지는 옵션입니다. 근데 이게 구체적으로 어떻게 작동하는지는 소스코드를 봐야 파악할 수 있을 듯합니다.

    x265의 경우를 봐도 이것저것 어려운 내용들이 참 많은데 이게 FFmpeg에서 threads라는 일반 옵션에는 어떻게 반영되는지는 개발자가 아니라면 알 수 없단 말이죠.

    매뉴얼이 부실한 x264나 다른 인코더는 말할 것도 없죠.

     

    직접 해보신 결과가 그렇다면 해당 인코더(x265일 듯)에 적용할 때 하드웨어를 직접적으로 제어하지 않나 봅니다. 그냥 비디오 스레드 하나를 여러 코어에서 처리하는 식인 듯. 아니면 뭔가 또다른 x265 고유 옵션을 추가해야 한다든가...

     

    불평 좀 하자면, FFmpeg 매뉴얼은 굉장히 불친절해서 잘 모르겠으면 맨땅에 헤딩해야 하는 경우가 많습니다.

     

    원하시는 게 굉장히 독특해서 비슷한 것도 본 적이 없네요. 본인도 찾아보시다가 해답을 발견하면 알려주시죠. 그리고 혹시 아시는 분 있으면 알려주시면 좋겠네요.