핸드 브레이크를 사용하여 컴퓨터에서 h264 인코딩 속도를 높일 수있는 더 나은 그래픽 카드가 있는지 궁금합니다.
그렇다면 어떤 그래픽 카드를 지원하는지 어떻게 알 수 있습니까?
GPU가 h264의 하드웨어 디코딩을 수행 할 수 있지만 인코딩에 대해서는 잘 모르겠습니다.
핸드 브레이크를 사용하여 컴퓨터에서 h264 인코딩 속도를 높일 수있는 더 나은 그래픽 카드가 있는지 궁금합니다.
그렇다면 어떤 그래픽 카드를 지원하는지 어떻게 알 수 있습니까?
GPU가 h264의 하드웨어 디코딩을 수행 할 수 있지만 인코딩에 대해서는 잘 모르겠습니다.
답변:
수동 브레이크를 사용하면 대답은 '아니오'입니다. 핸드 브레이크는 CPU 전용 h.264 인코더이지만 비디오 스케일링에는 OpenCL을 사용할 수 있으며 비디오 디코딩에는 DXVA를 일부 지원합니다.
slhck에 의해 연결된 질문은 MediaCoder을 언급 하지만 Nvidia 그래픽 카드 또는 2 세대 그래픽 코어가있는 Intel CPU가 필요합니다.
더 이상 사용되지 않는 구형 제품, 특히 Badaboom 및 ATi Avivo 소프트웨어가 있습니다.
Nvidia 및 Intel 그래픽 프로세서를 사용하여 인코딩 프로세스 속도를 높일 수는 있지만 수명이 다해 새로운 그래픽 카드를 지원하지 않는 Badaboom .
ATi는 더 이상 사용할 수 없지만 AMD 비디오 변환기가 포함 된 AMD 코덱 패키지에 병합되기 전에 "Avivo"라고하는 자체 비디오 인코더를 가지고있었습니다.
https://trac.ffmpeg.org/wiki/HWAccelIntro
FFmpeg는 하드웨어 가속을위한 서브 시스템을 제공합니다.
하드웨어 가속을 통해 특정 장치 (일반적으로 그래픽 카드> 또는 다른 특정 장치)를 사용하여 멀티미디어 처리를 수행 할 수 있습니다. 이를 통해 전용 하드웨어를 사용하여 까다로운 계산을 수행하는 동시에 CPU에서 이러한 계산을 해제 할 수 있습니다. 일반적으로 하드웨어 가속을 사용하면 특정 하드웨어 장치 (일반적으로 GPU)가 비디오 스트림 디코딩 및 인코딩 또는 비디오 필터링과 관련된 작업을 수행 할 수 있습니다.
FFmpeg 도구를 사용할 때
-hwaccel
옵션 을 통해 HW 지원 디코딩이 활성화 되어 특정 디코더 가 활성화됩니다 . 각각의 디코더는 특정한 제한을 가질 수있다 (예를 들어, H.264 디코더는베이스 라인 프로파일만을 지원할 수있다). HW 지원 인코딩은 특정 인코더 (예 : nvenc_h264)를 사용하여 활성화됩니다. 필터링 HW 지원 처리는 일부 필터에서만 지원되며이 경우 필터 옵션을 통해 OpenCL 코드를 활성화합니다.몇 가지 하드웨어 가속 표준 API가 있으며 그중 일부는 FFmpeg에 의해 어느 정도 지원됩니다.
"-hwaccel auto"옵션을 사용하면 인코딩 세션에 사용할 하드웨어 기반 가속 디코딩을 선택할 수 있습니다. 입력 전에이 매개 변수를 "auto"로 추가 할 수 있습니다 (x264가 OpenCL 지원으로 컴파일 된 경우 -x264opts 매개 변수를 추가 할 수 있습니다).
ffmpeg -hwaccel auto -i input -vcodec libx264 -x264opts opencl output
죄송합니다. "-hwaccel"에 사용할 수있는 모든 옵션을 나열하는 방법을 기억할 수 없습니다.
또한 이것을 시도 할 수 있습니다 : https://wiki.archlinux.org/index.php/Hardware_video_acceleration
현재 핸드 브레이크는 다음과 같은 H.264 / AVC 용 하드웨어 가속 인코더를 지원합니다.
Intel QuickSync (Windows 및 Linux). 이 기능은 통합 그래픽을 활성화하고 운영 체제에 노출 된 최소한 Intel 기반 Sandybridge (2 세대 코어) 시리즈 프로세서 라인과 호환됩니다. 허용 가능한 인코딩 품질을위한 권장 하드웨어 : Haswell (4 세대 코어 시리즈) 이상에서는 성능이 매우 뛰어난 미세한 대상 수준 (TU), 미리보기 기능 ( LA-BRC 및 ICQ 인코딩 모드 등)의 개념을 도입했습니다 . 핸드 브레이크 설명서의 사용 안내서를 참조 하십시오 .
NVIDIA의 NVENC :이를 위해서는 고성능 소비자 SKU (GTX 시리즈) 및 전문 라인업 (케플러 이상을 기반으로 한 Quaadro 및 Tesla GPU) 이상의 NVIDIA Kepler (GK +) 시리즈 GPU 이상이 필요합니다 . 이것은 Windows와 Linux 모두에서 사용할 수 있습니다.
NVENC를 사용하면 소비자 SKU에서 최대 2 개의 동시 인코딩 세션으로 인위적으로 제한되는 반면, 프로페셔널 라인업은 이에 영향을받지 않습니다. 특정 인코더 기능에 대한 참조는 GPU 매트릭스를 참조하십시오 . 최상의 인코더 성능과 품질을 얻으려면 최신 Pascal 및 Volta GPU 반복을 따르십시오 .
선택적으로 :
애플의 지원에 관한 한, 이것은 임시적 이다. 핸드 브레이크의 범위를 넘어 구현 된 VideoToolBox API도 매우 제한된 컨트롤 세트를 가지고있는 것 같습니다. 핸드 브레이크가이를 업스트림으로 채택하더라도 품질 유지 및 처리량 측면에서 기적을 기대하지 마십시오.
현재와 같이 플랫폼에서 최신 인코더 기능을 사용하려면 최신 야간 빌드를 사용해야 할 수도 있습니다. 이것은 확실히 미래에 바뀔 것입니다.