Cum să folosești formatul NV12 în FFmpeg
DodaTech
Updated 2025-01-15
1 min read
In this tutorial, you'll learn about Cum să folosești formatul NV12 în FFmpeg. We cover key concepts, practical examples, and best practices.
Problema
NV12 este un format de pixeli utilizat frecvent de API-urile hardware (DirectX, Vulkan, VAAPI). Când procesezi video provenit de la accelerare hardware sau destinație hardware, folosirea formatului greșit cauzează erori de memorie sau conversii ineficiente.
Soluția
Fix 1: Conversie la NV12 pentru hardware
ffmpeg -i input.mp4 -c:v h264_nvenc -pix_fmt nv12 output.mp4
NV12 este formatul standard al encoderelor hardware NVIDIA și AMD.
Fix 2: Verifică formatul curent
ffprobe -v error -select_streams v:0 -show_entries stream=pix_fmt input.mp4
Fix 3: Forțează NV12 în filter chain
ffmpeg -i input.mp4 -vf "scale=1920:1080,format=nv12" -c:v h264_amf output.mp4
Fix 4: Decodare HW cu ieșire NV12
ffmpeg -hwaccel cuda -hwaccel_output_format nv12 -i input.mp4 -c:v h264_nvenc output.mp4
Prevenție
- NV12 și yuv420p sunt echivalente din punct de vedere al informației, dar NV12 are aranjament diferit în memorie.
- Folosește întotdeauna NV12 pentru encoding hardware (NVENC, AMF, QSV).
- Pentru encoding software, yuv420p e mai potrivit.
Întrebări frecvente
← Previous
Cum să folosești format video pe 10 biți în FFmpeg
Next →
Cum să folosești formatul P010 pe 10 biți în FFmpeg
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro