이 문서에서 nvidia NVENC에 대한 지원을 보았지만 조금씩 혼란스러워 보입니까? 또는 우분투에 대한 ffmpeg-nvenc의 PPA?
이 문서에서 nvidia NVENC에 대한 지원을 보았지만 조금씩 혼란스러워 보입니까? 또는 우분투에 대한 ffmpeg-nvenc의 PPA?
답변:
항상 FFmpeg를 사용하여 개발을 계속하면 목표가 여러 번 바뀌고 nvenc 및 FFmpeg의 경우에도 마찬가지입니다. 3 단계가 있습니다 :
두 단계가 필요합니다.
1. nv-codec-headers 패키지를 설치하십시오 :
다음과 같은 터미널 명령으로 충분합니다.
sudo apt-get install make git
mkdir $HOME/nv-codec-headers_build && cd $HOME/nv-codec-headers_build
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make && sudo make install
어떤 이유로 든 마음이 바뀌어 빌드 디렉토리뿐만 아니라 설치된 파일 을 완전히 제거 하려면 다음 두 터미널 명령을 실행하십시오.
sudo rm -v /usr/local/{lib/pkgconfig/ffnvcodec.pc,include/ffnvcodec/*.h}
rm -rfv $HOME/nv-codec-headers_build
그리고 당신의 시스템은 청소되었습니다. 그러나 계속하려면 다음 단계를 수행하십시오.
2. FFmpeg 컴파일 :
잘 테스트 된이 안내서를 사용하십시오.
가 nv-codec-headers
됩니다 자동으로 인식 (여분의 ./configure
옵션이 필요하지 않습니다) 및 nvenc이 성공적으로 구축 될 것이다.
테스트 :
Bionic Beaver LTS에서 이것을 테스트했으며 결과는 다음과 같습니다.
andrew@ilium:~$ ffmpeg -encoders 2>/dev/null | grep nvenc
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc)
V..... hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
andrew@ilium:~$
위와 비슷한 그림이 표시 되고 지원되는 그래픽 카드 가 있으면 바로 갈 수 있습니다. :)
노트:
@ andrew.46 귀하의 응답이 훌륭합니다, 감사합니다. 이것을 평판으로 올리려면 저의 평판이 임계 값보다 낮습니다. 가능하면 다음 정보를 사용하여 답변을 확장하십시오.
이전 버전으로 되돌리려면 https://github.com/FFmpeg/nv-codec-headers/releasesnv-codec-headers
에서 이전 릴리스를 다운로드하여 컴파일 하십시오 .
ffmpeg
최신 버전으로 컴파일하는 경우 필요할 수 nv-codec-headers
있지만 그래픽 드라이버가 아직 필요한 최소 CUDA API 버전을 처리하지 않는 버전입니다 nv-codec-headers
. ffmpeg
비디오 스트림 트랜스 코딩에 실패 하는 증상이 나타 납니다. 필자의 경우 nv-codec-headers
CUDA API 9.1이 필요 nvidia-driver
했지만 배포 (테스트) 의 최신 버전은 여전히 9.0을 사용하는 버전이었습니다.
이전 버전으로 되 돌리는 것이 nv-codec-headers
Nvidia에서 최신 드라이버를 직접 다운로드하여 배포판의 업데이트 메커니즘 외부에 구축하는 것보다 안전합니다.