ฉันเห็นการสนับสนุน nvidia NVENC ในเอกสารนี้ แต่ดูเหมือนว่าสับสนบ้างทีละขั้นตอน? หรือ PPA กับ ffmpeg-nvenc สำหรับ Ubuntu หรือไม่
ฉันเห็นการสนับสนุน nvidia NVENC ในเอกสารนี้ แต่ดูเหมือนว่าสับสนบ้างทีละขั้นตอน? หรือ PPA กับ ffmpeg-nvenc สำหรับ Ubuntu หรือไม่
คำตอบ:
เช่นเดียวกับ FFmpeg การพัฒนาอย่างต่อเนื่องจะทำให้การโพสต์เป้าหมายหลายครั้งและนี่ก็เป็นจริงของ nvenc และ FFmpeg มี 3 ขั้นตอน:
ต้องการสองขั้นตอน:
1. ติดตั้งแพคเกจ nv-codec-headers :
คำสั่ง Terminal ต่อไปนี้น่าจะพอเพียง:
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
ถ้าด้วยเหตุผลบางอย่างคุณเปลี่ยนใจและต้องการลบไฟล์ที่ติดตั้งไว้อย่างสมบูรณ์รวมทั้งไดเรกทอรีการสร้างก็แค่รันคำสั่ง Terminal สองคำสั่งต่อไปนี้:
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 คำตอบของคุณดีมากขอบคุณ ชื่อเสียงของฉันต่ำกว่าเกณฑ์ที่จะโพสต์สิ่งนี้เป็นความคิดเห็น หากเป็นไปได้โปรดขยายการตอบกลับของคุณด้วยข้อมูลต่อไปนี้
หากคุณจำเป็นต้องกลับไปใช้รุ่นก่อนหน้าnv-codec-headers
ดาวน์โหลดและรวบรวมรุ่นก่อนหน้าจากhttps://github.com/FFmpeg/nv-codec-headers/releases
นี้อาจจะเป็นสิ่งที่จำเป็นถ้าคุณรวบรวม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 และสร้างขึ้นนอกการอัพเดทกลไกการกระจายของคุณ