Tôi thấy hỗ trợ cho nvidia NVENC trong tài liệu này, nhưng có vẻ khó hiểu, một số bước từng bước? hoặc PPA với ffmpeg-nvenc cho ubfox?
Tôi thấy hỗ trợ cho nvidia NVENC trong tài liệu này, nhưng có vẻ khó hiểu, một số bước từng bước? hoặc PPA với ffmpeg-nvenc cho ubfox?
Câu trả lời:
Như mọi khi với FFmpeg tiếp tục phát triển thay đổi mục tiêu bài viết nhiều lần và điều này chắc chắn đúng với nvenc và FFmpeg. Đã có 3 giai đoạn:
Cần hai bước:
1. Cài đặt gói tiêu đề nv-codec :
Một cái gì đó giống như các lệnh Terminal sau đây đủ:
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
Nếu vì lý do nào đó, bạn thay đổi ý định và muốn xóa hoàn toàn các tệp đã cài đặt cũng như thư mục bản dựng chỉ cần chạy hai lệnh Terminal sau:
sudo rm -v /usr/local/{lib/pkgconfig/ffnvcodec.pc,include/ffnvcodec/*.h}
rm -rfv $HOME/nv-codec-headers_build
Và hệ thống của bạn đã được làm sạch. Tuy nhiên, nếu bạn muốn tiếp tục sử dụng bước sau:
2. Biên dịch FFmpeg :
Sử dụng hướng dẫn được thử nghiệm rất tốt này:
Các nv-codec-headers
sẽ Automagically công nhận (không phải trả thêm ./configure
tùy chọn là cần thiết) và nvenc sẽ được xây dựng thành công.
Kiểm tra:
Tôi đã thử nghiệm điều này trên Bionic Beaver LTS và kết quả là:
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:~$
Và nếu bạn thấy một bức tranh tương tự như trên, và bạn có một card đồ họa được hỗ trợ , bạn có quyền đi :)
Ghi chú:
@ andrew.46 phản hồi của bạn rất tuyệt, cảm ơn bạn. Danh tiếng của tôi là dưới ngưỡng để đăng bài này như một bình luận. Nếu có thể, vui lòng mở rộng phản hồi của bạn với các thông tin sau.
Nếu bạn cần hoàn nguyên về phiên bản cũ hơn nv-codec-headers
, hãy tải xuống và biên dịch bản phát hành trước đó từ https://github.com/FFmpeg/nv-codec-headers/release .
Điều này có thể cần thiết nếu bạn biên dịch theo ffmpeg
phiên bản mới nhất nv-codec-headers
, nhưng trình điều khiển đồ họa của bạn là phiên bản chưa xử lý phiên bản API CUDA tối thiểu được yêu cầu nv-codec-headers
. Các triệu chứng sẽ là ffmpeg
thất bại chuyển mã luồng video. Trong trường hợp của tôi nv-codec-headers
yêu cầu CUDA API 9.1, trong khi mới nhấtnvidia-driver
cho phân phối (thử nghiệm) của tôi vẫn ở phiên bản sử dụng 9.0.
Quay trở lại sớm hơn nv-codec-headers
có lẽ an toàn hơn so với tải xuống trình điều khiển mới nhất trực tiếp từ Nvidia và xây dựng nó bên ngoài cơ chế cập nhật phân phối của bạn.