编解码可以软编实现(CPU),或者硬编(GPU),当然还可以使用专用的编解码卡(IC),他们各有优点,但是基于硬件的处理往往速度更快。但是也有人说软编有更大的可调节性。这里我们只记录硬编的硬件支持情况,尤其是软编效率没有上来的情况下这显得尤其重要。
废话不多说,先上intel GPU QSV硬编解情况:
摘自:https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video#Hardware_decoding_and_encoding
ffmpeg qsv使用方法:https://trac.ffmpeg.org/ticket/5899
重点:
CQ:
./ffmpeg_g -y -i in.mp4 -an -c:v hevc_qsv -load_plugin hevc_hw -q 30 out.mp4
CBR:
./ffmpeg_g -y -i in.mp4 -an -c:v hevc_qsv -load_plugin hevc_hw -b 5M -maxrate 5M out.mp4
注意:hevc_qsv只输出IB帧,无P帧。我反复尝试了N次后依然如此,尤其是其中有个-r 1(no B frames)给人无B帧的希望
。有段Intel人员给的解释如下:
Sorry for a delayed response. Media SDK HW HEVC encoder uses Low Delay B-frames (LDB) or Generalized P/B (GPB) instead of P-frames. So, instead of encode P-frame with L0, Media SDK encodes LDB or GPB with the same L0 and L1. That's why you see just such LDB or GPB frame where both the L0 and L1 lists have the same I frame for reference and no P-frames.
出处:https://software.intel.com/en-us/forums/intel-media-sdk/topic/623600nvidia nvenc:
摘自:https://developer.nvidia.com/nvidia-video-codec-sdk#NVENCFeatures
https://developer.nvidia.com/video-encode-decode-gpu-support-matrix#Encoder
本文介绍了使用Intel Quick Sync Video (QSV) 和 Nvidia NVENC进行硬件加速的视频编解码实践。通过ffmpeg命令行工具实现了不同场景下的视频转码,如恒定质量(CQ)模式和恒定比特率(CBR)模式。特别提到了Intel QSV在HEVC编码时的特殊行为及其背后的原理。
9876

被折叠的 条评论
为什么被折叠?



